added tables in textTabelImage
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/reports@71278 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
f159ee4eaa
commit
f4bd79b592
|
@ -229,7 +229,7 @@ public class TemplateComponent {
|
|||
break;
|
||||
case FLEX_TABLE:
|
||||
Table st = (Table) sc.getPossibleContent();
|
||||
GenericTable table = new GenericTable(st, presenter, sc.getX(), sc.getY(), TemplateModel.TEMPLATE_WIDTH - 50, 200, sc.isLocked());
|
||||
GenericTable table = new GenericTable(st, presenter, sc.getX(), sc.getY(), TemplateModel.TEMPLATE_WIDTH - 50, 200, sc.isLocked(), showClose, owner);
|
||||
this.content = table;
|
||||
break;
|
||||
case ATTRIBUTE_MULTI:
|
||||
|
|
|
@ -13,6 +13,7 @@ import com.extjs.gxt.ui.client.event.MessageBoxEvent;
|
|||
import com.extjs.gxt.ui.client.widget.Info;
|
||||
import com.extjs.gxt.ui.client.widget.MessageBox;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.event.dom.client.MouseOutEvent;
|
||||
|
@ -59,13 +60,17 @@ public class GenericTable extends Composite {
|
|||
private Button colMerger = new Button("Merge Selected");
|
||||
private Button cancel = new Button("Cancel");
|
||||
|
||||
private Button resetTabelB = new Button("Reset Table");
|
||||
private Button removeB = new Button("Remove Table");
|
||||
|
||||
private Button resetTabelB = new Button("Reset");
|
||||
|
||||
private Button addRowB = new Button("Add Row");
|
||||
private Button addColB = new Button("Add Col");
|
||||
private Button deleteRowB = new Button("Del. Row");
|
||||
private Button deleteColB = new Button("Del. Col");
|
||||
|
||||
|
||||
|
||||
private TextBox titleTB = new TextBox();
|
||||
private TextBox descTB = new TextBox();
|
||||
|
||||
|
@ -81,7 +86,7 @@ public class GenericTable extends Composite {
|
|||
* constructor called when reading the model
|
||||
* @param sTable
|
||||
*/
|
||||
public GenericTable(Table sTable, Presenter presenter, int top, int left, int width, int height, boolean isLocked) {
|
||||
public GenericTable(Table sTable, Presenter presenter, int top, int left, int width, int height, boolean isLocked, boolean isRemovable, TextTableImage owner) {
|
||||
saveTable(sTable);
|
||||
commonConstructorCode(presenter);
|
||||
this.rows = sTable.getRowCount();
|
||||
|
@ -107,7 +112,7 @@ public class GenericTable extends Composite {
|
|||
}
|
||||
}
|
||||
|
||||
HorizontalPanel controlPanel = getControlPanel();
|
||||
HorizontalPanel controlPanel = getControlPanel(isRemovable, owner);
|
||||
VerticalPanel attributesPanel = getAttributesPanel(sTable);
|
||||
attributesPanel.setStyleName("tableAttributesPanel");
|
||||
|
||||
|
@ -126,6 +131,11 @@ public class GenericTable extends Composite {
|
|||
b.addStyleName("tableButton");
|
||||
}
|
||||
}
|
||||
if (isRemovable) {
|
||||
removeB.removeStyleName("tableButton");
|
||||
removeB.addStyleName("deleteEntryButton");
|
||||
removeB.getElement().getStyle().setMarginRight(10, Unit.PX);
|
||||
}
|
||||
|
||||
focusPanel.add(myPanel);
|
||||
initWidget(focusPanel);
|
||||
|
@ -196,11 +206,12 @@ public class GenericTable extends Composite {
|
|||
return toReturn;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private HorizontalPanel getControlPanel() {
|
||||
private HorizontalPanel getControlPanel(boolean isRemovable, final TextTableImage owner) {
|
||||
final HorizontalPanel toReturn = new HorizontalPanel();
|
||||
|
||||
final Listener<MessageBoxEvent> l = new Listener<MessageBoxEvent>() {
|
||||
|
@ -209,6 +220,16 @@ public class GenericTable extends Composite {
|
|||
}
|
||||
};
|
||||
|
||||
removeB.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (owner != null) {
|
||||
remove(owner);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
resetTabelB.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
@ -261,6 +282,8 @@ public class GenericTable extends Composite {
|
|||
}
|
||||
});
|
||||
|
||||
if (isRemovable)
|
||||
toReturn.add(removeB);
|
||||
//the control buttons
|
||||
toReturn.add(resetTabelB);
|
||||
toReturn.add(addRowB);
|
||||
|
@ -626,4 +649,12 @@ public class GenericTable extends Composite {
|
|||
cols = originalTable.getColsNo();
|
||||
rows = originalTable.getRowCount();
|
||||
}
|
||||
/**
|
||||
* heleper method that removes a table from the texxTableImage widget
|
||||
* @param owner
|
||||
*/
|
||||
private void remove(TextTableImage owner) {
|
||||
owner.removeFromParent(this);
|
||||
removeFromParent();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,18 +5,22 @@ import java.util.ArrayList;
|
|||
import org.gcube.portlets.d4sreporting.common.shared.BasicComponent;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.ComponentType;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.RepeatableSequence;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.Table;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.TableCell;
|
||||
import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter;
|
||||
import org.gcube.portlets.user.reportgenerator.client.model.TemplateComponent;
|
||||
import org.gcube.portlets.user.reportgenerator.client.model.TemplateModel;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.FocusPanel;
|
||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
/**
|
||||
*
|
||||
* @author Massimiliano Assante ISTI-CNR
|
||||
|
@ -43,6 +47,7 @@ public class TextTableImage extends Composite {
|
|||
*/
|
||||
public TextTableImage(Presenter presenter, boolean isFromTemplate) {
|
||||
this.presenter = presenter;
|
||||
focusPanel.setStyleName("imageTableTextDelimiter");
|
||||
mainPanel.setStyleName("imageTableTextPanel");
|
||||
controlPanel = getControlPanel();
|
||||
controlPanel.setStyleName("imageTableTextControlPanel");
|
||||
|
@ -75,6 +80,7 @@ public class TextTableImage extends Composite {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void add(TemplateComponent toAdd) {
|
||||
addedComponents.add(toAdd);
|
||||
GWT.log("ToAdd= getType " + toAdd.getType());
|
||||
|
@ -91,7 +97,33 @@ public class TextTableImage extends Composite {
|
|||
}
|
||||
|
||||
private void addNewTable() {
|
||||
Table st = getSerializableTable();
|
||||
GenericTable table = new GenericTable(st, presenter, 0, 0, TemplateModel.TEMPLATE_WIDTH - 50, GenericTable.DEFAULT_HEIGHT, false, true, this);
|
||||
TemplateComponent toAdd = new TemplateComponent(presenter.getModel(), 0, 0, DEFAULT_WIDTH, GenericTable.DEFAULT_HEIGHT,
|
||||
presenter.getModel().getCurrentPage(), ComponentType.FLEX_TABLE, "", table);
|
||||
add(toAdd);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private Table getSerializableTable() {
|
||||
Table toReturn = new Table(GenericTable.DEFAULT_COLS_NUM);
|
||||
for (int i = 0; i < GenericTable.DEFAULT_ROWS_NUM; i++) {
|
||||
toReturn.addRow(getRow(i));
|
||||
}
|
||||
|
||||
return toReturn;
|
||||
}
|
||||
|
||||
private ArrayList<TableCell> getRow(int i) {
|
||||
ArrayList<TableCell> toReturn = new ArrayList<TableCell>();
|
||||
int cellWidth = (DEFAULT_WIDTH) / GenericTable.DEFAULT_COLS_NUM;
|
||||
for (int j = 0; j <2; j++) {
|
||||
toReturn.add(new TableCell("", 1, cellWidth, 25));
|
||||
}
|
||||
return toReturn;
|
||||
}
|
||||
/**
|
||||
*
|
||||
|
@ -117,6 +149,7 @@ public class TextTableImage extends Composite {
|
|||
addTableB.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
addNewTable();
|
||||
}
|
||||
});
|
||||
toReturn.setSpacing(3);
|
||||
|
@ -130,7 +163,8 @@ public class TextTableImage extends Composite {
|
|||
for (int i = 0; i < toReturn.getWidgetCount(); i++) {
|
||||
if (toReturn.getWidget(i) instanceof Button) {
|
||||
Button b = (Button) toReturn.getWidget(i);
|
||||
b.addStyleName("tableButton");
|
||||
b.addStyleName("addEntryButton");
|
||||
b.getElement().getStyle().setMarginRight(10, Unit.PX);
|
||||
}
|
||||
}
|
||||
return toReturn;
|
||||
|
@ -140,11 +174,18 @@ public class TextTableImage extends Composite {
|
|||
return addedComponents;
|
||||
}
|
||||
|
||||
public void removeFromParent(D4sRichTextarea d4sRichTextarea) {
|
||||
public void removeFromParent(Widget w) {
|
||||
for (TemplateComponent tc : addedComponents) {
|
||||
if (tc.getType() == ComponentType.BODY) {
|
||||
D4sRichTextarea toCheck = (D4sRichTextarea) tc.getContent();
|
||||
if (toCheck.equals(d4sRichTextarea)) {
|
||||
if (toCheck.equals(w)) {
|
||||
addedComponents.remove(tc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (tc.getType() == ComponentType.FLEX_TABLE) {
|
||||
GenericTable toCheck = (GenericTable) tc.getContent();
|
||||
if (toCheck.equals(w)) {
|
||||
addedComponents.remove(tc);
|
||||
break;
|
||||
}
|
||||
|
|
Reference in New Issue