Example usage for com.google.gwt.user.cellview.client CellTable CellTable

List of usage examples for com.google.gwt.user.cellview.client CellTable CellTable

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client CellTable CellTable.

Prototype

public CellTable(int pageSize, ProvidesKey<T> keyProvider) 

Source Link

Document

Constructs a table with the given page size and the given ProvidesKey key provider .

Usage

From source file:com.google.gwt.sample.expenses.client.ExpenseList.java

License:Apache License

/**
 * Create the {@link CellTable}./* w ww  .  j  a v  a  2  s .  c o m*/
 */
private void createTable() {
    CellTable.Resources resources = GWT.create(TableResources.class);
    table = new CellTable<ReportProxy>(20, resources);
    table.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
    Styles.Common common = Styles.common();
    table.addColumnStyleName(0, common.spacerColumn());
    table.addColumnStyleName(1, common.expenseListPurposeColumn());
    table.addColumnStyleName(3, common.expenseListDepartmentColumn());
    table.addColumnStyleName(4, common.expenseListCreatedColumn());
    table.addColumnStyleName(5, common.spacerColumn());

    // Add a selection model.
    final NoSelectionModel<ReportProxy> selectionModel = new NoSelectionModel<ReportProxy>();
    table.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        public void onSelectionChange(SelectionChangeEvent event) {
            Object selected = selectionModel.getLastSelectedObject();
            if (selected != null && listener != null) {
                listener.onReportSelected((ReportProxy) selected);
            }
        }
    });

    // Spacer column.
    table.addColumn(new SpacerColumn<ReportProxy>());

    // Purpose column.
    addColumn("Purpose", new HighlightCell(), new GetValue<ReportProxy, String>() {
        public String getValue(ReportProxy object) {
            return object.getPurpose();
        }
    }, "purpose");

    // Notes column.
    addColumn("Notes", new HighlightCell(), new GetValue<ReportProxy, String>() {
        public String getValue(ReportProxy object) {
            return object.getNotes();
        }
    }, "notes");

    // Department column.
    addColumn("Department", new TextCell(), new GetValue<ReportProxy, String>() {
        public String getValue(ReportProxy object) {
            return object.getDepartment();
        }
    }, "department");

    // Created column.
    addColumn("Created", new DateCell(DateTimeFormat.getFormat("MMM dd yyyy")),
            new GetValue<ReportProxy, Date>() {
                public Date getValue(ReportProxy object) {
                    return object.getCreated();
                }
            }, "created");

    // Spacer column.
    table.addColumn(new SpacerColumn<ReportProxy>());
}

From source file:com.google.gwt.sample.showcase.client.content.cell.CwCellValidation.java

License:Apache License

/**
 * Initialize this example.//from   w w  w  .j  a v a 2s  .  c  om
 */
@ShowcaseSource
@Override
public Widget onInitialize() {
    // Create a table.
    final CellTable<ContactInfo> table = new CellTable<ContactInfo>(10, ContactInfo.KEY_PROVIDER);

    // Add the Name column.
    table.addColumn(new Column<ContactInfo, String>(new TextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getFullName();
        }
    }, constants.cwCellValidationColumnName());

    // Add an editable address column.
    final ValidatableInputCell addressCell = new ValidatableInputCell(constants.cwCellValidationError());
    Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>(addressCell) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getAddress();
        }
    };
    table.addColumn(addressColumn, constants.cwCellValidationColumnAddress());
    addressColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, final ContactInfo object, final String value) {
            // Perform validation after 2 seconds to simulate network delay.
            new Timer() {
                @Override
                public void run() {
                    if (isAddressValid(value)) {
                        // The cell will clear the view data when it sees the updated
                        // value.
                        object.setAddress(value);

                        // Push the change to the views.
                        ContactDatabase.get().refreshDisplays();
                    } else {
                        // Update the view data to mark the pending value as invalid.
                        ValidationData viewData = addressCell
                                .getViewData(ContactInfo.KEY_PROVIDER.getKey(object));
                        viewData.setInvalid(true);

                        // We only modified the cell, so do a local redraw.
                        table.redraw();
                    }
                }
            }.schedule(1000);
        }
    });

    // Add the table to the database.
    ContactDatabase.get().addDataDisplay(table);

    return table;
}

From source file:com.sensia.tools.client.swetools.editors.sensorml.panels.widgets.swe.dataarray.GenericTable.java

License:Open Source License

/**
 * Creates the table.// w  ww  . j a v  a  2  s  .co  m
 *
 * @return the panel
 */
public Panel createTable() {
    if (table == null) {
        table = new CellTable<Property>(10, tableRes);
        table.setStyleName("ontology-table-result");

        dataProvider.addDataDisplay(table);

        table.setSkipRowHoverCheck(true);
        table.setSkipRowHoverFloatElementCheck(true);
        table.setSkipRowHoverStyleUpdate(true);
        table.setVisibleRange(0, 100000);

        // Add a selection model to handle user selection.
        final SingleSelectionModel<Property> selectionModel = new SingleSelectionModel<Property>();
        table.setSelectionModel(selectionModel);
        selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
            public void onSelectionChange(SelectionChangeEvent event) {
                Property selected = selectionModel.getSelectedObject();
                if (selected != null) {
                    selectedProperty = selected;
                }
            }
        });
    }

    VerticalPanel vPanel = new VerticalPanel();
    final TextBox searchBox = new TextBox();

    HorizontalPanel hPanel = new HorizontalPanel();
    hPanel.add(new HTML("Search :" + SensorConstants.HTML_SPACE + SensorConstants.HTML_SPACE));
    hPanel.add(searchBox);

    ScrollPanel sPanel = new ScrollPanel();
    sPanel.setStyleName("ontology-table-panel");
    sPanel.add(table);

    vPanel.add(hPanel);
    vPanel.add(sPanel);

    //add key listener on searchBox
    searchBox.addKeyUpHandler(new KeyUpHandler() {

        @Override
        public void onKeyUp(KeyUpEvent event) {
            setFilter(searchBox.getText());
        }
    });

    return vPanel;
}

From source file:com.tasktop.c2c.server.profile.web.ui.client.view.components.account.authentication.AuthenticationView.java

License:Open Source License

private void createSshKeyTable() {
    sshKeyTable = new CellTable<SshPublicKey>(10, CellTableResources.get.resources);
    sshKeyTable.setTableLayoutFixed(true);
    DelegateCell<String> nameCell = new DelegateCell<String>(new DelegateCell.RenderDelegate<String>() {
        @Override//from ww w .  j  a  v a2s.  c  o m
        public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
            return SSH_KEY_TEMPLATE.sshKeyName(presenter.getSshKeys().get(context.getIndex()).getName());
        }
    }, new DelegateCell.ActionDelegate<String>() {
        @Override
        public void execute(Cell.Context context) {
            SshPublicKey toEdit = presenter.getSshKeys().get(context.getIndex());
            presenter.selectSshKey(toEdit);
            EditSshKeyDialog.getInstance().setPresenter(presenter);
        }
    });
    Column<SshPublicKey, String> nameColumn = new Column<SshPublicKey, String>(nameCell) {
        @Override
        public String getValue(SshPublicKey object) {
            return object.getName();
        }
    };
    sshKeyTable.addColumn(nameColumn);
    sshKeyTable.setColumnWidth(nameColumn, 200, Style.Unit.PX);
    DelegateCell<String> removeKeyCell = new DelegateCell<String>(new DelegateCell.RenderDelegate<String>() {
        public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
            return REMOVE_LINK_TEMPLATE.removeLink(commonProfileMessages.remove());
        }
    }, new DelegateCell.ActionDelegate<String>() {
        @Override
        public void execute(Cell.Context context) {
            SshPublicKey toDelete = presenter.getSshKeys().get(context.getIndex());
            presenter.selectSshKey(toDelete);
            DeleteSshKeyDialog.getInstance().setPresenter(presenter);
        }
    });
    sshKeyTable.addColumn(new Column<SshPublicKey, String>(removeKeyCell) {
        @Override
        public String getValue(SshPublicKey object) {
            return null;
        }
    });
}

From source file:com.tasktop.c2c.server.tasks.client.widgets.admin.products.ProjectAdminTasksEditView.java

License:Open Source License

private void createReleasesTable() {
    milestoneTable = new CellTable<Milestone>(10, resources);
    milestoneTable.setWidth("320px", true);
    DelegateCell<String> moveReleaseUpCell = new DelegateCell<String>(
            new DelegateCell.RenderDelegate<String>() {
                @Override/*  w w  w .  j  a  v a2  s. com*/
                public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
                    return SafeHtmlUtils
                            .fromSafeConstant("<span class=\"order-control\"><a class=\"up\"/></span>");
                }
            }, new DelegateCell.ActionDelegate<String>() {
                @Override
                public void execute(Cell.Context object) {
                    int index = object.getIndex();
                    if (index > 0) {
                        milestonesEditor.getList().get(index).setSortkey((short) (index - 1));
                        milestonesEditor.getList().get(index - 1).setSortkey((short) index);
                        Collections.sort(milestonesEditor.getList());
                        milestoneTable.setRowData(milestonesEditor.getList());
                    }
                }
            });
    Column<Milestone, String> moveReleaseUpColumn = new Column<Milestone, String>(moveReleaseUpCell) {

        @Override
        public String getValue(Milestone object) {
            return null;
        }

        @Override
        public void render(Cell.Context context, Milestone object, SafeHtmlBuilder sb) {
            if (context.getIndex() != 0) {
                super.render(context, object, sb);
            }
        }
    };
    milestoneTable.addColumn(moveReleaseUpColumn);
    milestoneTable.setColumnWidth(moveReleaseUpColumn, 22, Unit.PX);

    DelegateCell<String> moveReleaseDownCell = new DelegateCell<String>(
            new DelegateCell.RenderDelegate<String>() {
                @Override
                public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
                    return SafeHtmlUtils
                            .fromSafeConstant("<span class=\"order-control\"><a class=\"down\"/></span>");
                }
            }, new DelegateCell.ActionDelegate<String>() {
                @Override
                public void execute(Cell.Context object) {
                    Short index = (short) object.getIndex();
                    if (index < milestonesEditor.getList().size() - 1) {
                        milestonesEditor.getList().get(index).setSortkey((short) (index + 1));
                        milestonesEditor.getList().get(index + 1).setSortkey(index);
                        Collections.sort(milestonesEditor.getList());
                        milestoneTable.setRowData(milestonesEditor.getList());
                    }
                }
            });
    Column<Milestone, String> moveReleaseDownColumn = new Column<Milestone, String>(moveReleaseDownCell) {

        @Override
        public String getValue(Milestone object) {
            return null;
        }

        @Override
        public void render(Cell.Context context, Milestone object, SafeHtmlBuilder sb) {
            if (context.getIndex() != milestonesEditor.getList().size() - 1) {
                super.render(context, object, sb);
            }
        }
    };
    milestoneTable.addColumn(moveReleaseDownColumn);
    milestoneTable.setColumnWidth(moveReleaseDownColumn, 22, Unit.PX);

    DelegateCell<String> moveReleaseToTopCell = new DelegateCell<String>(
            new DelegateCell.RenderDelegate<String>() {
                @Override
                public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
                    return SafeHtmlUtils
                            .fromSafeConstant("<span class=\"order-control\"><a class=\"top\"/></span>");
                }
            }, new DelegateCell.ActionDelegate<String>() {
                @Override
                public void execute(Cell.Context object) {
                    int index = object.getIndex();
                    Milestone topRelease = milestonesEditor.getList().get(index);
                    milestonesEditor.getList().remove(topRelease);
                    milestonesEditor.getList().add(0, topRelease);
                    int i = 0;
                    for (Milestone milestone : milestonesEditor.getList()) {
                        milestone.setSortkey((short) i);
                        i++;
                    }
                    Collections.sort(milestonesEditor.getList());
                    milestoneTable.setRowData(milestonesEditor.getList());
                }
            });
    Column<Milestone, String> moveReleaseToTopColumn = new Column<Milestone, String>(moveReleaseToTopCell) {

        @Override
        public String getValue(Milestone object) {
            return null;
        }

        @Override
        public void render(Cell.Context context, Milestone object, SafeHtmlBuilder sb) {
            if (context.getIndex() != 0) {
                super.render(context, object, sb);
            }
        }
    };
    milestoneTable.addColumn(moveReleaseToTopColumn);
    milestoneTable.setColumnWidth(moveReleaseToTopColumn, 22, Unit.PX);

    Column<Milestone, String> releaseVersionColumn = addColumn(
            new TextBoxCell(new TextBoxCell.TemplateDelegate() {
                @Override
                public SafeHtml getHtml(Context context, String string) {
                    SafeHtml releaseVerHtml = template.releaseVersion(tasksMessages.releaseVersion(), string);
                    String fieldName = "value";

                    if (ValidationUtils.hasError(context.getKey(), fieldName, errorTable)) {
                        String errorMsg = ValidationUtils.getErrorMessage(context.getKey(), fieldName,
                                errorTable);

                        return template.errorWrapper(releaseVerHtml, SafeHtmlUtils.fromString(errorMsg));
                    } else {
                        return releaseVerHtml;
                    }
                }
            }), new GetValue<Milestone, String>() {
                @Override
                public String getValue(Milestone object) {
                    return milestonesEditor.getEditors()
                            .get(milestonesEditor.getList().indexOf(object)).valueEditor.getValue();
                }
            });
    releaseVersionColumn.setFieldUpdater(new FieldUpdater<Milestone, String>() {
        @Override
        public void update(int index, Milestone object, String value) {
            Milestone currentDefaultMilestone = productDefaultRelease.getValue();
            for (Milestone milestone : presenter.getProduct().getMilestones()) {
                if (milestone.getId().equals(object.getId())) {
                    milestone.setValue(value);
                    break;
                }
            }
            for (Milestone milestone : presenter.getProduct().getMilestones()) {
                if (milestone.getId().equals(currentDefaultMilestone.getId())) {
                    productDefaultRelease.asEditor().getValue().setValue(value);
                    break;
                }
            }

            milestonesEditor.getEditors().get(index).valueEditor.setValue(value);
            productDefaultRelease.setAcceptableValues(presenter.getProduct().getMilestones());
        }
    });
    milestoneTable.addColumn(releaseVersionColumn);
    milestoneTable.setColumnWidth(releaseVersionColumn, 250, Unit.PX);

    DelegateCell<String> removeReleaseCell = new DelegateCell<String>(
            new DelegateCell.RenderDelegate<String>() {
                @Override
                public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
                    final Milestone referenced = milestonesEditor.getList().get(context.getIndex());
                    if (referenced != null && "---".equals(referenced.getValue())) {
                        return SafeHtmlUtils.fromSafeConstant("<a class=\"delete-disabled\"><span/></a>");
                    }
                    return SafeHtmlUtils.fromSafeConstant("<a class=\"misc-icon cancel\"><span/></a>");
                }
            }, new DelegateCell.ActionDelegate<String>() {
                @Override
                public void execute(final Cell.Context object) {
                    final Milestone toRemove = milestonesEditor.getList().get(object.getIndex());
                    if (toRemove == null) {
                        return;
                    }
                    if ("---".equals(toRemove.getValue())) {
                        return;
                    }
                    presenter.deleteMilestone(toRemove.getId(), new ClientCallback<Void>() {
                        @Override
                        public void onReturn(Void aVoid) {
                            for (Milestone milestone : presenter.getProduct().getMilestones()) {
                                if (milestone.getId().equals(toRemove.getId())) {
                                    presenter.getProduct().getMilestones().remove(milestone);
                                    break;
                                }
                            }
                            productDefaultRelease.setAcceptableValues(presenter.getProduct().getMilestones());
                            milestonesEditor.getList().remove(toRemove);
                            milestoneTable.setRowData(milestonesEditor.getList());
                        }
                    });
                }
            });
    Column<Milestone, String> removeReleaseColumn = new Column<Milestone, String>(removeReleaseCell) {

        @Override
        public String getValue(Milestone object) {
            return null;
        }

        @Override
        public void render(Cell.Context context, Milestone object, SafeHtmlBuilder sb) {
            if (milestoneTable.getRowCount() == 1) {
                sb.appendHtmlConstant("<a><span/></a>");
            } else {
                super.render(context, object, sb);
            }
        }
    };
    milestoneTable.addColumn(removeReleaseColumn);
    milestoneTable.setColumnWidth(removeReleaseColumn, 30, Unit.PX);

    DelegateCell<String> addReleaseCell = new DelegateCell<String>(new DelegateCell.RenderDelegate<String>() {
        @Override
        public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
            return SafeHtmlUtils.fromSafeConstant("<a class=\"misc-icon add right\"><span/></a>");
        }
    }, new DelegateCell.ActionDelegate<String>() {
        @Override
        public void execute(Cell.Context object) {
            Milestone newMilestone = presenter.createNewTransientMilestone(milestonesEditor.getList());
            milestonesEditor.getList().add(newMilestone);
            milestoneTable.setRowData(milestonesEditor.getList());
            presenter.getProduct().getMilestones().add(ProjectAdminTasksUtil.duplicateMilestone(newMilestone));
            productDefaultRelease.setAcceptableValues(presenter.getProduct().getMilestones());
        }
    });
    Column<Milestone, String> addReleaseColumn = new Column<Milestone, String>(addReleaseCell) {
        @Override
        public String getValue(Milestone object) {
            return null;
        }

        @Override
        public void render(Cell.Context context, Milestone object, SafeHtmlBuilder sb) {
            if (context.getIndex() == milestoneTable.getRowCount() - 1) {
                super.render(context, object, sb);
            } else {
                sb.appendHtmlConstant("<a><span/></a>");
            }
        }
    };
    milestoneTable.addColumn(addReleaseColumn);
    milestoneTable.setColumnWidth(addReleaseColumn, 30, Unit.PX);
}

From source file:com.tasktop.c2c.server.tasks.client.widgets.admin.products.ProjectAdminTasksEditView.java

License:Open Source License

private void createComponentsTable() {
    componentsTable = new CellTable<Component>(10, resources);
    componentListDataProvider.addDataDisplay(componentsTable);
    componentsTable.setWidth("540px", true);
    Column<Component, String> nameColumn = addColumn(new TextBoxCell(new TextBoxCell.TemplateDelegate() {
        @Override//from   w w w  . java 2s.  c  o m
        public SafeHtml getHtml(Context context, String string) {

            SafeHtml componentNameHtml = template.componentName(commonProfileMessages.name(), string);
            String fieldName = "name";

            if (ValidationUtils.hasError(context.getKey(), fieldName, errorTable)) {
                String errorMsg = ValidationUtils.getErrorMessage(context.getKey(), fieldName, errorTable);

                return template.errorWrapper(componentNameHtml, SafeHtmlUtils.fromString(errorMsg));
            } else {
                return componentNameHtml;
            }
        }
    }), new GetValue<Component, String>() {
        @Override
        public String getValue(Component object) {
            return componentsEditor.getEditors().get(componentsEditor.getList().indexOf(object)).nameEditor
                    .getValue();
        }
    });
    nameColumn.setFieldUpdater(new FieldUpdater<Component, String>() {
        @Override
        public void update(int index, Component object, String value) {
            componentsEditor.getEditors().get(index).nameEditor.setValue(value);
        }
    });
    componentsTable.addColumn(nameColumn, SafeHtmlUtils.fromSafeConstant("<h4>Name</h4>"));
    componentsTable.setColumnWidth(nameColumn, 250, Unit.PX);
    Column<Component, String> descriptionColumn = addColumn(new TextBoxCell(new TextBoxCell.TemplateDelegate() {
        @Override
        public SafeHtml getHtml(Context context, String string) {
            SafeHtml componentDescHtml = template.componentDescription(tasksMessages.description(), string);
            String fieldName = "description";

            if (ValidationUtils.hasError(context.getKey(), fieldName, errorTable)) {
                String errorMsg = ValidationUtils.getErrorMessage(context.getKey(), fieldName, errorTable);

                return template.errorWrapper(componentDescHtml, SafeHtmlUtils.fromString(errorMsg));
            } else {
                return componentDescHtml;
            }
        }
    }), new GetValue<Component, String>() {
        @Override
        public String getValue(Component object) {
            return componentsEditor.getEditors()
                    .get(componentsEditor.getList().indexOf(object)).descriptionEditor.getValue();
        }
    });
    descriptionColumn.setFieldUpdater(new FieldUpdater<Component, String>() {
        @Override
        public void update(int index, Component object, String value) {
            componentsEditor.getEditors().get(index).descriptionEditor.setValue(value);
        }
    });
    componentsTable.addColumn(descriptionColumn,
            SafeHtmlUtils.fromSafeConstant("<h4>" + tasksMessages.description() + "</h4>"));
    componentsTable.setColumnWidth(descriptionColumn, 250, Unit.PX);

    DelegateCell<String> removeComponentCell = new DelegateCell<String>(
            new DelegateCell.RenderDelegate<String>() {
                @Override
                public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
                    return SafeHtmlUtils.fromSafeConstant("<a class=\"misc-icon cancel\"><span/></a>");
                }
            }, new DelegateCell.ActionDelegate<String>() {
                @Override
                public void execute(final Cell.Context object) {
                    presenter.deleteComponent(componentsEditor.getList().get(object.getIndex()).getId(),
                            new ClientCallback<Void>() {
                                @Override
                                public void onReturn(Void aVoid) {
                                    componentsEditor.getList().remove(object.getIndex());
                                    componentsTable.setRowData(componentsEditor.getList());
                                }
                            });
                }
            });
    Column<Component, String> removeComponentColumn = new Column<Component, String>(removeComponentCell) {

        @Override
        public String getValue(Component object) {
            return null;
        }

        @Override
        public void render(Cell.Context context, Component object, SafeHtmlBuilder sb) {
            if (componentsTable.getRowCount() == 1) {
                sb.appendHtmlConstant("<a><span/></a>");
            } else {
                super.render(context, object, sb);
            }
        }
    };
    componentsTable.addColumn(removeComponentColumn);
    componentsTable.setColumnWidth(removeComponentColumn, 30, Unit.PX);

    DelegateCell<String> addComponentCell = new DelegateCell<String>(new DelegateCell.RenderDelegate<String>() {
        @Override
        public SafeHtml render(Cell.Context context, String value, SafeHtmlBuilder sb) {
            return SafeHtmlUtils.fromSafeConstant("<a class=\"misc-icon add right\"><span/></a>");
        }
    }, new DelegateCell.ActionDelegate<String>() {
        @Override
        public void execute(Cell.Context object) {
            componentsEditor.getList().add(presenter.createNewTransientComponent(componentsEditor.getList()));
            componentsTable.setRowData(componentsEditor.getList());
        }
    });
    Column<Component, String> addComponentColumn = new Column<Component, String>(addComponentCell) {
        @Override
        public String getValue(Component object) {
            return null;
        }

        @Override
        public void render(Cell.Context context, Component object, SafeHtmlBuilder sb) {
            if (context.getIndex() == componentsTable.getRowCount() - 1) {
                super.render(context, object, sb);
            } else {
                sb.appendHtmlConstant("<a><span/></a>");
            }
        }
    };
    componentsTable.addColumn(addComponentColumn);
    componentsTable.setColumnWidth(addComponentColumn, 25, Unit.PX);
}

From source file:eu.riscoss.client.entities.EntityPropertyPage.java

License:Apache License

protected void loadProperties(JSONValue response) {
    rasLoaded = false;//from   w w w .  j  a  v  a2  s . c o m
    info = new JsonEntitySummary(response);

    confDialog = new RDCConfDialog(module);
    confDialog.setSelectedEntity(entity);

    layer = info.getLayer();

    parentList = new ArrayList<>();
    childrenList = new ArrayList<>();
    parentsListbox = new ListBox();
    childrenListbox = new ListBox();

    for (int i = 0; i < info.getParentList().size(); ++i) {
        parentList.add(info.getParentList().get(i).isString().stringValue());
    }
    for (int i = 0; i < info.getChildrenList().size(); ++i) {
        childrenList.add(info.getChildrenList().get(i).isString().stringValue());
    }

    //Properties Panel
    v = new VerticalPanel();
    propertiesPanel = new VerticalPanel();

    Label layerInfoLabel = new Label("Layer information");
    layerInfoLabel.setStyleName("smallTitle");
    Label parentInfoLabel = new Label("Hierarchy information");
    parentInfoLabel.setStyleName("smallTitle");

    loadContextualInfoData();
    propertiesPanel.add(layerInfoLabel);
    propertiesPanel.add(tb);
    propertiesPanel.add(parentInfoLabel);
    propertiesPanel.add(v);

    v.setWidth("100%");
    {
        HorizontalPanel hPanel = new HorizontalPanel();
        hPanel.setWidth("100%");
        parents = new VerticalPanel();
        children = new VerticalPanel();

        HorizontalPanel data = new HorizontalPanel();

        Label l = new Label("Parent");
        l.setStyleName("bold");
        data.add(l);
        RiscossJsonClient.getCandidateChildren(entity, new JsonCallback() {
            @Override
            public void onFailure(Method method, Throwable exception) {
                Window.alert(exception.getMessage());
            }

            @Override
            public void onSuccess(Method method, JSONValue response) {
                for (int i = 0; i < response.isArray().size(); ++i) {
                    childrenListbox.addItem(response.isArray().get(i).isString().stringValue());
                }
                RiscossJsonClient.getCandidateParents(entity, new JsonCallback() {
                    @Override
                    public void onFailure(Method method, Throwable exception) {
                        Window.alert(exception.getMessage());
                    }

                    @Override
                    public void onSuccess(Method method, JSONValue response) {
                        for (int i = 0; i < response.isArray().size(); ++i) {
                            parentsListbox.addItem(response.isArray().get(i).isString().stringValue());
                        }
                    }
                });
            }
        });
        /*for (int i = 0; i < entitiesList.size(); ++i) {
           if (!entitiesList.get(i).equals(entity)) {
              parentsListbox.addItem(entitiesList.get(i));
              childrenListbox.addItem(entitiesList.get(i));
           }
        }*/
        data.add(parentsListbox);
        Button b = new Button("Add parent", new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                String newParent = parentsListbox.getItemText(parentsListbox.getSelectedIndex());
                if (parentList.contains(newParent)) {
                    Window.alert("The selected entity is already a parent");
                    return;
                }
                if (childrenList.contains(newParent)) {
                    Window.alert(
                            "The selected entity is already a children. An entity can not be parent and child of the same entity.");
                    return;
                }
                parentList.add(newParent);
                parentsTable.setRowData(0, parentList);
                changedData = true;
            }
        });
        b.setStyleName("Button");
        data.add(b);
        data.setStyleName("marginTopBottom");
        parents.add(data);

        parentsTable = new CellTable<String>(15, (Resources) GWT.create(TableResources.class));
        parentsTable.setWidth("100%");
        t = new TextColumn<String>() {
            @Override
            public String getValue(String arg0) {
                return arg0;
            }
        };
        deleteParent = new Button("Delete parent");
        deleteParent.setStyleName("deleteButton");
        final SingleSelectionModel<String> selectionModel = new SingleSelectionModel<String>();
        parentsTable.setSelectionModel(selectionModel);
        selectionModel.addSelectionChangeHandler(new Handler() {
            @Override
            public void onSelectionChange(SelectionChangeEvent arg0) {
                parents.remove(deleteParent);
                deleteParent.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        parentList.remove(selectionModel.getSelectedObject());
                        parents.remove(parentsTable);
                        parents.remove(pager);
                        parentsTable = new CellTable<String>(15, (Resources) GWT.create(TableResources.class));
                        parentsTable.setWidth("100%");
                        parentsTable.setSelectionModel(selectionModel);
                        t = new TextColumn<String>() {
                            @Override
                            public String getValue(String arg0) {
                                return arg0;
                            }
                        };
                        parentsTable.addColumn(t, "Parents");
                        if (parentList.size() > 0)
                            parentsTable.setRowData(0, parentList);
                        else {
                            parentList.add("");
                            parentsTable.setRowData(0, parentList);
                            parentList.remove(0);
                        }
                        parentsTable.setStyleName("table");

                        parentDataProvider = new ListDataProvider<String>();
                        parentDataProvider.addDataDisplay(parentsTable);

                        for (int i = 0; i < parentList.size(); i++) {
                            parentDataProvider.getList().add(parentList.get(i));
                        }

                        pager = new SimplePager();
                        pager.setDisplay(parentsTable);

                        parents.add(parentsTable);
                        parents.add(pager);

                        parents.remove(deleteParent);
                        changedData = true;
                    }
                });
                parents.add(deleteParent);
            }
        });

        parentsTable.addColumn(t, "Parents");

        if (parentList.size() > 0)
            parentsTable.setRowData(0, parentList);
        else {
            parentList.add("");
            parentsTable.setRowData(0, parentList);
            parentList.remove(0);
        }
        parentsTable.setStyleName("table");

        parentDataProvider = new ListDataProvider<String>();
        parentDataProvider.addDataDisplay(parentsTable);

        for (int i = 0; i < parentList.size(); i++) {
            parentDataProvider.getList().add(parentList.get(i));
        }

        pager = new SimplePager();
        pager.setDisplay(parentsTable);

        parents.add(parentsTable);
        parents.add(pager);

        HorizontalPanel data2 = new HorizontalPanel();

        Label l2 = new Label("Children");
        l2.setStyleName("bold");
        data2.add(l2);
        data2.add(childrenListbox);
        Button b2 = new Button("Add children", new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                String newChildren = childrenListbox.getItemText(childrenListbox.getSelectedIndex());
                if (childrenList.contains(newChildren)) {
                    Window.alert("The selected entity is already a children");
                    return;
                }
                if (parentList.contains(newChildren)) {
                    Window.alert(
                            "The selected entity is already a children. An entity can not be parent and child of the same entity.");
                    return;
                }
                childrenList.add(newChildren);
                childrenTable.setRowData(0, childrenList);
                changedData = true;
            }
        });
        b2.setStyleName("Button");
        data2.add(b2);
        data2.setStyleName("marginTopBottom");
        children.add(data2);

        childrenTable = new CellTable<String>(15, (Resources) GWT.create(TableResources.class));
        childrenTable.setWidth("100%");
        t2 = new TextColumn<String>() {
            @Override
            public String getValue(String arg0) {
                return arg0;
            }
        };
        deleteChildren = new Button("Delete children");
        deleteChildren.setStyleName("deleteButton");
        final SingleSelectionModel<String> selectionModel2 = new SingleSelectionModel<String>();
        childrenTable.setSelectionModel(selectionModel2);
        selectionModel2.addSelectionChangeHandler(new Handler() {
            @Override
            public void onSelectionChange(SelectionChangeEvent arg0) {
                children.remove(deleteChildren);
                deleteChildren.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        childrenList.remove(selectionModel2.getSelectedObject());
                        children.remove(childrenTable);
                        children.remove(childrenPager);
                        childrenTable = new CellTable<String>(15, (Resources) GWT.create(TableResources.class));
                        childrenTable.setWidth("100%");
                        childrenTable.setSelectionModel(selectionModel2);
                        t2 = new TextColumn<String>() {
                            @Override
                            public String getValue(String arg0) {
                                return arg0;
                            }
                        };
                        childrenTable.addColumn(t, "Children");
                        if (childrenList.size() > 0)
                            childrenTable.setRowData(0, childrenList);
                        else {
                            childrenList.add("");
                            childrenTable.setRowData(0, childrenList);
                            childrenList.remove(0);
                        }
                        childrenTable.setStyleName("table");

                        childrenDataProvider = new ListDataProvider<String>();
                        childrenDataProvider.addDataDisplay(childrenTable);

                        for (int i = 0; i < childrenList.size(); i++) {
                            childrenDataProvider.getList().add(childrenList.get(i));
                        }

                        childrenPager = new SimplePager();
                        childrenPager.setDisplay(childrenTable);

                        children.add(childrenTable);
                        children.add(childrenPager);

                        children.remove(deleteChildren);
                        changedData = true;
                    }
                });
                children.add(deleteChildren);
            }
        });

        childrenTable.addColumn(t, "Children");

        if (childrenList.size() > 0)
            childrenTable.setRowData(0, childrenList);
        else {
            childrenList.add("");
            childrenTable.setRowData(0, childrenList);
            childrenList.remove(0);
        }
        childrenTable.setStyleName("table");

        childrenDataProvider = new ListDataProvider<String>();
        childrenDataProvider.addDataDisplay(childrenTable);

        for (int i = 0; i < childrenList.size(); i++) {
            childrenDataProvider.getList().add(childrenList.get(i));
        }

        childrenPager = new SimplePager();
        childrenPager.setDisplay(childrenTable);

        children.add(childrenTable);
        children.add(childrenPager);

        hPanel.setWidth("100%");
        hPanel.add(parents);
        HorizontalPanel h = new HorizontalPanel();
        h.setWidth("100px");
        hPanel.add(h);
        hPanel.add(children);
        v.add(hPanel);

    }

    entityDataBox = new EntityDataBox();
    entityDataBox.setSelectedEntity(entity);
    rdr.setWidget(entityDataBox);
    loadRASWidget();
}

From source file:eu.riscoss.client.layers.LayersModule.java

License:Apache License

private void reloadEntityTable(JSONValue response) {
    list = response;//from  w w  w .ja  v a  2 s  .c om
    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.models.ModelsModule.java

License:Apache License

private void loadModelsTable(JSONValue response) {
    tablePanel.clear();/*ww w .  ja  va 2 s.c om*/
    table = new CellTable<ModelInfo>(15, (Resources) GWT.create(TableResources.class));

    table.addColumn(new Column<ModelInfo, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(ModelInfo object) {
            return new LinkHtml(object.getName(), "javascript:editModel(\"" + object.getName() + "\")");
        };
    }, "Model");

    dataProvider = new ListDataProvider<ModelInfo>();
    dataProvider.addDataDisplay(table);

    GWT.log(response.toString());
    if (response.isArray() != null) {
        for (int i = 0; i < response.isArray().size(); i++) {
            JSONObject o = (JSONObject) response.isArray().get(i);
            dataProvider.getList().add(new ModelInfo(o.get("name").isString().stringValue()));
        }
    }

    SimplePager pager = new SimplePager();
    pager.setDisplay(table);

    tablePanel = new VerticalPanel();
    tablePanel.add(table);
    table.setWidth("100%");
    tablePanel.add(pager);
    tablePanel.setWidth("100%");
    table.setWidth("100%");
    spTable.setWidget(tablePanel);
}

From source file:eu.riscoss.client.models.ModelsModule.java

License:Apache License

protected void deleteRC() {
    if (hasRiskConfs) {
        Window.alert("Models with associated risk configurations cannot be deleted");
    } else {//from  w w w .j av  a  2 s.  c o m
        Boolean b = Window.confirm("Are you sure that you want to delete model " + selectedModel + "?");
        if (b) {
            RiscossJsonClient.deleteModel(selectedModel, new JsonCallback() {
                @Override
                public void onFailure(Method method, Throwable exception) {
                    Window.alert(exception.getMessage());
                }

                @Override
                public void onSuccess(Method method, JSONValue response) {
                    //dataProvider.getList().remove(getValue());
                    leftPanel.remove(tablePanel);
                    tablePanel.clear();
                    mainView.remove(rightPanel);
                    table = new CellTable<ModelInfo>(15, (Resources) GWT.create(TableResources.class));

                    table.addColumn(new Column<ModelInfo, SafeHtml>(new SafeHtmlCell()) {
                        @Override
                        public SafeHtml getValue(ModelInfo object) {
                            return new LinkHtml(object.getName(),
                                    "javascript:editModel(\"" + object.getName() + "\")");
                        };
                    }, "Model");

                    dataProvider = new ListDataProvider<ModelInfo>();
                    dataProvider.addDataDisplay(table);

                    RiscossJsonClient.listModels(new JsonCallback() {

                        public void onSuccess(Method method, JSONValue response) {
                            GWT.log(response.toString());
                            if (response.isArray() != null) {
                                for (int i = 0; i < response.isArray().size(); i++) {
                                    JSONObject o = (JSONObject) response.isArray().get(i);
                                    dataProvider.getList()
                                            .add(new ModelInfo(o.get("name").isString().stringValue()));
                                }
                            }
                        }

                        public void onFailure(Method method, Throwable exception) {
                            Window.alert(exception.getMessage());
                        }
                    });

                    SimplePager pager = new SimplePager();
                    pager.setDisplay(table);
                    tablePanel = new VerticalPanel();
                    tablePanel.add(table);
                    tablePanel.add(pager);

                    leftPanel.add(tablePanel);

                }
            });
        }
    }
}