Example usage for com.google.gwt.view.client SingleSelectionModel getSelectedObject

List of usage examples for com.google.gwt.view.client SingleSelectionModel getSelectedObject

Introduction

In this page you can find the example usage for com.google.gwt.view.client SingleSelectionModel getSelectedObject.

Prototype

public T getSelectedObject() 

Source Link

Document

Gets the currently-selected object.

Usage

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());
        }
    });
}