/** * Constructor. * * @param name The field's name. * @param title The field's title. * @param desc The field's description. * @param options The options that can be selected. */ public CCComboBoxField( final String name, final String title, final String desc, final List<Option> options) { super(name); final ComboBox<BaseModelData> cb = new ComboBox<BaseModelData>(); cb.setTriggerAction(TriggerAction.ALL); cb.setFieldLabel(createLabel(name, title)); cb.setToolTip(createTooltip(name, title, desc)); cb.setDisplayField("title"); cb.setValueField("value"); cb.setEditable(false); final ListStore<BaseModelData> store = new ListStore<BaseModelData>(); for (final Option o : options) { final BaseModelData model = new BaseModelData(); model.set("title", o.getTitle()); model.set("value", o.getValue()); store.add(model); if (o.isDefault().booleanValue()) { cb.setValue(model); } } cb.setStore(store); _combobox = cb; }
private ModelData modelData() { BaseModelData modelData = new BaseModelData(); for (ConfigGroup groupEnum : ConfigGroup.values()) { for (Config config : groupEnum.configs) { modelData.set(config.name(), ""); } } return modelData; }
public void draw(DoneDrawingCallback callback) { removeAll(); final List<ColumnConfig> cols = getColumns(); final Map<String, RowData> group = getGroupsForRows(); final Map<String, String> groupIDToName = new HashMap<String, String>(); final GroupingStore<BaseModelData> store = new GroupingStore<BaseModelData>(); for (RowData row : getRows()) { final BaseModelData model = new BaseModelData(); model.set("id", row.getField("id")); model.set("lockid", row.getField("lockid")); for (ColumnConfig col : cols) model.set(col.getId(), row.getField(col.getId())); RowData gID = group.get(row.getField("id")); if (gID == null) { model.set("groupid", "none"); model.set("groupidentifier", null); groupIDToName.put("none", "No Group Defined"); } else { model.set("groupid", gID.get("groupid")); model.set("groupidentifier", gID.get("id")); groupIDToName.put(gID.get("groupid"), "Working Set: " + gID.get("groupname")); } store.add(model); } store.groupBy("groupid"); final GroupingView view = new GroupingView(); view.setShowGroupedColumn(false); view.setGroupRenderer( new GridGroupRenderer() { public String render(GroupColumnData data) { return groupIDToName.get(data.group); } }); final GridSelectionModel<BaseModelData> sel = new GridSelectionModel<BaseModelData>(); sel.setSelectionMode(SelectionMode.SINGLE); grid = new Grid<BaseModelData>(store, new ColumnModel(cols)); grid.setSelectionModel(sel); grid.setView(view); grid.addListener( Events.RowClick, new Listener<GridEvent>() { public void handleEvent(GridEvent be) { if (groupButton != null && be != null && be.getModel() != null) groupButton.setEnabled(be.getModel().get("groupidentifier") != null); } }); // grid.setWidth(680); int size = 25; final LayoutContainer wrapper = new LayoutContainer(); wrapper.setLayout(new FillLayout()); // wrapper.setScrollMode(Scroll.ALWAYS); wrapper.add(grid); final LayoutContainer container = new LayoutContainer(new BorderLayout()); container.setBorders(false); container.add(getToolBar(), new BorderLayoutData(LayoutRegion.SOUTH, size, size, size)); container.add(wrapper, new BorderLayoutData(LayoutRegion.CENTER)); add(container); callback.isDrawn(); }