List of usage examples for com.google.gwt.view.client SingleSelectionModel getSelectedObject
public T getSelectedObject()
From source file:eu.riscoss.client.layers.LayersModule.java
License:Apache License
private void reloadEntityTable(JSONValue response) { list = response;//from w w w .j a va 2s. co m entities = new ArrayList<>(); for (int i = 0; i < response.isArray().size(); i++) { JSONObject o = (JSONObject) response.isArray().get(i); entities.add(o); } leftPanelEntity.clear(); table = new CellTable<JSONObject>(15, (Resources) GWT.create(TableResources.class)); Column<JSONObject, String> t = new Column<JSONObject, String>(new TextCell()) { @Override public String getValue(JSONObject arg0) { return arg0.get("name").isString().stringValue(); } }; final SingleSelectionModel<JSONObject> selectionModel = new SingleSelectionModel<JSONObject>(); table.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new Handler() { @Override public void onSelectionChange(SelectionChangeEvent arg0) { if (!selectionModel.getSelectedObject().get("name").isString().stringValue().equals("")) { selectedEntity = selectionModel.getSelectedObject().get("name").isString().stringValue(); reloadEntityInfo(); } } }); table.addColumn(t, selectedLayer + " Entities"); if (entities.size() > 0) table.setRowData(0, entities); else { entities.add(new JSONObject()); table.setRowData(0, entities); entities.remove(0); } table.setStyleName("table"); table.setWidth("100%"); dataProvider = new ListDataProvider<JSONObject>(); dataProvider.addDataDisplay(table); for (int i = 0; i < entities.size(); i++) { dataProvider.getList().add(entities.get(i)); } pager = new SimplePager(); pager.setDisplay(table); tablePanel = new VerticalPanel(); tablePanel.setWidth("100%"); tablePanel.add(table); tablePanel.add(pager); HorizontalPanel layerData = new HorizontalPanel(); layerData.setStyleName("layerData"); Label name = new Label("Name"); name.setStyleName("bold"); layerData.add(name); entityName = new TextBox(); entityName.setWidth("120px"); entityName.setStyleName("layerNameField"); layerData.add(entityName); leftPanelEntity.add(layerData); HorizontalPanel buttons = new HorizontalPanel(); newEntityButton.setText("New " + selectedLayer + " entity"); buttons.add(newEntityButton); leftPanelEntity.add(buttons); leftPanelEntity.add(tablePanel); }
From source file:eu.riscoss.client.rdr.ContactCell.java
License:Apache License
public void onModuleLoad() { RiscossJsonClient.listEntities(new JsonCallback() { @Override//from ww w. ja v a 2s . c om public void onFailure(Method method, Throwable exception) { // TODO Auto-generated method stub } @Override public void onSuccess(Method method, JSONValue response) { listEntities = new ArrayList<>(); for (int i = 0; i < response.isArray().size(); ++i) { if (!response.isArray().get(i).isObject().get("name").isString().stringValue().equals("-")) listEntities.add(response.isArray().get(i).isObject()); } cellList = new CellTable<JSONObject>(15, (Resources) GWT.create(TableResources.class)); cellList.setStyleName("list"); cellList.setPageSize(30); cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION); final SingleSelectionModel<JSONObject> selectionModel = new SingleSelectionModel<JSONObject>(); cellList.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new Handler() { @Override public void onSelectionChange(SelectionChangeEvent arg0) { ppg.setSelectedEntity( selectionModel.getSelectedObject().get("name").isString().stringValue()); } }); Column<JSONObject, String> t = new Column<JSONObject, String>(new TextCell()) { @Override public String getValue(JSONObject arg0) { return arg0.get("name").isString().stringValue(); } }; Column<JSONObject, String> t2 = new Column<JSONObject, String>(new TextCell()) { @Override public String getValue(JSONObject arg0) { return arg0.get("layer").isString().stringValue(); } }; cellList.addColumn(t, "Entity"); cellList.addColumn(t2, "Layer"); cellList.setWidth("100%"); if (listEntities.size() > 0) cellList.setRowData(0, listEntities); else { listEntities.add(new JSONObject()); cellList.setRowData(0, listEntities); listEntities.remove(0); } cellList.setStyleName("table"); dataProvider = new ListDataProvider<JSONObject>(); dataProvider.addDataDisplay(cellList); for (int i = 0; i < listEntities.size(); i++) { dataProvider.getList().add(listEntities.get(i)); } pager = new SimplePager(); pager.setDisplay(cellList); ppg = new EntityDataBox(); dock.setWidth("100%"); dock.add(cellList, DockPanel.CENTER); dock.add(ppg.asWidget(), DockPanel.EAST); dock.setCellWidth(ppg.asWidget(), "60%"); mainView.setStyleName("mainViewLayer"); //mainView.setWidth("100%"); leftPanel.setStyleName("leftPanelLayer"); leftPanel.setWidth("400px"); //leftPanel.setHeight("100%"); rightPanel.setStyleName("rightPanelLayer"); page.setWidth("100%"); Label title = new Label("Risk Data Repository"); title.setStyleName("title"); page.add(title); leftPanel.add(cellList); leftPanel.add(pager); rightPanel.add(ppg); rightPanel.setWidth("90%"); mainView.add(leftPanel); mainView.add(rightPanel); page.add(mainView); RootPanel.get().add(page); } }); }
From source file:gwtquery.plugins.droppable.client.contactcellsample.ContactCellSample.java
License:Apache License
/** * Code coming from GWT showcase.// w w w .java 2s. c o m * * We just use a {@link DragAndDropCellList} instead of a {@link CellList} and * make the pager panel droppable. * * @param contactForm * * @return */ private DroppableWidget<ShowMorePagerPanel> createList(final Category category) { // Create a ConcactCel ContactCell contactCell = new ContactCell(Images.INSTANCE.contact()); // Create a drag and drop cell list DragAndDropCellList<ContactInfo> cellList = new DragAndDropCellList<ContactInfo>(contactCell, ContactDatabase.ContactInfo.KEY_PROVIDER); // The cell of this cell list are only draggable cellList.setCellDraggableOnly(); // setup the drag operation cellList.setDraggableOptions(createDraggableOptions()); cellList.setPageSize(30); cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); final SingleSelectionModel<ContactInfo> selectionModel = new SingleSelectionModel<ContactInfo>( ContactDatabase.ContactInfo.KEY_PROVIDER); cellList.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { contactForm.setContact(selectionModel.getSelectedObject()); } }); ContactDatabase.get().addDataDisplay(cellList, category); ShowMorePagerPanel pagerPanel = new ShowMorePagerPanel(category); pagerPanel.setDisplay(cellList); // make the pager panel droppable. DroppableWidget<ShowMorePagerPanel> droppabelPanel = new DroppableWidget<ShowMorePagerPanel>(pagerPanel); // setup the drop operation droppabelPanel.setDroppableHoverClass("orange-border"); droppabelPanel.setActiveClass("yellow-border"); droppabelPanel.addDropHandler(new DropHandler()); // use an AcceptFunction to accept only draggable coming from an other panel droppabelPanel.setAccept(new AcceptFunction() { public boolean acceptDrop(DragAndDropContext ctx) { //retrieve the dragging ContactInfo ContactInfo draggedContact = ctx.getDraggableData(); Category dragCategory = draggedContact.getCategory(); // accept only contact coming from an other panel. return dragCategory != category; } }); return droppabelPanel; }
From source file:n3phele.client.view.AccountHyperlinkView.java
License:Open Source License
public AccountHyperlinkView(String uri) { super(new MenuItem(N3phele.n3pheleResource.accountIcon(), "Account", null), new MenuItem(N3phele.n3pheleResource.accountAddIcon(), "Account Edit", "account:" + uri)); if (resource == null) resource = GWT.create(DataGridResource.class); // TABLE//w ww . j av a 2 s . co m table = new FlexTable(); table.setCellPadding(10); errorsOnPage = new ValidInputIndicatorWidget( "check for missing or invalid parameters marked with this icon", false); setTableData(); table.getFlexCellFormatter().setRowSpan(0, 1, 2); table.getFlexCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE); table.getFlexCellFormatter().setVerticalAlignment(0, 1, HasVerticalAlignment.ALIGN_MIDDLE); table.getFlexCellFormatter().setVerticalAlignment(1, 0, HasVerticalAlignment.ALIGN_MIDDLE); table.getColumnFormatter().setWidth(0, "220px"); table.getColumnFormatter().setWidth(1, "290px"); table.setCellPadding(1); table.setCellSpacing(1); // DATAGRID dataGrid = new DataGrid<ActivityData>(15, resource); dataGrid.setSize("495px", "100px"); TextColumn<ActivityData> nameColumn = new TextColumn<ActivityData>() { @Override public String getValue(ActivityData item) { String result = ""; if (item != null) { result += item.getName(); } return result; } }; dataGrid.addColumn(nameColumn, "Name"); dataGrid.setColumnWidth(nameColumn, "130px"); // TODO: Working on Activity column Column<ActivityData, String> activityColumn = new Column<ActivityData, String>(new ClickableTextCell()) { @Override public String getValue(ActivityData item) { return item.getNameTop(); } }; activityColumn.setFieldUpdater(new FieldUpdater<ActivityData, String>() { @Override public void update(int index, ActivityData obj, String value) { presenter.onSelect(obj); } }); activityColumn.setCellStyleNames(N3phele.n3pheleResource.css().clickableTextCellEffect()); dataGrid.addColumn(activityColumn, "Activity"); dataGrid.setColumnWidth(activityColumn, "100px"); TextColumn<ActivityData> ageColumn = new TextColumn<ActivityData>() { @Override public String getValue(ActivityData item) { return item.getAge(); } }; dataGrid.addColumn(ageColumn, "Age"); dataGrid.setColumnWidth(ageColumn, "80px"); TextColumn<ActivityData> priceColumn = new TextColumn<ActivityData>() { @Override public String getValue(ActivityData item) { return item.getCost(); } }; dataGrid.addColumn(priceColumn, "Total Cost"); dataGrid.setColumnWidth(priceColumn, "75px"); // Add a selection model to handle user selection. final SingleSelectionModel<ActivityData> selectionModel = new SingleSelectionModel<ActivityData>(); dataGrid.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { selectionModel.getSelectedObject(); } }); Column<ActivityData, ActivityData> cancelColumn = new Column<ActivityData, ActivityData>( new CancelButtonCell<ActivityData>(new Delegate<ActivityData>() { @Override public void execute(ActivityData value) { if (value != null) { dataGrid.getSelectionModel().setSelected(value, false); getDialog(value).show(); } } }, "delete virtual machine")) { @Override public ActivityData getValue(ActivityData object) { return object; } }; cancelColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); dataGrid.addColumn(cancelColumn); dataGrid.setColumnWidth(cancelColumn, "50px"); // CALL onModuleLoad() chartPanel = get(); chartPanel.add(table); chartPanel.add(new SectionPanel("History")); chartPanel.add(historyTable); chartPanel.add(new SectionPanel("Active Machines")); chartPanel.add(vsTable); chartPanel = get(); setChartTableData(); onModuleLoad(); }
From source file:n3phele.client.view.AccountListView.java
License:Open Source License
public AccountListView() { super(new MenuItem(N3phele.n3pheleResource.accountIcon(), "Accounts", null), new MenuItem(N3phele.n3pheleResource.accountAddIcon(), "create a new account", "account:null")); if (resource == null) resource = GWT.create(ClickableCellTableResource.class); cellTable = new CellTable<Account>(15, resource); cellTable.setSize("455px", ""); TextColumn<Account> nameColumn = new TextColumn<Account>() { @Override//from w ww . j ava2 s .c o m public String getValue(Account item) { String result = ""; if (item != null) return item.getName(); return result; } }; cellTable.addColumn(nameColumn, "Name"); TextColumn<Account> descriptionColumn = new TextColumn<Account>() { @Override public String getValue(Account item) { String result = ""; if (item != null) return item.getDescription(); return result; } }; cellTable.addColumn(descriptionColumn, "Description"); TextColumn<Account> cloudColumn = new TextColumn<Account>() { @Override public String getValue(Account item) { String result = ""; if (item != null) { result = item.getCloudName(); // String s= item.getCloud(); // if(cloudMap.containsKey(s)) // return cloudMap.get(s); // else // return s; } return result; } }; cellTable.addColumn(cloudColumn, "Cloud"); // Add a selection model to handle user selection. final SingleSelectionModel<Account> selectionModel = new SingleSelectionModel<Account>(); cellTable.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { Account selected = selectionModel.getSelectedObject(); if (selected != null) { if (accountListActivity != null) { accountListActivity.onSelect(selected); } } } }); Column<Account, Account> cancelColumn = new Column<Account, Account>( new CancelButtonCell<Account>(new Delegate<Account>() { @Override public void execute(Account value) { if (value != null) { cellTable.getSelectionModel().setSelected(value, false); getDialog(value).show(); } } }, "delete Account")) { @Override public Account getValue(Account object) { return object; } }; cellTable.addColumn(cancelColumn); cellTable.setColumnWidth(cancelColumn, "26px"); cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); this.add(cellTable); }
From source file:n3phele.client.view.ActivityListView.java
License:Open Source License
public ActivityListView() { super(new MenuItem(N3phele.n3pheleResource.activityIcon(), "Activity History", null)); HorizontalPanel heading = new HorizontalPanel(); heading.setWidth("500px"); heading.setStyleName(N3phele.n3pheleResource.css().sectionPanelHeader()); add(heading);/* w w w . ja v a 2 s. co m*/ heading.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); SimplePager simplePager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true); heading.add(simplePager); heading.setCellHorizontalAlignment(simplePager, HorizontalPanel.ALIGN_CENTER); this.cellTable = new ActivityStatusList(); this.cellTable.setWidth("100%"); TextColumn<Progress> narrative = new TextColumn<Progress>() { @Override public String getValue(Progress progress) { String result = ""; List<Narrative> narrative = progress.getNarratives(); if (narrative != null && narrative.size() > 0) { result = narrative.get(narrative.size() - 1).getText(); } return result; } }; this.cellTable.addColumn(narrative); this.cellTable.setColumnWidth(narrative, "55%"); Column<Progress, Progress> cancelColumn = new Column<Progress, Progress>( new CancelButtonCell<Progress>(new Delegate<Progress>() { @Override public void execute(Progress value) { if (value != null) { cellTable.getSelectionModel().setSelected(value, false); getDialog(value).show(); } } }, "cancel activity")) { @Override public Progress getValue(Progress object) { String status = object.getStatus(); if (status == null || status.equalsIgnoreCase("COMPLETE") || status.equalsIgnoreCase("FAILED") || status.equalsIgnoreCase("CANCELLED")) { return null; } return object; } }; cellTable.addColumn(cancelColumn); cellTable.setColumnWidth(cancelColumn, "26px"); //cellTable.setSize("455px", ""); this.add(cellTable); cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); final SingleSelectionModel<Progress> selectionModel = new SingleSelectionModel<Progress>(); cellTable.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { Progress selected = selectionModel.getSelectedObject(); if (selected != null) { if (presenter != null) { presenter.onSelect(selected); // selectionModel.setSelected(selected, false); } } } }); /* * Add Table paging */ simplePager.setDisplay(cellTable); simplePager.setPageSize(PAGESIZE); cellTable.addRangeChangeHandler(new RangeChangeEvent.Handler() { /* (non-Javadoc) * @see com.google.gwt.view.client.RangeChangeEvent.Handler#onRangeChange(com.google.gwt.view.client.RangeChangeEvent) */ @Override public void onRangeChange(RangeChangeEvent event) { Range range = cellTable.getVisibleRange(); int start = range.getStart(); // if(data == null || (data.size() < start) ){ GWT.log("Fetch " + start); presenter.refresh(start); // } else { // if(length+start > data.size()) // length = data.size()-start; // GWT.log("data available start="+start); // grid.setRowData(start, chunk(data.subList(start, start+length))); // } } }); this.add(cellTable); }
From source file:n3phele.client.view.RecentActivityView.java
License:Open Source License
public RecentActivityView() { super();/*from ww w. ja va 2 s .c o m*/ //setSize("100%", "100%"); this.cellTable = new ActivityStatusList(); this.setWidget(this.cellTable); this.setHeading("Recent activities"); final SingleSelectionModel<Progress> selectionModel = new SingleSelectionModel<Progress>(); cellTable.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { Progress selected = selectionModel.getSelectedObject(); if (selected != null) { if (presenter != null) { presenter.onSelect(selected); selectionModel.setSelected(selected, false); } } } }); }
From source file:n3phele.client.view.RepoListView.java
License:Open Source License
public RepoListView() { super(new MenuItem(N3phele.n3pheleResource.repositoryIcon(), "File Repositories", null), new MenuItem( N3phele.n3pheleResource.repositoryAddIcon(), "create a new repository", "repository:")); if (resource == null) resource = GWT.create(ClickableCellTableResource.class); cellTable = new CellTable<Repository>(15, resource); cellTable.setSize("455px", ""); //this.scrollPanel.add(this.cellTable); TextColumn<Repository> nameColumn = new TextColumn<Repository>() { @Override/*from w ww .j ava 2 s.co m*/ public String getValue(Repository item) { String result = ""; if (item != null) return item.getName(); return result; } }; cellTable.addColumn(nameColumn, "Name"); TextColumn<Repository> descriptionColumn = new TextColumn<Repository>() { @Override public String getValue(Repository item) { String result = ""; if (item != null) return item.getDescription(); return result; } }; cellTable.addColumn(descriptionColumn, "Description"); // Add a selection model to handle user selection. final SingleSelectionModel<Repository> selectionModel = new SingleSelectionModel<Repository>(); cellTable.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { Repository selected = selectionModel.getSelectedObject(); if (selected != null) { if (repositoryListActivity != null) { repositoryListActivity.onSelect(selected); } } } }); cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); this.add(cellTable); Column<Repository, Repository> cancelColumn = new Column<Repository, Repository>( new CancelButtonCell<Repository>(new Delegate<Repository>() { @Override public void execute(Repository value) { if (value != null) { cellTable.getSelectionModel().setSelected(value, false); getDialog(value).show(); } } }, "remove repository")) { @Override public Repository getValue(Repository object) { return object; } }; cellTable.addColumn(cancelColumn); cellTable.setColumnWidth(cancelColumn, "26px"); }
From source file:n3phele.client.view.ServiceListView.java
License:Open Source License
public ServiceListView() { super(new MenuItem(N3phele.n3pheleResource.serviceIcon(), "Service List", null), new MenuItem(N3phele.n3pheleResource.serviceIcon(), "create a new service", "service:null")); HorizontalPanel heading = new HorizontalPanel(); heading.setWidth("500px"); heading.setStyleName(N3phele.n3pheleResource.css().sectionPanelHeader()); add(heading);/*w w w . j av a 2 s . c om*/ heading.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); SimplePager simplePager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true); heading.add(simplePager); heading.setCellHorizontalAlignment(simplePager, HorizontalPanel.ALIGN_CENTER); this.cellTable = new ActivityStatusList(); this.cellTable.setWidth("100%"); TextColumn<CloudProcessSummary> narrative = new TextColumn<CloudProcessSummary>() { @Override public String getValue(CloudProcessSummary process) { String result = ""; List<Narrative> narrative = process.getNarrative(); if (narrative != null && narrative.size() > 0) { result = narrative.get(narrative.size() - 1).getText(); } return result; } }; this.cellTable.addColumn(narrative); this.cellTable.setColumnWidth(narrative, "55%"); Column<CloudProcessSummary, CloudProcessSummary> cancelColumn = new Column<CloudProcessSummary, CloudProcessSummary>( new CancelButtonCell<CloudProcessSummary>(new Delegate<CloudProcessSummary>() { @Override public void execute(CloudProcessSummary value) { if (value != null) { cellTable.getSelectionModel().setSelected(value, false); getDialog(value).show(); } } }, "cancel service")) { @Override public CloudProcessSummary getValue(CloudProcessSummary object) { String status = object.getState(); if (status == null || status.equalsIgnoreCase("COMPLETE") || status.equalsIgnoreCase("FAILED") || status.equalsIgnoreCase("CANCELLED")) { return null; } return object; } }; cellTable.addColumn(cancelColumn); cellTable.setColumnWidth(cancelColumn, "26px"); this.add(cellTable); cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); final SingleSelectionModel<CloudProcessSummary> selectionModel = new SingleSelectionModel<CloudProcessSummary>(); cellTable.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { public void onSelectionChange(SelectionChangeEvent event) { CloudProcessSummary selected = selectionModel.getSelectedObject(); if (selected != null) { if (presenter != null) { presenter.onSelect(selected); // selectionModel.setSelected(selected, false); } } } }); /* * Add Table paging */ simplePager.setDisplay(cellTable); simplePager.setPageSize(PAGESIZE); cellTable.addRangeChangeHandler(new RangeChangeEvent.Handler() { /* (non-Javadoc) * @see com.google.gwt.view.client.RangeChangeEvent.Handler#onRangeChange(com.google.gwt.view.client.RangeChangeEvent) */ @Override public void onRangeChange(RangeChangeEvent event) { Range range = cellTable.getVisibleRange(); int start = range.getStart(); GWT.log("Fetch " + start); presenter.refresh(start); } }); this.add(cellTable); }
From source file:net.autosauler.ballance.client.gui.DatabasePanel.java
License:Apache License
/** * Instantiates a new database panel./* w w w .j a v a 2 s . c o m*/ */ private DatabasePanel() { super(new VBoxLayout()); add(createGlobalScriptPanel()); add(createDropDatabasePanel()); add(createDumpDatabasePanel()); settingspanel = createSettingsPanel(); add(settingspanel); MainPanel.setCommInfo(true); Services.database.getSettings(new AsyncCallback<HashMap<String, String>>() { @Override public void onFailure(Throwable caught) { MainPanel.setCommInfo(false); settingspanel.clear(); Label err = new Label(caught.getMessage()); err.setVisible(false); settingspanel.add(err); effectAppear(err.getElement()); Log.error(caught.getMessage()); } @Override public void onSuccess(HashMap<String, String> result) { MainPanel.setCommInfo(false); settings = result; settingspanel.clear(); final Button btn = new Button(); btn.setText(M.database.btnSoreChanges()); btn.setEnabled(false); settingvalue = new TextBox(); settingvalue.setWidth("200px"); settingvalue.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { btn.setEnabled(true); } }); // create celllist // ============================================ ProvidesKey<String> provider = new ProvidesKey<String>() { @Override public Object getKey(String item) { return item == null ? null : item; } }; ListDataProvider<String> dataProvider = new ListDataProvider<String>(); dataProvider.setList(new ArrayList<String>(settings.keySet())); setingsList = new CellList<String>(new TextCell() { }, provider); setingsList.setPageSize(30); setingsList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); setingsList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION); // Add a selection model so we can select cells. final SingleSelectionModel<String> selectionModel = new SingleSelectionModel<String>(provider); setingsList.setSelectionModel(selectionModel); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { settingvalue.setText(settings.get(selectionModel.getSelectedObject())); } }); dataProvider.addDataDisplay(setingsList); // celllist created // ======================================================= btn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { String name = selectionModel.getSelectedObject(); String value = settingvalue.getText().trim(); if (!value.isEmpty()) { HashMap<String, String> values = new HashMap<String, String>(); values.put(name, value); MainPanel.setCommInfo(true); Services.database.setSettings(values, new AsyncCallback<Void>() { @Override public void onFailure(Throwable caught) { MainPanel.setCommInfo(false); new AlertDialog(caught).show(); } @Override public void onSuccess(Void result) { MainPanel.setCommInfo(false); btn.setEnabled(false); } }); } } }); HorizontalPanel panel = new HorizontalPanel(); panel.setSpacing(4); panel.setWidth("500px"); panel.setVisible(false); panel.add(setingsList); panel.setCellWidth(setingsList, "200px"); panel.add(settingvalue); panel.add(btn); settingspanel.add(panel); effectAppear(panel.getElement()); } }); }