Add Fix Information on CardLayoutContainer
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-expression-widget@93031 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
f449a97903
commit
b17f8feb03
|
@ -350,3 +350,67 @@ Compiling...
|
|||
Compilation completed in 0.00 seconds
|
||||
Removing invalidated units
|
||||
Finding entry point classes
|
||||
Public resources found in...
|
||||
Translatable source found in...
|
||||
Found 0 cached/archived units. Used 0 / 2719 units from cache.
|
||||
Compiling...
|
||||
30% complete (ETR: 8 seconds)
|
||||
30% complete (ETR: 8 seconds)
|
||||
30% complete (ETR: 8 seconds)
|
||||
30% complete (ETR: 8 seconds)
|
||||
40% complete (ETR: 8 seconds)
|
||||
50% complete (ETR: 6 seconds)
|
||||
60% complete (ETR: 5 seconds)
|
||||
70% complete (ETR: 3 seconds)
|
||||
80% complete (ETR: 2 seconds)
|
||||
90% complete (ETR: 1 seconds)
|
||||
100% complete (ETR: 0 seconds)
|
||||
Compilation completed in 12.16 seconds
|
||||
Removing invalidated units
|
||||
Finding entry point classes
|
||||
Public resources found in...
|
||||
Translatable source found in...
|
||||
Found 2719 cached/archived units. Used 2719 / 2719 units from cache.
|
||||
Compiling...
|
||||
Compilation completed in 0.00 seconds
|
||||
Removing invalidated units
|
||||
Finding entry point classes
|
||||
Public resources found in...
|
||||
Translatable source found in...
|
||||
Found 2719 cached/archived units. Used 2719 / 2719 units from cache.
|
||||
Compiling...
|
||||
Compilation completed in 0.00 seconds
|
||||
Removing invalidated units
|
||||
Finding entry point classes
|
||||
Public resources found in...
|
||||
Translatable source found in...
|
||||
Found 0 cached/archived units. Used 0 / 2719 units from cache.
|
||||
Compiling...
|
||||
40% complete (ETR: 5 seconds)
|
||||
40% complete (ETR: 5 seconds)
|
||||
40% complete (ETR: 5 seconds)
|
||||
40% complete (ETR: 5 seconds)
|
||||
40% complete (ETR: 5 seconds)
|
||||
50% complete (ETR: 5 seconds)
|
||||
60% complete (ETR: 4 seconds)
|
||||
70% complete (ETR: 3 seconds)
|
||||
80% complete (ETR: 2 seconds)
|
||||
90% complete (ETR: 1 seconds)
|
||||
100% complete (ETR: 0 seconds)
|
||||
Compilation completed in 13.88 seconds
|
||||
Removing invalidated units
|
||||
Finding entry point classes
|
||||
Public resources found in...
|
||||
Translatable source found in...
|
||||
Found 2719 cached/archived units. Used 2719 / 2719 units from cache.
|
||||
Compiling...
|
||||
Compilation completed in 0.00 seconds
|
||||
Removing invalidated units
|
||||
Finding entry point classes
|
||||
Public resources found in...
|
||||
Translatable source found in...
|
||||
Found 2719 cached/archived units. Used 2719 / 2719 units from cache.
|
||||
Compiling...
|
||||
Compilation completed in 0.00 seconds
|
||||
Removing invalidated units
|
||||
Finding entry point classes
|
||||
|
|
|
@ -20,8 +20,6 @@ import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer;
|
|||
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer.HBoxLayoutAlign;
|
||||
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
||||
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
|
||||
import com.sencha.gxt.widget.core.client.event.BeforeShowEvent;
|
||||
import com.sencha.gxt.widget.core.client.event.BeforeShowEvent.BeforeShowHandler;
|
||||
import com.sencha.gxt.widget.core.client.event.SelectEvent;
|
||||
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
|
||||
import com.sencha.gxt.widget.core.client.form.FieldLabel;
|
||||
|
@ -39,6 +37,11 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
MultiColumnFilter, ColumnFilter, ColumnRule;
|
||||
}
|
||||
|
||||
protected String WIDTH_MULTI = "642px";
|
||||
protected String HEIGHT_MULTI = "300px";
|
||||
protected String WIDTH = "648px";
|
||||
protected String HEIGHT = "364px";
|
||||
|
||||
protected ColumnExpressionPanelType type;
|
||||
protected EventBus eventBus;
|
||||
|
||||
|
@ -47,17 +50,21 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
protected MultiColumnFilterTabPanel parentMultiColumnFilterTabPanel;
|
||||
|
||||
protected ColumnData column;
|
||||
protected ConditionWidget conditionWidget;
|
||||
|
||||
|
||||
private TextButton btnApply;
|
||||
private TextButton btnSearch;
|
||||
private TextButton btnSave;
|
||||
private TextButton btnClose;
|
||||
|
||||
private FieldSet conditionsField;
|
||||
private ConditionWidget conditionWidget;
|
||||
|
||||
public ColumnExpressionPanel(
|
||||
MultiColumnFilterTabPanel parentMultiColumnFilterTabPanel,
|
||||
ColumnData column, EventBus eventBus) {
|
||||
super();
|
||||
setWidth(WIDTH_MULTI);
|
||||
setHeight(HEIGHT_MULTI);
|
||||
type = ColumnExpressionPanelType.MultiColumnFilter;
|
||||
this.parentMultiColumnFilterTabPanel = parentMultiColumnFilterTabPanel;
|
||||
this.column = column;
|
||||
|
@ -70,6 +77,8 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
public ColumnExpressionPanel(ColumnFilterDialog parentFilterDialog,
|
||||
ColumnData column, EventBus eventBus) {
|
||||
super();
|
||||
setWidth(WIDTH);
|
||||
setHeight(HEIGHT);
|
||||
type = ColumnExpressionPanelType.ColumnFilter;
|
||||
this.parentFilterDialog = parentFilterDialog;
|
||||
this.column = column;
|
||||
|
@ -87,6 +96,8 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
public ColumnExpressionPanel(ColumnExpressionDialog parent,
|
||||
ColumnData column, EventBus eventBus) {
|
||||
super();
|
||||
setWidth(WIDTH);
|
||||
setHeight(HEIGHT);
|
||||
type = ColumnExpressionPanelType.ColumnRule;
|
||||
this.parentRuleDialog = parent;
|
||||
this.column = column;
|
||||
|
@ -99,16 +110,19 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
protected void create() {
|
||||
setBodyBorder(false);
|
||||
setHeaderVisible(false);
|
||||
|
||||
|
||||
VerticalLayoutContainer basicLayout = new VerticalLayoutContainer();
|
||||
basicLayout.setAdjustForScroll(true);
|
||||
basicLayout.setScrollMode(ScrollMode.AUTO);
|
||||
|
||||
|
||||
FieldSet properties = null;
|
||||
VerticalLayoutContainer propertiesLayout;
|
||||
TextField columnName;
|
||||
|
||||
|
||||
HBoxLayoutContainer flowButton = new HBoxLayoutContainer();
|
||||
flowButton.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE);
|
||||
flowButton.setPack(BoxLayoutPack.CENTER);
|
||||
|
||||
switch (type) {
|
||||
case ColumnRule:
|
||||
properties = new FieldSet();
|
||||
|
@ -132,57 +146,14 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
propertiesLayout.add(new FieldLabel(dataType, "Data Type"),
|
||||
new VerticalLayoutData(1, -1));
|
||||
|
||||
break;
|
||||
case ColumnFilter:
|
||||
properties = new FieldSet();
|
||||
properties.setHeadingText("Properties");
|
||||
properties.setCollapsible(false);
|
||||
conditionsField = new FieldSet();
|
||||
conditionsField.setHeadingText("Conditions");
|
||||
conditionsField.setCollapsible(false);
|
||||
|
||||
propertiesLayout = new VerticalLayoutContainer();
|
||||
properties.add(propertiesLayout);
|
||||
|
||||
columnName = new TextField();
|
||||
columnName.setToolTip("Column");
|
||||
columnName.setReadOnly(true);
|
||||
columnName.setValue(column.getLabel());
|
||||
propertiesLayout.add(new FieldLabel(columnName, "Column"),
|
||||
new VerticalLayoutData(1, -1));
|
||||
|
||||
break;
|
||||
case MultiColumnFilter:
|
||||
properties = new FieldSet();
|
||||
properties.setHeadingText("Properties");
|
||||
properties.setCollapsible(false);
|
||||
|
||||
propertiesLayout = new VerticalLayoutContainer();
|
||||
properties.add(propertiesLayout);
|
||||
|
||||
columnName = new TextField();
|
||||
columnName.setToolTip("Column");
|
||||
columnName.setReadOnly(true);
|
||||
columnName.setValue(column.getLabel());
|
||||
propertiesLayout.add(new FieldLabel(columnName, "Column"),
|
||||
new VerticalLayoutData(1, -1));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
FieldSet conditions = new FieldSet();
|
||||
conditions.setHeadingText("Conditions");
|
||||
conditions.setCollapsible(false);
|
||||
|
||||
conditionWidget = new ConditionWidget(column);
|
||||
Log.debug("ConditionWidget"+conditionWidget);
|
||||
conditions.add(conditionWidget);
|
||||
|
||||
HBoxLayoutContainer flowButton = new HBoxLayoutContainer();
|
||||
flowButton.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE);
|
||||
flowButton.setPack(BoxLayoutPack.CENTER);
|
||||
|
||||
|
||||
switch (type) {
|
||||
case ColumnRule:
|
||||
conditionWidget = new ConditionWidget(column);
|
||||
Log.debug("ConditionWidget" + conditionWidget);
|
||||
conditionsField.add(conditionWidget);
|
||||
|
||||
btnApply = new TextButton("Apply");
|
||||
btnApply.setIcon(ExpressionResources.INSTANCE.apply());
|
||||
btnApply.setIconAlign(IconAlign.RIGHT);
|
||||
|
@ -221,7 +192,7 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
btnClose = new TextButton("Close");
|
||||
btnClose.setIcon(ExpressionResources.INSTANCE.close());
|
||||
btnClose.setIconAlign(IconAlign.RIGHT);
|
||||
|
@ -234,13 +205,36 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
}
|
||||
});
|
||||
|
||||
flowButton.add(btnApply, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton
|
||||
.add(btnApply, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton.add(btnSave, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton.add(btnSearch,
|
||||
new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton.add(btnClose, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton
|
||||
.add(btnClose, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
break;
|
||||
case ColumnFilter:
|
||||
properties = new FieldSet();
|
||||
properties.setHeadingText("Properties");
|
||||
properties.setCollapsible(false);
|
||||
|
||||
propertiesLayout = new VerticalLayoutContainer();
|
||||
properties.add(propertiesLayout);
|
||||
|
||||
columnName = new TextField();
|
||||
columnName.setToolTip("Column");
|
||||
columnName.setReadOnly(true);
|
||||
columnName.setValue(column.getLabel());
|
||||
propertiesLayout.add(new FieldLabel(columnName, "Column"),
|
||||
new VerticalLayoutData(1, -1));
|
||||
conditionsField = new FieldSet();
|
||||
conditionsField.setHeadingText("Conditions");
|
||||
conditionsField.setCollapsible(false);
|
||||
|
||||
conditionWidget = new ConditionWidget(column);
|
||||
Log.debug("ConditionWidget" + conditionWidget);
|
||||
conditionsField.add(conditionWidget);
|
||||
|
||||
btnApply = new TextButton("Apply");
|
||||
btnApply.setIcon(ExpressionResources.INSTANCE.applyFilter());
|
||||
btnApply.setIconAlign(IconAlign.RIGHT);
|
||||
|
@ -253,7 +247,7 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
btnClose = new TextButton("Close");
|
||||
btnClose.setIcon(ExpressionResources.INSTANCE.close());
|
||||
btnClose.setIconAlign(IconAlign.RIGHT);
|
||||
|
@ -265,10 +259,35 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
close();
|
||||
}
|
||||
});
|
||||
flowButton.add(btnApply, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton.add(btnClose, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton
|
||||
.add(btnApply, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton
|
||||
.add(btnClose, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
|
||||
break;
|
||||
case MultiColumnFilter:
|
||||
properties = new FieldSet();
|
||||
properties.setHeadingText("Properties");
|
||||
properties.setCollapsible(false);
|
||||
|
||||
propertiesLayout = new VerticalLayoutContainer();
|
||||
properties.add(propertiesLayout);
|
||||
|
||||
columnName = new TextField();
|
||||
columnName.setToolTip("Column");
|
||||
columnName.setReadOnly(true);
|
||||
columnName.setValue(column.getLabel());
|
||||
propertiesLayout.add(new FieldLabel(columnName, "Column"),
|
||||
new VerticalLayoutData(1, -1));
|
||||
|
||||
conditionsField = new FieldSet();
|
||||
conditionsField.setHeadingText("Conditions");
|
||||
conditionsField.setCollapsible(false);
|
||||
|
||||
conditionWidget = new ConditionWidget(column,"612px", "110px");
|
||||
Log.debug("ConditionWidget" + conditionWidget);
|
||||
conditionsField.add(conditionWidget);
|
||||
|
||||
btnApply = new TextButton("Add");
|
||||
btnApply.setIcon(ExpressionResources.INSTANCE.applyFilter());
|
||||
btnApply.setIconAlign(IconAlign.RIGHT);
|
||||
|
@ -281,32 +300,22 @@ public class ColumnExpressionPanel extends FramedPanel {
|
|||
|
||||
}
|
||||
});
|
||||
flowButton.add(btnApply, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
flowButton
|
||||
.add(btnApply, new BoxLayoutData(new Margins(2, 4, 2, 4)));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
basicLayout.add(properties, new VerticalLayoutData(-1, -1, new Margins(
|
||||
1)));
|
||||
basicLayout.add(conditions, new VerticalLayoutData(-1, -1, new Margins(
|
||||
1)));
|
||||
basicLayout.add(flowButton, new VerticalLayoutData(-1, -1, new Margins(
|
||||
basicLayout.add(conditionsField, new VerticalLayoutData(-1, -1,
|
||||
new Margins(1)));
|
||||
basicLayout.add(flowButton, new VerticalLayoutData(-1, 36, new Margins(
|
||||
5, 2, 5, 2)));
|
||||
add(basicLayout);
|
||||
|
||||
|
||||
|
||||
|
||||
addBeforeShowHandler(new BeforeShowHandler() {
|
||||
|
||||
@Override
|
||||
public void onBeforeShow(BeforeShowEvent event) {
|
||||
conditionWidget.forceLayout();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
show();
|
||||
}
|
||||
|
||||
protected void applyRule() {
|
||||
|
|
|
@ -47,7 +47,8 @@ import com.sencha.gxt.widget.core.client.form.TextField;
|
|||
public class ConditionWidget extends SimpleContainer {
|
||||
|
||||
private ConditionWidget thisCont;
|
||||
protected String HEIGHT = "210px";
|
||||
protected static final String HEIGHT = "210px";
|
||||
protected static final String WIDTH = "612px";
|
||||
protected FieldLabel matchLabel;
|
||||
protected ToggleGroup groupMatch;
|
||||
|
||||
|
@ -62,13 +63,23 @@ public class ConditionWidget extends SimpleContainer {
|
|||
protected String readableExpression;
|
||||
|
||||
|
||||
|
||||
|
||||
ConditionWidget(ColumnData column) {
|
||||
public ConditionWidget(ColumnData column) {
|
||||
super();
|
||||
create(column,WIDTH, HEIGHT);
|
||||
}
|
||||
|
||||
public ConditionWidget(ColumnData column, String width,String height) {
|
||||
super();
|
||||
create(column,width,height);
|
||||
}
|
||||
|
||||
|
||||
protected void create(ColumnData column, String width, String height){
|
||||
this.column = column;
|
||||
setBorders(true);
|
||||
setHeight(HEIGHT);
|
||||
setWidth(width);
|
||||
setHeight(height);
|
||||
|
||||
thisCont = this;
|
||||
|
||||
itemIdCombo = "ComboConditions"+column.getName();
|
||||
|
@ -78,9 +89,7 @@ public class ConditionWidget extends SimpleContainer {
|
|||
itemIdBtnDel = "BtnDel"+column.getName();
|
||||
|
||||
VerticalLayoutContainer baseLayout = new VerticalLayoutContainer();
|
||||
//baseLayout.setAdjustForScroll(true);
|
||||
//baseLayout.setScrollMode(ScrollMode.AUTOY);
|
||||
//baseLayout.getScrollSupport().setScrollMode(ScrollMode.AUTO);
|
||||
|
||||
|
||||
Radio radioAll = new Radio();
|
||||
radioAll.setName("All");
|
||||
|
@ -109,12 +118,6 @@ public class ConditionWidget extends SimpleContainer {
|
|||
vert = new VerticalLayoutContainer();
|
||||
vert.setScrollMode(ScrollMode.AUTO);
|
||||
vert.setAdjustForScroll(true);
|
||||
/*if(baseLayout.getScrollSupport()==null){
|
||||
Log.error("ScrollSupport is null");
|
||||
} else {
|
||||
Log.info("ScrollSupport:"+baseLayout.getScrollSupport());
|
||||
baseLayout.getScrollSupport().setScrollMode(ScrollMode.AUTO);
|
||||
}*/
|
||||
|
||||
|
||||
setup();
|
||||
|
@ -122,12 +125,9 @@ public class ConditionWidget extends SimpleContainer {
|
|||
baseLayout.add(vert, new VerticalLayoutData(1, 1, new Margins(0)));
|
||||
|
||||
add(baseLayout);
|
||||
|
||||
|
||||
|
||||
|
||||
show();
|
||||
|
||||
|
||||
//show();
|
||||
}
|
||||
|
||||
protected void setup() {
|
||||
|
|
|
@ -1,20 +1,11 @@
|
|||
package org.gcube.portlets.user.td.expressionwidget.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.gcube.portlets.user.td.expressionwidget.client.resource.ExpressionResources;
|
||||
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
|
||||
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
|
||||
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_Expression;
|
||||
|
||||
import com.allen_sauer.gwt.log.client.Log;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.web.bindery.event.shared.EventBus;
|
||||
import com.sencha.gxt.widget.core.client.Window;
|
||||
import com.sencha.gxt.widget.core.client.box.AlertMessageBox;
|
||||
import com.sencha.gxt.widget.core.client.event.HideEvent;
|
||||
import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -24,25 +15,23 @@ import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler;
|
|||
*
|
||||
*/
|
||||
public class MultiColumnFilterDialog extends Window {
|
||||
private MultiColumnFilterTabPanel mcfTabPanel;
|
||||
protected String WIDTH = "660px";
|
||||
protected String HEIGHT = "480px";
|
||||
protected C_Expression exp = null;
|
||||
protected TRId trId;
|
||||
protected EventBus eventBus;
|
||||
protected ArrayList<ColumnData> columns;
|
||||
|
||||
public MultiColumnFilterDialog(TRId trId, EventBus eventBus) {
|
||||
this.eventBus = eventBus;
|
||||
this.trId = trId;
|
||||
initWindow();
|
||||
load(trId);
|
||||
create();
|
||||
|
||||
}
|
||||
|
||||
protected void create(){
|
||||
mcfTabPanel=new MultiColumnFilterTabPanel(this, "Filter", eventBus);
|
||||
add(mcfTabPanel);
|
||||
final MultiColumnFilterPanel mcfPanel=new MultiColumnFilterPanel(this, trId,eventBus);
|
||||
add(mcfPanel);
|
||||
|
||||
}
|
||||
|
||||
|
@ -58,33 +47,6 @@ public class MultiColumnFilterDialog extends Window {
|
|||
}
|
||||
|
||||
|
||||
protected void load(TRId trId) {
|
||||
TDGWTServiceAsync.INSTANCE.getColumns(trId,
|
||||
new AsyncCallback<ArrayList<ColumnData>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Log.error("Error retrieving columns: "
|
||||
+ caught.getMessage());
|
||||
AlertMessageBox d = new AlertMessageBox(
|
||||
"Error retrieving columns", caught.getMessage());
|
||||
d.addHideHandler(new HideHandler() {
|
||||
public void onHide(HideEvent event) {
|
||||
hide();
|
||||
}
|
||||
});
|
||||
d.show();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(ArrayList<ColumnData> result) {
|
||||
Log.debug("Retrived column: " + result);
|
||||
columns = result;
|
||||
create();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
package org.gcube.portlets.user.td.expressionwidget.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
|
||||
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
|
||||
|
||||
|
||||
import com.allen_sauer.gwt.log.client.Log;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.web.bindery.event.shared.EventBus;
|
||||
import com.sencha.gxt.widget.core.client.box.AlertMessageBox;
|
||||
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
||||
import com.sencha.gxt.widget.core.client.event.BeforeShowEvent;
|
||||
import com.sencha.gxt.widget.core.client.event.BeforeShowEvent.BeforeShowHandler;
|
||||
import com.sencha.gxt.widget.core.client.event.HideEvent;
|
||||
import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler;
|
||||
|
||||
public class MultiColumnFilterPanel extends SimplePanel {
|
||||
protected String WIDTH = "648px";
|
||||
protected String HEIGHT = "444px";
|
||||
|
||||
protected TRId trId;
|
||||
protected ArrayList<ColumnData> columns;
|
||||
|
||||
protected EventBus eventBus;
|
||||
protected MultiColumnFilterDialog multiColumnFilterDialog;
|
||||
|
||||
|
||||
public MultiColumnFilterPanel(
|
||||
MultiColumnFilterDialog multiColumnFilterDialog,
|
||||
TRId trId, EventBus eventBus) {
|
||||
super();
|
||||
Log.debug("Create MultiColumnFilterPanel");
|
||||
setHeight(HEIGHT);
|
||||
setWidth(WIDTH);
|
||||
this.multiColumnFilterDialog=multiColumnFilterDialog;
|
||||
this.trId=trId;
|
||||
this.eventBus = eventBus;
|
||||
load(trId);
|
||||
}
|
||||
|
||||
|
||||
protected void create(){
|
||||
VerticalLayoutContainer vl=new VerticalLayoutContainer();
|
||||
vl.setBorders(false);
|
||||
|
||||
final MultiColumnFilterTabPanel mcfTabPanel=new MultiColumnFilterTabPanel(this,eventBus);
|
||||
vl.add(mcfTabPanel);
|
||||
|
||||
mcfTabPanel.addBeforeShowHandler(new BeforeShowHandler() {
|
||||
|
||||
public void onBeforeShow(BeforeShowEvent event) {
|
||||
mcfTabPanel.forceLayout();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
final SimplePanel bo=new SimplePanel();
|
||||
bo.add(new HTML("Expression"));
|
||||
vl.add(bo);
|
||||
|
||||
add(vl);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
protected void load(TRId trId) {
|
||||
TDGWTServiceAsync.INSTANCE.getColumns(trId,
|
||||
new AsyncCallback<ArrayList<ColumnData>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Log.error("Error retrieving columns: "
|
||||
+ caught.getMessage());
|
||||
AlertMessageBox d = new AlertMessageBox(
|
||||
"Error retrieving columns", caught.getMessage());
|
||||
d.addHideHandler(new HideHandler() {
|
||||
public void onHide(HideEvent event) {
|
||||
multiColumnFilterDialog.hide();
|
||||
}
|
||||
});
|
||||
d.show();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(ArrayList<ColumnData> result) {
|
||||
Log.debug("Retrived column: " + result);
|
||||
columns = result;
|
||||
create();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -11,8 +11,6 @@ import com.allen_sauer.gwt.log.client.Log;
|
|||
import com.google.web.bindery.event.shared.EventBus;
|
||||
import com.sencha.gxt.widget.core.client.TabItemConfig;
|
||||
import com.sencha.gxt.widget.core.client.TabPanel;
|
||||
import com.sencha.gxt.widget.core.client.event.BeforeShowEvent;
|
||||
import com.sencha.gxt.widget.core.client.event.BeforeShowEvent.BeforeShowHandler;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -21,20 +19,24 @@ import com.sencha.gxt.widget.core.client.event.BeforeShowEvent.BeforeShowHandler
|
|||
*
|
||||
*/
|
||||
public class MultiColumnFilterTabPanel extends TabPanel {
|
||||
|
||||
protected String WIDTH = "648px";
|
||||
protected String HEIGHT = "300px";
|
||||
|
||||
protected EventBus eventBus;
|
||||
protected MultiColumnFilterDialog multiColumnFilterDialog;
|
||||
protected MultiColumnFilterPanel multiColumnFilterPanel;
|
||||
protected ArrayList<ColumnData> columns;
|
||||
protected HashMap<ColumnData, C_Expression> cexpressionList;
|
||||
|
||||
public MultiColumnFilterTabPanel(
|
||||
MultiColumnFilterDialog multiColumnFilterDialog, String name,
|
||||
MultiColumnFilterPanel multiColumnFilterPanel,
|
||||
EventBus eventBus) {
|
||||
super();
|
||||
Log.debug("Create MultiColumnFilterTabPanel");
|
||||
setHeight(HEIGHT);
|
||||
setWidth(WIDTH);
|
||||
this.multiColumnFilterPanel=multiColumnFilterPanel;
|
||||
this.eventBus = eventBus;
|
||||
this.columns = multiColumnFilterDialog.columns;
|
||||
setId(name);
|
||||
this.columns = multiColumnFilterPanel.columns;
|
||||
setBodyBorder(false);
|
||||
setBorders(false);
|
||||
setAnimScroll(true);
|
||||
|
@ -47,15 +49,17 @@ public class MultiColumnFilterTabPanel extends TabPanel {
|
|||
Log.debug("Start MultiColumnFilterTabPanel Tabs");
|
||||
addFilterColumnsPanel();
|
||||
setActiveWidget(getWidget(0));
|
||||
|
||||
}
|
||||
|
||||
protected void addFilterColumnsPanel() {
|
||||
cexpressionList = new HashMap<ColumnData, C_Expression>();
|
||||
|
||||
TabItemConfig columnFilterItemConf;
|
||||
ColumnExpressionPanel columnExpressionPanel;
|
||||
for (ColumnData col : columns) {
|
||||
columnFilterItemConf = new TabItemConfig(col.getLabel(), false);
|
||||
|
||||
|
||||
if (col.getTypeCode().compareTo(
|
||||
ColumnTypeCode.ANNOTATION.toString()) == 0
|
||||
|| col.getTypeCode().compareTo(
|
||||
|
@ -68,19 +72,77 @@ public class MultiColumnFilterTabPanel extends TabPanel {
|
|||
ColumnTypeCode.CODENAME.toString()) == 0
|
||||
|| col.getTypeCode().compareTo(
|
||||
ColumnTypeCode.MEASURE.toString()) == 0) {
|
||||
final ColumnExpressionPanel columnExpressionPanel = new ColumnExpressionPanel(
|
||||
columnExpressionPanel = new ColumnExpressionPanel(
|
||||
this, col, eventBus);
|
||||
add(columnExpressionPanel, columnFilterItemConf);
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
protected void applyFilter(ColumnData column, C_Expression exp) {
|
||||
cexpressionList.put(column, exp);
|
||||
}
|
||||
|
||||
|
||||
//TODO fix CardLayoutContainer in 3.0.1
|
||||
/*
|
||||
private CardLayoutContainer container = new CardLayoutContainer() {
|
||||
@Override
|
||||
protected Widget getParentLayoutWidget() {
|
||||
return container.getParent();
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@Override
|
||||
public void setActiveWidget(Widget widget) {
|
||||
if (activeWidget == widget) {
|
||||
return;
|
||||
}
|
||||
if (activeWidget != null) {
|
||||
activeWidget.setVisible(false);
|
||||
}
|
||||
if (widget != null) {
|
||||
if (widget.asWidget().getParent() == this) {
|
||||
activeWidget = widget;
|
||||
activeWidget.setVisible(true);
|
||||
// forcing causes layout to execute every time this method called
|
||||
// when used with TabPanel this causes layouts to execute every time tab
|
||||
// selected which is not optimal
|
||||
|
||||
// EXTGWT-1550, in example, a panel is collapsed then another tab is
|
||||
// selected. when returning to tab with collapsed panel
|
||||
// the layout executes as it was forced
|
||||
|
||||
// layoutRequiredThisEventLoop = true;
|
||||
// forceLayout();
|
||||
|
||||
if (GXT.isIE6() || GXT.isIE7()) {
|
||||
layoutRequiredThisEventLoop = true;
|
||||
forceLayout();
|
||||
} else {
|
||||
doLayout();
|
||||
}
|
||||
|
||||
} else {
|
||||
activeWidget = widget;
|
||||
activeWidget.setVisible(true);
|
||||
add(widget);
|
||||
if (widget.asWidget().getParent() == this) {
|
||||
layoutRequiredThisEventLoop = true;
|
||||
forceLayout();
|
||||
} else {
|
||||
activeWidget = null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
activeWidget = null;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue