Example usage for com.vaadin.shared.ui.grid HeightMode ROW

List of usage examples for com.vaadin.shared.ui.grid HeightMode ROW

Introduction

In this page you can find the example usage for com.vaadin.shared.ui.grid HeightMode ROW.

Prototype

HeightMode ROW

To view the source code for com.vaadin.shared.ui.grid HeightMode ROW.

Click Source Link

Document

The height of the Component or Widget in question is defined by a number of rows.

Usage

From source file:com.github.carljmosca.ui.EventsView.java

@PostConstruct
private void init() {
    sdf = new SimpleDateFormat("MM/dd/yy HH:mm");
    setCaption("Events");
    grid = new Grid<>(Events.class);
    grid.addColumn(p -> p.getName() + ": " + sdf.format(p.getStartTime()) + " " + p.getCause())
            .setCaption("Name/Start").setId("nameAndStart");
    grid.setColumns("nameAndStart");
    grid.setHeightMode(HeightMode.ROW);
    grid.setHeightByRows(10.0d);//from w ww .j  a v  a2 s  .co  m
    grid.setSelectionMode(Grid.SelectionMode.SINGLE);
    grid.addSelectionListener((SelectionEvent<Events> event) -> {
        DemoUI demoUI = (DemoUI) UI.getCurrent();
        demoUI.setEventId(grid.getSelectedItems().stream().findFirst().get().getEventsPK().getId());
        getNavigationManager().navigateTo(framesView);
    });
    grid.setSizeUndefined();
    VerticalLayout gridLayout = new VerticalLayout(grid);
    gridLayout.setSizeFull();
    SimpleDateFormat dtf = new SimpleDateFormat("yy-MM-dd hh:mm");
    setContent(gridLayout);
}

From source file:com.github.carljmosca.ui.EventsView.java

private void populateGrid() {
    DemoUI demoUI = (DemoUI) this.getUI();
    if (demoUI.getEventStartTime() != null && demoUI.getMonitorId() > 0) {
        grid.setDataProvider(/* ww  w .ja va2s  .c o  m*/
                (sortorder, offset,
                        limit) -> eventsRepository.findByMonitorAndStartTime(offset, limit,
                                demoUI.getMonitorId(), demoUI.getEventStartTime()).stream(),
                () -> (int) eventsRepository.count());
        grid.setHeightMode(HeightMode.ROW);
        grid.setHeightByRows(10.0d);
    }
}

From source file:de.uni_tuebingen.qbic.qbicmainportlet.HomeView.java

License:Open Source License

/**
 * sets the ContainerDataSource of this view. Should usually contain project information. Caption
 * is caption./*from w w w. ja  va2 s  .  com*/
 * 
 * @param homeViewInformation
 * @param caption
 */
public void setContainerDataSource(SpaceBean spaceBean, String newCaption) {

    caption = newCaption;
    currentBean = spaceBean;
    numberOfProjects = currentBean.getProjects().size();
    projectGrid = new Grid();

    GeneratedPropertyContainer gpcProjects = new GeneratedPropertyContainer(spaceBean.getProjects());
    gpcProjects.removeContainerProperty("members");
    gpcProjects.removeContainerProperty("id");
    gpcProjects.removeContainerProperty("experiments");
    gpcProjects.removeContainerProperty("contact");
    gpcProjects.removeContainerProperty("contactPerson");
    gpcProjects.removeContainerProperty("projectManager");
    gpcProjects.removeContainerProperty("containsData");
    gpcProjects.removeContainerProperty("containsResults");
    gpcProjects.removeContainerProperty("containsAttachments");
    gpcProjects.removeContainerProperty("description");
    gpcProjects.removeContainerProperty("progress");
    gpcProjects.removeContainerProperty("registrationDate");
    gpcProjects.removeContainerProperty("registrator");
    gpcProjects.removeContainerProperty("longDescription");

    projectGrid.setContainerDataSource(gpcProjects);

    projectGrid.setHeightMode(HeightMode.ROW);
    projectGrid.setHeightByRows(20);

    // projectGrid.getColumn("space").setWidthUndefined();
    // projectGrid.getColumn("code").setWidthUndefined();
    // projectGrid.getColumn("secondaryName").setWidthUndefined();
    // projectGrid.getColumn("principalInvestigator").setWidthUndefined();

    projectGrid.getColumn("code").setHeaderCaption("Sub-Project").setWidth(150);
    // projectGrid.getColumn("space").setWidth(200);

    Column nameCol = projectGrid.getColumn("secondaryName");
    nameCol.setHeaderCaption("Short Name");
    nameCol.setMaximumWidth(450);
    projectGrid.getColumn("space").setMaximumWidth(350);
    projectGrid.getColumn("space").setHeaderCaption("Project");
    projectGrid.getColumn("principalInvestigator").setHeaderCaption("Investigator");
    projectGrid.setColumnOrder("code", "space", "secondaryName", "principalInvestigator");

    projectGrid.setResponsive(true);

    helpers.GridFunctions.addColumnFilters(projectGrid, gpcProjects);

    gpcProjects.addGeneratedProperty("Summary", new PropertyValueGenerator<String>() {
        @Override
        public String getValue(Item item, Object itemId, Object propertyId) {
            return "show";
        }

        @Override
        public Class<String> getType() {
            return String.class;
        }
    });

    projectGrid.getColumn("Summary").setWidthUndefined();

    projectGrid.getColumn("Summary").setRenderer(new ButtonRenderer(new RendererClickListener() {

        @Override
        public void click(RendererClickEvent event) {
            // Show loading window
            ProgressBar bar = new ProgressBar();
            bar.setIndeterminate(true);
            VerticalLayout vl = new VerticalLayout(bar);
            vl.setComponentAlignment(bar, Alignment.MIDDLE_CENTER);
            vl.setWidth("50%");
            vl.setSpacing(true);
            vl.setMargin(true);

            Window loadingWindow = new Window("Loading project summary...");
            loadingWindow.setWidth("50%");
            loadingWindow.setContent(vl);
            loadingWindow.center();
            loadingWindow.setModal(true);
            loadingWindow.setResizable(false);
            QbicmainportletUI ui = (QbicmainportletUI) UI.getCurrent();
            ui.addWindow(loadingWindow);

            // fetch summary and create docx in tmp folder

            ProjectBean proj = (ProjectBean) event.getItemId();
            summaryFetcher.fetchSummaryComponent(proj.getCode(), proj.getSecondaryName(), proj.getDescription(),
                    new ProjectSummaryReadyRunnable(summaryFetcher, loadingWindow, proj.getCode()));
        }
    }));
    projectGrid.getColumn("Summary").setWidth(100);

    projectGrid.addSelectionListener(new SelectionListener() {

        @Override
        public void select(SelectionEvent event) {
            Set<Object> selectedElements = event.getSelected();
            if (selectedElements == null) {
                return;
            }

            ProjectBean selectedProject = (ProjectBean) selectedElements.iterator().next();

            if (selectedProject == null) {
                return;
            }

            String entity = selectedProject.getId();
            State state = (State) UI.getCurrent().getSession().getAttribute("state");
            ArrayList<String> message = new ArrayList<String>();
            message.add("clicked");
            message.add(entity);
            message.add(ProjectView.navigateToLabel);
            state.notifyObservers(message);
        }
    });
}

From source file:de.uni_tuebingen.qbic.qbicmainportlet.PatientView.java

License:Open Source License

void updateProjectStatus() {

    BeanItemContainer<ExperimentStatusBean> experimentstatusBeans = datahandler
            .computeIvacPatientStatus(currentBean);

    int finishedExperiments = 0;
    status.removeAllComponents();/*w  ww.  ja  v  a 2 s  . co  m*/
    status.setWidth(100.0f, Unit.PERCENTAGE);

    // Generate button caption column
    final GeneratedPropertyContainer gpc = new GeneratedPropertyContainer(experimentstatusBeans);
    gpc.addGeneratedProperty("started", new PropertyValueGenerator<String>() {

        @Override
        public Class<String> getType() {
            return String.class;
        }

        @Override
        public String getValue(Item item, Object itemId, Object propertyId) {
            String status = null;

            if ((double) item.getItemProperty("status").getValue() > 0.0) {
                status = "<span class=\"v-icon\" style=\"font-family: " + FontAwesome.CHECK.getFontFamily()
                        + ";color:" + "#2dd085" + "\">&#x"
                        + Integer.toHexString(FontAwesome.CHECK.getCodepoint()) + ";</span>";
            } else {
                status = "<span class=\"v-icon\" style=\"font-family: " + FontAwesome.TIMES.getFontFamily()
                        + ";color:" + "#f54993" + "\">&#x"
                        + Integer.toHexString(FontAwesome.TIMES.getCodepoint()) + ";</span>";
            }

            return status.toString();
        }
    });
    gpc.removeContainerProperty("identifier");

    experiments.setContainerDataSource(gpc);
    // experiments.setHeaderVisible(false);
    experiments.setHeightMode(HeightMode.ROW);
    experiments.setHeightByRows(gpc.size());
    experiments.setWidth(Page.getCurrent().getBrowserWindowWidth() * 0.6f, Unit.PIXELS);

    experiments.getColumn("status").setRenderer(new ProgressBarRenderer());
    experiments.setColumnOrder("started", "code", "description", "status", "download", "runWorkflow");

    ButtonRenderer downloadRenderer = new ButtonRenderer(new RendererClickListener() {
        @Override
        public void click(RendererClickEvent event) {
            ExperimentStatusBean esb = (ExperimentStatusBean) event.getItemId();

            if (esb.getDescription().equals("Barcode Generation")) {
                new Notification("Download of Barcodes not available.",
                        "<br/>Please create barcodes by clicking 'Run'.", Type.WARNING_MESSAGE, true)
                                .show(Page.getCurrent());
            } else if (esb.getIdentifier() == null || esb.getIdentifier().isEmpty()) {
                new Notification("No data available for download.",
                        "<br/>Please do the analysis by clicking 'Run' first.", Type.WARNING_MESSAGE, true)
                                .show(Page.getCurrent());
            } else {
                ArrayList<String> message = new ArrayList<String>();
                message.add("clicked");
                StringBuilder sb = new StringBuilder("type=");
                sb.append("experiment");
                sb.append("&");
                sb.append("id=");
                // sb.append(currentBean.getId());
                sb.append(esb.getIdentifier());
                message.add(sb.toString());
                message.add(DatasetView.navigateToLabel);
                state.notifyObservers(message);
            }

        }

    });

    experiments.getColumn("download").setRenderer(downloadRenderer);

    experiments.getColumn("runWorkflow").setRenderer(new ButtonRenderer(new RendererClickListener() {
        @Override
        public void click(RendererClickEvent event) {
            ExperimentStatusBean esb = (ExperimentStatusBean) event.getItemId();

            // TODO idea get description of item to navigate to the correct workflow ?!
            if (esb.getDescription().equals("Barcode Generation")) {
                ArrayList<String> message = new ArrayList<String>();
                message.add("clicked");
                message.add(currentBean.getId());
                // TODO link to barcode dragon
                // message.add(BarcodeView.navigateToLabel);
                // state.notifyObservers(message);
            } else {
                ArrayList<String> message = new ArrayList<String>();
                message.add("clicked");
                StringBuilder sb = new StringBuilder("type=");
                sb.append("workflowExperimentType");
                sb.append("&");
                sb.append("id=");
                sb.append("Q_WF_MS_PEPTIDEID");
                sb.append("&");
                sb.append("project=");
                sb.append(currentBean.getId());
                message.add(sb.toString());
                message.add(WorkflowView.navigateToLabel);
                state.notifyObservers(message);
            }
        }
    }));

    experiments.getColumn("started").setRenderer(new HtmlRenderer());

    ProgressBar progressBar = new ProgressBar();
    progressBar.setCaption("Overall Progress");
    progressBar.setWidth(Page.getCurrent().getBrowserWindowWidth() * 0.6f, Unit.PIXELS);
    progressBar.setStyleName("patientprogress");

    status.addComponent(progressBar);
    status.addComponent(experiments);
    status.setComponentAlignment(progressBar, Alignment.MIDDLE_CENTER);
    status.setComponentAlignment(experiments, Alignment.MIDDLE_CENTER);

    /**
     * Defined Experiments for iVac - Barcodes available -> done with project creation (done) -
     * Sequencing done (Status Q_NGS_MEASUREMENT) - Variants annotated (Status
     * Q_NGS_VARIANT_CALLING) - HLA Typing done (STATUS Q_NGS_WF_HLA_TYPING) - Epitope Prediction
     * done (STATUS Q_WF_NGS_EPITOPE_PREDICTION)
     */

    for (Iterator i = experimentstatusBeans.getItemIds().iterator(); i.hasNext();) {
        ExperimentStatusBean statusBean = (ExperimentStatusBean) i.next();

        // HorizontalLayout experimentStatusRow = new HorizontalLayout();
        // experimentStatusRow.setSpacing(true);

        finishedExperiments += statusBean.getStatus();

        // statusBean.setDownload("Download");
        statusBean.setWorkflow("Run");

        /*
         * if ((Integer) pairs.getValue() == 0) { Label statusLabel = new Label(pairs.getKey() + ": "
         * + FontAwesome.TIMES.getHtml(), ContentMode.HTML); statusLabel.addStyleName("redicon");
         * experimentStatusRow.addComponent(statusLabel);
         * statusContent.addComponent(experimentStatusRow); }
         * 
         * else {
         * 
         * Label statusLabel = new Label(pairs.getKey() + ": " + FontAwesome.CHECK.getHtml(),
         * ContentMode.HTML); statusLabel.addStyleName("greenicon");
         * experimentStatusRow.addComponent(statusLabel);
         * statusContent.addComponent(experimentStatusRow);
         * 
         * finishedExperiments += (Integer) pairs.getValue(); }
         * experimentStatusRow.addComponent(runWorkflow);
         * 
         * }
         */
    }

    progressBar.setValue((float) finishedExperiments / experimentstatusBeans.size());
}

From source file:de.uni_tuebingen.qbic.qbicmainportlet.SearchResultsView.java

License:Open Source License

void buildLayout(int browserHeight, int browserWidth, WebBrowser browser) {
    // this.setMargin(new MarginInfo(true, true, false, false));
    // clean up first
    searchResultsLayout.removeAllComponents();
    searchResultsLayout.setWidth("100%");
    // searchResultsLayout.setSpacing(true);

    searchResultsLayout.setCaption("Search results for query '" + queryString + "'");
    // Label header = new Label("Search results for query '" + queryString + "':");
    // searchResultsLayout.addComponent(header);

    // updateView(browserWidth, browserWidth, browser);

    VerticalLayout viewContent = new VerticalLayout();
    viewContent.setWidth("100%");
    viewContent.setSpacing(true);/*  w ww. ja v a2 s. c o m*/
    viewContent.setMargin(new MarginInfo(true, false, false, false));

    List<String> showOptions = datahandler.getShowOptions();

    if (showOptions.contains("Projects")) {
        projectGrid = new Grid(projBeanContainer);
        projectGrid.setCaption("Found Projects");
        projectGrid.setColumnOrder("projectID", "description");
        projectGrid.setSizeFull();

        projectGrid.setHeightMode(HeightMode.ROW);
        projectGrid.setHeightByRows(5);
        projectGrid.setSelectionMode(SelectionMode.SINGLE);

        projectGrid.addItemClickListener(new ItemClickListener() {

            @Override
            public void itemClick(ItemClickEvent event) {
                // TODO Auto-generated method stub
                String cellType = new String(event.getPropertyId().toString());

                if (cellType.equals("projectID")) {
                    String cellContent = new String(
                            projBeanContainer.getContainerProperty(event.getItemId(), event.getPropertyId())
                                    .getValue().toString());

                    State state = (State) UI.getCurrent().getSession().getAttribute("state");
                    ArrayList<String> message = new ArrayList<String>();
                    message.add("clicked");
                    message.add(cellContent);
                    message.add("project");
                    state.notifyObservers(message);
                }
            }
        });

        if (projBeanContainer.size() == 0) {
            Label noSamples = new Label("no projects were found");
            noSamples.setCaption("Found Projects");
            viewContent.addComponent(noSamples);
        } else {
            viewContent.addComponent(projectGrid);
        }
    }

    if (showOptions.contains("Experiments")) {
        // expGrid = new Grid(expBeanContainer);
        expGrid = new Grid(expBeanContainer);
        expGrid.setCaption("Found Experiments");
        expGrid.setColumnOrder("experimentID", "experimentName", "matchedField");
        expGrid.setSizeFull();

        expGrid.getColumn("experimentID").setExpandRatio(0);
        expGrid.getColumn("experimentName").setExpandRatio(1);
        expGrid.getColumn("matchedField").setExpandRatio(1);

        expGrid.setHeightMode(HeightMode.ROW);
        expGrid.setHeightByRows(5);
        expGrid.setSelectionMode(SelectionMode.SINGLE);

        expGrid.addItemClickListener(new ItemClickListener() {
            @Override
            public void itemClick(ItemClickEvent event) {
                String cellType = new String(event.getPropertyId().toString());

                if (cellType.equals("experimentID")) {
                    String cellContent = new String(
                            expBeanContainer.getContainerProperty(event.getItemId(), event.getPropertyId())
                                    .getValue().toString());

                    State state = (State) UI.getCurrent().getSession().getAttribute("state");
                    ArrayList<String> message = new ArrayList<String>();
                    message.add("clicked");
                    message.add(cellContent);
                    message.add("experiment");
                    state.notifyObservers(message);
                }
            }
        });

        if (expBeanContainer.size() == 0) {
            Label noExps = new Label("no experiments were found");
            noExps.setCaption("Found Experiments");
            viewContent.addComponent(noExps);
        } else {
            viewContent.addComponent(expGrid);
        }

    }

    if (showOptions.contains("Samples")) {
        sampleGrid = new Grid(sampleBeanContainer);
        sampleGrid.setCaption("Found Samples");
        sampleGrid.setColumnOrder("sampleID", "sampleName", "matchedField");
        sampleGrid.setSizeFull();

        sampleGrid.getColumn("sampleID").setExpandRatio(0);
        sampleGrid.getColumn("sampleName").setExpandRatio(1);
        sampleGrid.getColumn("matchedField").setExpandRatio(1);

        sampleGrid.setHeightMode(HeightMode.ROW);
        sampleGrid.setHeightByRows(5);
        sampleGrid.setSelectionMode(SelectionMode.SINGLE);

        sampleGrid.addItemClickListener(new ItemClickListener() {
            @Override
            public void itemClick(ItemClickEvent event) {
                String cellType = new String(event.getPropertyId().toString());

                if (cellType.equals("sampleID")) {
                    String cellContent = new String(
                            sampleBeanContainer.getContainerProperty(event.getItemId(), event.getPropertyId())
                                    .getValue().toString());

                    State state = (State) UI.getCurrent().getSession().getAttribute("state");
                    ArrayList<String> message = new ArrayList<String>();
                    message.add("clicked");
                    message.add(cellContent);
                    message.add("sample");
                    state.notifyObservers(message);
                }
            }
        });

        if (sampleBeanContainer.size() == 0) {
            Label noSamples = new Label("no samples were found");
            noSamples.setCaption("Found Samples");
            viewContent.addComponent(noSamples);
        } else {
            viewContent.addComponent(sampleGrid);
        }
    }

    searchResultsLayout.addComponent(viewContent);

    this.addComponent(searchResultsLayout);
}

From source file:gov.osti.doecode.RepositoryForm.java

/**
 * Create a basic form UI for editing software metadata information.
 * /*w w w  . ja va 2s. c  om*/
 * @param ui link to the MyUI parent UI
 */
public RepositoryForm(MyUI ui) {
    this.ui = ui;

    setSizeUndefined();

    agentGrid.setColumns("firstName", "lastName", "email");
    agentGrid.setHeightMode(HeightMode.ROW);
    agentGrid.setHeightByRows(8);

    idGrid.setColumns("relationType", "identifierType", "value");
    idGrid.setHeightMode(HeightMode.ROW);
    idGrid.setHeightByRows(8);

    idForm = new IdentifierForm(this);
    agentForm = new AgentForm(this);

    TabSheet tabs = new TabSheet();
    tabs.addStyleName(ValoTheme.TABSHEET_FRAMED);
    tabs.addStyleName(ValoTheme.TABSHEET_PADDED_TABBAR);

    addComponent(tabs);

    HorizontalLayout main = new HorizontalLayout();
    main.setSpacing(true);
    main.setMargin(true);

    FormLayout left = new FormLayout();
    FormLayout right = new FormLayout();

    countryCode.addItems(countryCodes);

    left.addComponents(url, loadButton, name, openSource, siteOwnershipCode, acronym, doi, countryCode);
    right.addComponents(keywords, rights, license, operatingSystem, siteAccessionNumber, otherRequirements);

    loadButton.addClickListener(e -> {
        try {
            SoftwareRepository repo = Reader.loadRepository("doecode");

            setSoftwareRepository(repo);

        } catch (IOException ex) {
            setComponentError(new UserError("Unable to load: " + ex.getMessage()));
        }
    });

    main.addComponents(left, right);

    tabs.addTab(main, "Metadata");

    Button agentAddButton = new Button("New");
    agentAddButton.setStyleName(BaseTheme.BUTTON_LINK);
    agentAddButton.setIcon(FontAwesome.PLUS);

    agentAddButton.addClickListener(e -> {
        agentForm.setAgent(new Agent());
    });

    VerticalLayout innerAgent = new VerticalLayout(agentAddButton, agentGrid);
    innerAgent.setSizeUndefined();
    HorizontalLayout agentLayout = new HorizontalLayout(innerAgent, agentForm);
    agentLayout.setSpacing(true);
    agentLayout.setMargin(true);

    tabs.addTab(agentLayout, "Agents");

    Button idAddButton = new Button("New");
    idAddButton.setIcon(FontAwesome.PLUS);
    idAddButton.setStyleName(BaseTheme.BUTTON_LINK);
    idAddButton.setSizeUndefined();

    idAddButton.addClickListener(e -> {
        idForm.setIdentifier(new Identifier());
    });

    VerticalLayout innerId = new VerticalLayout(idAddButton, idGrid);
    HorizontalLayout idTab = new HorizontalLayout(innerId, idForm);
    idTab.setSpacing(true);
    idTab.setMargin(true);

    tabs.addTab(idTab, "Identifiers");

    agentGrid.addSelectionListener(e -> {
        if (!e.getSelected().isEmpty()) {
            Agent agent = (Agent) e.getSelected().iterator().next();
            agentForm.setAgent(agent);
            System.out.println("Selected " + agent.getFirstName());
        }
    });
    idGrid.addSelectionListener(e -> {
        if (!e.getSelected().isEmpty()) {
            Identifier identifier = (Identifier) e.getSelected().iterator().next();
            idForm.setIdentifier(identifier);
        }
    });

}

From source file:net.sourceforge.javydreamercsw.validation.manager.web.admin.AdminScreenProvider.java

License:Apache License

private Component displayIssueTypes() {
    VerticalLayout vl = new VerticalLayout();
    Grid grid = new Grid(TRANSLATOR.translate(ISSUE_TYPE));
    BeanItemContainer<IssueType> types = new BeanItemContainer<>(IssueType.class);
    types.addAll(new IssueTypeJpaController(DataBaseManager.getEntityManagerFactory()).findIssueTypeEntities());
    grid.setContainerDataSource(types);/*from   www.j av  a 2  s  .c o  m*/
    grid.setSelectionMode(SelectionMode.SINGLE);
    grid.setColumns("typeName", DESC);
    Grid.Column name = grid.getColumn("typeName");
    name.setHeaderCaption(TRANSLATOR.translate("general.name"));
    name.setConverter(new TranslationConverter());
    Grid.Column desc = grid.getColumn(DESC);
    desc.setHeaderCaption(TRANSLATOR.translate("general.description"));
    desc.setConverter(new TranslationConverter());
    grid.setSizeFull();
    vl.addComponent(grid);
    grid.setHeightMode(HeightMode.ROW);
    grid.setHeightByRows(types.size() > 5 ? 5 : types.size());
    //Menu
    HorizontalLayout hl = new HorizontalLayout();
    Button add = new Button(TRANSLATOR.translate("general.create"));
    add.addClickListener(listener -> {
        VMWindow w = new VMWindow();
        w.setContent(new IssueTypeComponent(new IssueType(), true));
        ((VMUI) UI.getCurrent()).addWindow(w);
        w.addCloseListener(l -> {
            ((VMUI) UI.getCurrent()).updateScreen();
        });
    });
    hl.addComponent(add);
    Button delete = new Button(TRANSLATOR.translate("general.delete"));
    delete.setEnabled(false);
    delete.addClickListener(listener -> {
        IssueType selected = (IssueType) ((SingleSelectionModel) grid.getSelectionModel()).getSelectedRow();
        if (selected != null && selected.getId() >= 1000) {
            try {
                new IssueTypeJpaController(DataBaseManager.getEntityManagerFactory()).destroy(selected.getId());
                ((VMUI) UI.getCurrent()).updateScreen();
            } catch (IllegalOrphanException | NonexistentEntityException ex) {
                LOG.log(Level.SEVERE, null, ex);
                Notification.show(TRANSLATOR.translate(DELETE_ERROR), TRANSLATOR.translate(DELETE_ERROR),
                        Notification.Type.ERROR_MESSAGE);
            }
        }
    });
    hl.addComponent(delete);
    vl.addComponent(hl);
    grid.addSelectionListener(event -> { // Java 8
        // Get selection from the selection model
        IssueType selected = (IssueType) ((SingleSelectionModel) grid.getSelectionModel()).getSelectedRow();
        //Only delete custom ones.
        delete.setEnabled(selected != null && selected.getId() >= 1000);
    });
    return vl;
}

From source file:net.sourceforge.javydreamercsw.validation.manager.web.admin.AdminScreenProvider.java

License:Apache License

private Component displayIssueResolutions() {
    VerticalLayout vl = new VerticalLayout();
    Grid grid = new Grid(TRANSLATOR.translate(ISSUE_RESOLUTION));
    BeanItemContainer<IssueResolution> types = new BeanItemContainer<>(IssueResolution.class);
    types.addAll(new IssueResolutionJpaController(DataBaseManager.getEntityManagerFactory())
            .findIssueResolutionEntities());
    grid.setContainerDataSource(types);//from w  ww.  j  a va2s  .co m
    grid.setSelectionMode(SelectionMode.SINGLE);
    grid.setColumns(NAME);
    Grid.Column name = grid.getColumn(NAME);
    name.setHeaderCaption(TRANSLATOR.translate("general.name"));
    name.setConverter(new TranslationConverter());
    grid.setSizeFull();
    vl.addComponent(grid);
    grid.setHeightMode(HeightMode.ROW);
    grid.setHeightByRows(types.size() > 5 ? 5 : types.size());
    //Menu
    HorizontalLayout hl = new HorizontalLayout();
    Button add = new Button(TRANSLATOR.translate("general.create"));
    add.addClickListener(listener -> {
        VMWindow w = new VMWindow();
        w.setContent(new IssueResolutionComponent(new IssueResolution(), true));
        ((VMUI) UI.getCurrent()).addWindow(w);
        w.addCloseListener(l -> {
            ((VMUI) UI.getCurrent()).updateScreen();
        });
    });
    hl.addComponent(add);
    Button delete = new Button(TRANSLATOR.translate("general.delete"));
    delete.setEnabled(false);
    delete.addClickListener(listener -> {
        IssueResolution selected = (IssueResolution) ((SingleSelectionModel) grid.getSelectionModel())
                .getSelectedRow();
        if (selected != null && selected.getId() >= 1000) {
            try {
                new IssueResolutionJpaController(DataBaseManager.getEntityManagerFactory())
                        .destroy(selected.getId());
                ((VMUI) UI.getCurrent()).updateScreen();
            } catch (IllegalOrphanException | NonexistentEntityException ex) {
                LOG.log(Level.SEVERE, null, ex);
                Notification.show(TRANSLATOR.translate(DELETE_ERROR), TRANSLATOR.translate(DELETE_ERROR),
                        Notification.Type.ERROR_MESSAGE);
            }
        }
    });
    hl.addComponent(delete);
    vl.addComponent(hl);
    grid.addSelectionListener(event -> { // Java 8
        // Get selection from the selection model
        IssueResolution selected = (IssueResolution) ((SingleSelectionModel) grid.getSelectionModel())
                .getSelectedRow();
        //Only delete custom ones.
        delete.setEnabled(selected != null && selected.getId() >= 1000);
    });
    return vl;
}

From source file:net.sourceforge.javydreamercsw.validation.manager.web.admin.AdminScreenProvider.java

License:Apache License

private Component displayRequirementTypes() {
    VerticalLayout vl = new VerticalLayout();
    Grid grid = new Grid(TRANSLATOR.translate(REQUIREMENT_TYPE));
    BeanItemContainer<RequirementType> types = new BeanItemContainer<>(RequirementType.class);
    types.addAll(new RequirementTypeJpaController(DataBaseManager.getEntityManagerFactory())
            .findRequirementTypeEntities());
    grid.setContainerDataSource(types);//from  www.ja v  a2  s.  c  o  m
    grid.setSelectionMode(SelectionMode.SINGLE);
    grid.setColumns(NAME, DESC);
    Grid.Column name = grid.getColumn(NAME);
    name.setHeaderCaption(TRANSLATOR.translate("general.name"));
    name.setConverter(new TranslationConverter());
    Grid.Column desc = grid.getColumn(DESC);
    desc.setHeaderCaption(TRANSLATOR.translate("general.description"));
    desc.setConverter(new TranslationConverter());
    grid.setSizeFull();
    vl.addComponent(grid);
    grid.setHeightMode(HeightMode.ROW);
    grid.setHeightByRows(types.size() > 5 ? 5 : types.size());
    //Menu
    HorizontalLayout hl = new HorizontalLayout();
    Button add = new Button(TRANSLATOR.translate("general.create"));
    add.addClickListener(listener -> {
        VMWindow w = new VMWindow();
        w.setContent(new RequirementTypeComponent(new RequirementType(), true));
        ((VMUI) UI.getCurrent()).addWindow(w);
        w.addCloseListener(l -> {
            ((VMUI) UI.getCurrent()).updateScreen();
        });
    });
    hl.addComponent(add);
    Button delete = new Button(TRANSLATOR.translate("general.delete"));
    delete.setEnabled(false);
    delete.addClickListener(listener -> {
        RequirementType selected = (RequirementType) ((SingleSelectionModel) grid.getSelectionModel())
                .getSelectedRow();
        if (selected != null && selected.getId() >= 1000) {
            try {
                new RequirementTypeJpaController(DataBaseManager.getEntityManagerFactory())
                        .destroy(selected.getId());
                ((VMUI) UI.getCurrent()).updateScreen();
            } catch (IllegalOrphanException | NonexistentEntityException ex) {
                LOG.log(Level.SEVERE, null, ex);
                Notification.show(TRANSLATOR.translate(DELETE_ERROR), TRANSLATOR.translate(DELETE_ERROR),
                        Notification.Type.ERROR_MESSAGE);
            }
        }
    });
    hl.addComponent(delete);
    vl.addComponent(hl);
    grid.addSelectionListener(event -> { // Java 8
        // Get selection from the selection model
        RequirementType selected = (RequirementType) ((SingleSelectionModel) grid.getSelectionModel())
                .getSelectedRow();
        //Only delete custom ones.
        delete.setEnabled(selected != null && selected.getId() >= 1000);
    });
    return vl;
}

From source file:net.sourceforge.javydreamercsw.validation.manager.web.component.HistoryTable.java

License:Apache License

public HistoryTable(String title, List<History> historyItems, String sortByField, boolean showVersionFields,
        String... fields) {/*  w ww. ja va2  s . c o m*/
    super(title);
    BeanItemContainer<History> histories = new BeanItemContainer<>(History.class);
    GeneratedPropertyContainer wrapperCont = new GeneratedPropertyContainer(histories);
    histories.addAll(historyItems);
    setContainerDataSource(wrapperCont);
    if (wrapperCont.size() > 0) {
        setHeightMode(HeightMode.ROW);
        setHeightByRows(wrapperCont.size() > 5 ? 5 : wrapperCont.size());
    }
    for (String field : fields) {
        wrapperCont.addGeneratedProperty(field, new PropertyValueGenerator<String>() {

            @Override
            public String getValue(Item item, Object itemId, Object propertyId) {
                History v = (History) itemId;
                String result = "";
                for (HistoryField hf : v.getHistoryFieldList()) {
                    if (hf.getFieldName().equals(field)) {
                        result = hf.getFieldValue();
                        break;
                    }
                }
                return result;
            }

            @Override
            public Class<String> getType() {
                return String.class;
            }
        });
    }
    if (showVersionFields) {
        wrapperCont.addGeneratedProperty("version", new PropertyValueGenerator<String>() {

            @Override
            public String getValue(Item item, Object itemId, Object propertyId) {
                History v = (History) itemId;
                return v.getMajorVersion() + "." + v.getMidVersion() + "." + v.getMinorVersion();
            }

            @Override
            public Class<String> getType() {
                return String.class;
            }
        });
        wrapperCont.addGeneratedProperty("modifier", new PropertyValueGenerator<String>() {

            @Override
            public String getValue(Item item, Object itemId, Object propertyId) {
                History v = (History) itemId;
                return v.getModifierId().getFirstName() + " " + v.getModifierId().getLastName();
            }

            @Override
            public Class<String> getType() {
                return String.class;
            }
        });
        wrapperCont.addGeneratedProperty("modificationDate", new PropertyValueGenerator<String>() {

            @Override
            public String getValue(Item item, Object itemId, Object propertyId) {
                History v = (History) itemId;
                return v.getModificationTime().toString();
            }

            @Override
            public Class<String> getType() {
                return String.class;
            }
        });
        wrapperCont.addGeneratedProperty("modificationReason", new PropertyValueGenerator<String>() {

            @Override
            public String getValue(Item item, Object itemId, Object propertyId) {
                History v = (History) itemId;
                return v.getReason() == null ? "" : TRANSLATOR.translate(v.getReason());
            }

            @Override
            public Class<String> getType() {
                return String.class;
            }
        });
    }
    List<String> fieldList = new ArrayList<>();
    //Add specified fields
    fieldList.addAll(Arrays.asList(fields));
    if (showVersionFields) {
        //Add default fields
        fieldList.add("version");
        fieldList.add("modifier");
        fieldList.add("modificationDate");
        fieldList.add("modificationReason");
    }
    setColumns(fieldList.toArray());
    if (showVersionFields) {
        Grid.Column version = getColumn("version");
        version.setHeaderCaption(TRANSLATOR.translate("general.version"));
        Grid.Column mod = getColumn("modifier");
        mod.setHeaderCaption(TRANSLATOR.translate("general.modifier"));
        Grid.Column modDate = getColumn("modificationDate");
        modDate.setHeaderCaption(TRANSLATOR.translate("modification.date"));
        Grid.Column modReason = getColumn("modificationReason");
        modReason.setHeaderCaption(TRANSLATOR.translate("general.reason"));
    }
    if (sortByField != null && !sortByField.trim().isEmpty()) {
        wrapperCont.sort(new Object[] { sortByField }, new boolean[] { true });
    }
    setSizeFull();
}