tabular-data-column-widget/src/main/java/org/gcube/portlets/user/td/columnwidget/client/RemoveColumnDialog.java

88 lines
2.6 KiB
Java

package org.gcube.portlets.user.td.columnwidget.client;
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.event.logical.shared.SelectionHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.sencha.gxt.cell.core.client.form.ComboBoxCell.TriggerAction;
import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ListStore;
import com.sencha.gxt.widget.core.client.ContentPanel;
import com.sencha.gxt.widget.core.client.Dialog;
import com.sencha.gxt.widget.core.client.form.ComboBox;
import com.sencha.gxt.widget.core.client.info.Info;
public class RemoveColumnDialog extends Dialog {
public RemoveColumnDialog(TRId trId) {
create(trId, null);
}
public RemoveColumnDialog(TRId trId, String columnName) {
create(trId, columnName);
}
protected void create(TRId trId, String columnName) {
setBodyBorder(false);
// getHeader().setIcon(Resources.IMAGES.side_list());
setHeadingText("BorderLayout Dialog");
setWidth(400);
setHeight(225);
setHideOnButtonClick(true);
ContentPanel panel = new ContentPanel();
panel.setHeaderVisible(false);
ColumnDataProperties props = GWT.create(ColumnDataProperties.class);
ListStore<ColumnData> states = new ListStore<ColumnData>(props.id());
// states.addAll(TestData.getStates());
ComboBox<ColumnData> combo = new ComboBox<ColumnData>(states,
props.label());
addHandlersForEventObservation(combo, props.label());
combo.setEmptyText("Select a state...");
combo.setWidth(150);
combo.setTypeAhead(true);
combo.setTriggerAction(TriggerAction.ALL);
panel.add(combo);
//
add(panel);
}
private <T> void addHandlersForEventObservation(ComboBox<T> combo,
final LabelProvider<T> labelProvider) {
combo.addValueChangeHandler(new ValueChangeHandler<T>() {
public void onValueChange(ValueChangeEvent<T> event) {
Info.display(
"Value Changed",
"New value: "
+ (event.getValue() == null ? "nothing"
: labelProvider.getLabel(event
.getValue()) + "!"));
}
});
combo.addSelectionHandler(new SelectionHandler<T>() {
public void onSelection(SelectionEvent<T> event) {
Info.display(
"State Selected",
"You selected "
+ (event.getSelectedItem() == null ? "nothing"
: labelProvider.getLabel(event
.getSelectedItem()) + "!"));
}
});
}
}