Example usage for com.vaadin.ui.themes ValoTheme BUTTON_LINK

List of usage examples for com.vaadin.ui.themes ValoTheme BUTTON_LINK

Introduction

In this page you can find the example usage for com.vaadin.ui.themes ValoTheme BUTTON_LINK.

Prototype

String BUTTON_LINK

To view the source code for com.vaadin.ui.themes ValoTheme BUTTON_LINK.

Click Source Link

Document

Makes the button look like the Link component.

Usage

From source file:org.jumpmind.metl.ui.views.design.EditModelPanel.java

License:Open Source License

public EditModelPanel(ApplicationContext context, String modelId, boolean readOnly) {
    this.context = context;
    this.model = new Model(modelId);
    this.readOnly = readOnly;
    context.getConfigurationService().refresh(model);

    ButtonBar buttonBar = new ButtonBar();
    addComponent(buttonBar);// w  w w.j a  va2s  . com

    if (!readOnly) {
        addEntityButton = buttonBar.addButton("Add Entity", FontAwesome.TABLE);
        addEntityButton.addClickListener(new AddEntityClickListener());

        addAttributeButton = buttonBar.addButton("Add Attribute", FontAwesome.COLUMNS);
        addAttributeButton.addClickListener(new AddAttributeClickListener());

        editButton = buttonBar.addButton("Edit", FontAwesome.EDIT);
        editButton.addClickListener(new EditClickListener());

        removeButton = buttonBar.addButton("Remove", FontAwesome.TRASH_O);
        removeButton.addClickListener(new RemoveClickListener());

        importButton = buttonBar.addButton("Import ...", FontAwesome.DOWNLOAD);
        importButton.addClickListener(new ImportClickListener());
    }

    filterField = buttonBar.addFilter();
    filterField.addTextChangeListener(new TextChangeListener() {
        public void textChange(TextChangeEvent event) {
            filterField.setValue(event.getText());
            treeTable.removeAllItems();
            addAll(event.getText(), EditModelPanel.this.model.getModelEntities());
        }
    });

    treeTable.setSizeFull();
    treeTable.setCacheRate(100);
    treeTable.setPageLength(100);
    treeTable.setImmediate(true);
    treeTable.setSelectable(true);
    treeTable.setMultiSelect(true);
    treeTable.addGeneratedColumn("name", new ColumnGenerator() {
        public Object generateCell(Table source, Object itemId, Object columnId) {
            final AbstractObject obj = (AbstractObject) itemId;
            if (lastEditItemIds.contains(itemId) && !readOnly) {
                ImmediateUpdateTextField t = new ImmediateUpdateTextField(null) {
                    protected void save(String text) {
                        obj.setName(text);
                        EditModelPanel.this.context.getConfigurationService().save(obj);
                    };
                };
                t.setWidth(100, Unit.PERCENTAGE);
                t.setValue(obj.getName());
                t.focus();
                t.selectAll();
                return t;
            } else {
                return UiUtils.getName(filterField.getValue(), obj.getName());
            }
        }
    });
    treeTable.setColumnHeader("name", "Name");

    treeTable.addGeneratedColumn("description", new ColumnGenerator() {
        public Object generateCell(Table source, Object itemId, Object columnId) {
            if (itemId instanceof ModelAttribute) {
                final ModelAttribute obj = (ModelAttribute) itemId;
                if (lastEditItemIds.contains(itemId) && !readOnly) {
                    ImmediateUpdateTextField t = new ImmediateUpdateTextField(null) {
                        protected void save(String text) {
                            obj.setDescription(text);
                            EditModelPanel.this.context.getConfigurationService().save(obj);
                        };
                    };
                    t.setWidth(100, Unit.PERCENTAGE);
                    t.setValue(obj.getDescription());
                    return t;
                } else {
                    return UiUtils.getName(filterField.getValue(), obj.getDescription());
                }
            }
            if (itemId instanceof ModelEntity) {
                final ModelEntity obj = (ModelEntity) itemId;
                if (lastEditItemIds.contains(itemId) && !readOnly) {
                    ImmediateUpdateTextField t = new ImmediateUpdateTextField(null) {
                        protected void save(String text) {
                            obj.setDescription(text);
                            EditModelPanel.this.context.getConfigurationService().save(obj);
                        };
                    };
                    t.setWidth(100, Unit.PERCENTAGE);
                    t.setValue(obj.getDescription());
                    return t;
                } else {
                    return UiUtils.getName(filterField.getValue(), obj.getDescription());
                }
            } else
                return null;
        }
    });
    treeTable.setColumnHeader("description", "Description");

    treeTable.addGeneratedColumn("type", new ColumnGenerator() {
        public Object generateCell(Table source, Object itemId, Object columnId) {
            if (itemId instanceof ModelAttribute) {
                final ModelAttribute obj = (ModelAttribute) itemId;
                if (lastEditItemIds.contains(itemId) && !readOnly) {
                    final ComboBox cbox = new ComboBox();
                    cbox.setNullSelectionAllowed(false);
                    for (DataType dataType : DataType.values()) {
                        cbox.addItem(dataType.name());
                    }
                    cbox.setValue(obj.getType());
                    cbox.addValueChangeListener(new ValueChangeListener() {
                        public void valueChange(ValueChangeEvent event) {
                            obj.setType((String) cbox.getValue());
                            EditModelPanel.this.context.getConfigurationService().save(obj);
                        }
                    });
                    cbox.addBlurListener(new BlurListener() {
                        public void blur(BlurEvent event) {
                            Collection<?> items = treeTable.getItemIds();
                            boolean found = false;
                            for (Object item : items) {
                                if (item.equals(obj)) {
                                    found = true;
                                } else if (found) {
                                    selectOnly(item);
                                    editSelectedItem();
                                    break;
                                }
                            }
                        }
                    });

                    return cbox;
                } else {
                    return obj.getType();
                }
            } else {
                return null;
            }
        }
    });
    treeTable.setColumnHeader("type", "Type");

    treeTable.addGeneratedColumn("pk", new ColumnGenerator() {
        public Object generateCell(Table source, Object itemId, Object columnId) {
            if (itemId instanceof ModelAttribute) {
                final ModelAttribute obj = (ModelAttribute) itemId;
                if (lastEditItemIds.contains(itemId) && !readOnly) {
                    final CheckBox cbox = new CheckBox();
                    cbox.setValue(obj.isPk());
                    cbox.setImmediate(true);
                    cbox.addValueChangeListener(event -> togglePk(obj));
                    cbox.addBlurListener(new BlurListener() {
                        public void blur(BlurEvent event) {
                            Collection<?> items = treeTable.getItemIds();
                            boolean found = false;
                            for (Object item : items) {
                                if (item.equals(obj)) {
                                    found = true;
                                } else if (found) {
                                    selectOnly(item);
                                    editSelectedItem();
                                    break;
                                }
                            }
                        }
                    });

                    return cbox;
                } else if (obj.isPk()) {
                    return new Label(FontAwesome.KEY.getHtml(), ContentMode.HTML);
                }
            }
            return null;
        }
    });
    treeTable.setColumnHeader("pk", "PK");
    treeTable.setColumnWidth("pk", 40);

    treeTable.addItemClickListener(new TreeTableItemClickListener());
    treeTable.addValueChangeListener(new TreeTableValueChangeListener());
    enterKeyListener = new ShortcutListener("Enter", KeyCode.ENTER, null) {
        public void handleAction(Object sender, Object target) {
            lastEditItemIds = Collections.emptySet();
            treeTable.refreshRowCache();
        }
    };

    addComponent(treeTable);
    setExpandRatio(treeTable, 1.0f);

    HorizontalLayout hlayout = new HorizontalLayout();
    addComponent(hlayout);

    Button collapseAll = new Button("Collapse All");
    collapseAll.addStyleName(ValoTheme.BUTTON_LINK);
    collapseAll.addStyleName(ValoTheme.BUTTON_SMALL);
    hlayout.addComponent(collapseAll);
    collapseAll.addClickListener(new ClickListener() {
        public void buttonClick(ClickEvent event) {
            for (Object itemId : treeTable.getItemIds()) {
                treeTable.setCollapsed(itemId, true);
            }
        }
    });

    Button expandAll = new Button("Expand All");
    expandAll.addStyleName(ValoTheme.BUTTON_LINK);
    expandAll.addStyleName(ValoTheme.BUTTON_SMALL);
    hlayout.addComponent(expandAll);
    expandAll.addClickListener(new ClickListener() {
        public void buttonClick(ClickEvent event) {
            for (Object itemId : treeTable.getItemIds()) {
                treeTable.setCollapsed(itemId, false);
            }
        }
    });

    addAll("", model.getModelEntities());

    setButtonsEnabled();
}

From source file:org.jumpmind.metl.ui.views.DesignNavigator.java

License:Open Source License

public void refresh() {
    refreshOpenProjects();/*from   w ww  . j a v a 2  s  .co  m*/

    setMenuItemsEnabled();

    if (treeTable.size() == 0) {
        removeComponent(treeTable);

        if (openProjectsLayout != null) {
            removeComponent(openProjectsLayout);
        }

        openProjectsLayout = new VerticalLayout();
        openProjectsLayout.addStyleName(ValoTheme.LAYOUT_CARD);
        openProjectsLayout.setSizeFull();
        openProjectsLayout.setMargin(true);
        Button viewProjects = new Button("Click to manage projects");
        viewProjects.addStyleName(ValoTheme.BUTTON_LINK);
        viewProjects.addClickListener(new ClickListener() {
            @Override
            public void buttonClick(ClickEvent event) {
                viewProjects();
            }
        });
        openProjectsLayout.addComponent(viewProjects);
        openProjectsLayout.setComponentAlignment(viewProjects, Alignment.TOP_CENTER);
        addComponent(openProjectsLayout);
        setExpandRatio(openProjectsLayout, 1);
        viewProjects();
    } else {
        boolean add = true;
        Iterator<Component> i = iterator();
        while (i.hasNext()) {
            if (i.next().equals(treeTable)) {
                add = false;
                break;
            }
        }

        if (add) {
            if (openProjectsLayout != null) {
                removeComponent(openProjectsLayout);
            }

            addComponent(treeTable);
            setExpandRatio(treeTable, 1);
        }

        treeTable.refreshRowCache();
    }
}

From source file:org.jumpmind.metl.ui.views.ExploreDirectoryView.java

License:Open Source License

protected Component fileLinkComponent(Table source, Object itemId, Object propertyId) {
    if (itemId instanceof FileInfo) {
        final FileInfo file = (FileInfo) itemId;
        if (!file.isDirectory()) {
            final Button button = new Button(file.getName());
            button.addStyleName(ValoTheme.BUTTON_LINK);
            button.addStyleName(ValoTheme.BUTTON_SMALL);
            button.setIcon(FontAwesome.FILE);
            StreamResource resource = new StreamResource(() -> stream(file), file.getName());
            FileDownloader fileDownloader = new FileDownloader(resource);
            fileDownloader.extend(button);
            return button;
        } else {/*  w w  w .jav a  2 s.  c  o  m*/
            return new Label(file.getName());
        }
    } else {
        return new Label(((DirectoryResource) itemId).getName());

    }
}

From source file:org.jumpmind.vaadin.ui.sqlexplorer.DbExportDialog.java

License:Open Source License

protected void addButtons() {
    selectAllLink = new Button("Select All");
    selectAllLink.addStyleName(ValoTheme.BUTTON_LINK);
    selectAllLink.addClickListener(new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        public void buttonClick(ClickEvent event) {
            tableSelectionLayout.selectAll();
        }/*w ww. ja v  a2 s .  co  m*/
    });

    selectNoneLink = new Button("Select None");
    selectNoneLink.addStyleName(ValoTheme.BUTTON_LINK);
    selectNoneLink.addClickListener(new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        public void buttonClick(ClickEvent event) {
            tableSelectionLayout.selectNone();
        }
    });

    nextButton = CommonUiUtils.createPrimaryButton("Next");
    nextButton.setEnabled(tableSelectionLayout.getSelectedTables().size() > 0);
    nextButton.addClickListener(new Button.ClickListener() {

        private static final long serialVersionUID = 1L;

        @Override
        public void buttonClick(ClickEvent event) {
            next();
        }
    });

    cancelButton = new Button("Cancel", new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        public void buttonClick(ClickEvent event) {
            close();
        }
    });

    previousButton = new Button("Previous", new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        public void buttonClick(ClickEvent event) {
            previous();
        }
    });
    previousButton.setVisible(false);

    exportFileButton = CommonUiUtils.createPrimaryButton("Export");
    buildFileDownloader();
    exportFileButton.setVisible(false);

    exportEditorButton = CommonUiUtils.createPrimaryButton("Export", new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        public void buttonClick(ClickEvent event) {
            exportToEditor();
        }
    });
    exportEditorButton.setVisible(false);

    doneButton = new Button("Close", new Button.ClickListener() {
        private static final long serialVersionUID = 1L;

        public void buttonClick(ClickEvent event) {
            close();
        }
    });
    doneButton.setVisible(false);

    addComponent(buildButtonFooter(new Button[] { selectAllLink, selectNoneLink }, cancelButton, previousButton,
            nextButton, exportFileButton, exportEditorButton, doneButton));

}

From source file:org.opencms.ui.apps.CmsFileExplorer.java

License:Open Source License

/**
 * Sets the current path info.<p>// w  ww  .  j  a  va  2  s  .  c o m
 *
 * @param path the path
 */
private void setPathInfo(String path) {

    m_infoPath.setValue(path);

    // generate the path bread crumb
    m_crumbs.removeAllComponents();
    int i = path.indexOf("/");
    String openPath = "";
    while (i >= 0) {
        String fragment = path.substring(0, i + 1);
        openPath += fragment;
        path = path.substring(i + 1);
        i = path.indexOf("/");
        Button crumb = new Button(fragment, m_crumbListener);
        crumb.setData(openPath);
        crumb.addStyleName(ValoTheme.BUTTON_LINK);
        m_crumbs.addComponent(crumb);
    }
}

From source file:org.opencms.ui.dialogs.history.diff.CmsValueCompareBean.java

License:Open Source License

/**
 * Creates a new instance.<p>/*  w  ww  .  jav  a 2  s .co m*/
 *
 * @param cms the CMS context
 * @param elemComp the element comparison bean
 */
public CmsValueCompareBean(CmsObject cms, CmsElementComparison elemComp) {
    m_cms = cms;
    m_elemComp = elemComp;

    String changeType = m_elemComp.getStatus();
    String key = null;
    String style = null;
    if (CmsResourceComparison.TYPE_ADDED.equals(changeType)) {
        key = org.opencms.workplace.comparison.Messages.GUI_COMPARE_ADDED_0;
        style = OpenCmsTheme.DIFF_TYPE_ADDED;
    } else if (CmsResourceComparison.TYPE_REMOVED.equals(changeType)) {
        key = org.opencms.workplace.comparison.Messages.GUI_COMPARE_REMOVED_0;
        style = OpenCmsTheme.DIFF_TYPE_DELETED;
    } else if (CmsResourceComparison.TYPE_CHANGED.equals(changeType)) {
        key = org.opencms.workplace.comparison.Messages.GUI_COMPARE_CHANGED_0;
        style = OpenCmsTheme.DIFF_TYPE_CHANGED;
    } else {
        key = org.opencms.workplace.comparison.Messages.GUI_COMPARE_UNCHANGED_0;
        style = OpenCmsTheme.DIFF_TYPE_UNCHANGED;
    }

    Button result = new Button();
    result.setCaption(CmsVaadinUtils.getMessageText(key));
    result.addStyleName(ValoTheme.BUTTON_LINK);
    result.addStyleName(style);
    m_getChangeTypeButton = result;

}

From source file:org.plukh.fluffymeow.ui.Footer.java

License:Open Source License

@Inject
public Footer() {
    log.trace("Creating Footer...");

    this.navigator = UI.getCurrent().getNavigator();

    setWidth("100%");
    setSpacing(true);//ww w.java 2  s  .com
    setMargin(true);

    addComponent(new Label("Footer will be here"));

    Button mainViewButton = new Button("To Main View", event -> navigator.navigateTo(""));
    Button accountViewButton = new Button("To Account View",
            event -> navigator.navigateTo(UserAccountView.VIEW_NAME));
    Button registrationViewButton = new Button("To Registration View",
            event -> navigator.navigateTo(UserRegistrationView.VIEW_NAME));

    mainViewButton.addStyleName(ValoTheme.BUTTON_LINK);
    accountViewButton.addStyleName(ValoTheme.BUTTON_LINK);
    registrationViewButton.addStyleName(ValoTheme.BUTTON_LINK);

    addComponent(mainViewButton);
    addComponent(accountViewButton);
    addComponent(registrationViewButton);

    log.debug("Footer created");
}

From source file:org.plukh.fluffymeow.ui.login.HeaderLoggedInComponent.java

License:Open Source License

@Inject
public HeaderLoggedInComponent(EventBus eventBus) {
    log.trace("Creating HeaderLoggedInComponent...");

    this.eventBus = eventBus;

    setWidth("100%");

    HorizontalLayout layout = new HorizontalLayout();
    layout.setSpacing(true);//from w  w w.  j a  v  a2  s  .  c om

    loggedInLabel = new Label();
    loggedInLabel.setContentMode(ContentMode.HTML);
    loggedInLabel.setSizeUndefined();

    logoutButton = new Button();
    logoutButton.addStyleName(ValoTheme.BUTTON_LINK);
    logoutButton.addClickListener(this::onLogout);

    manageAccountButton = new Button();
    manageAccountButton.addStyleName(ValoTheme.BUTTON_LINK);
    manageAccountButton.addClickListener(this::onManageAccount);

    layout.addComponent(loggedInLabel);
    layout.addComponent(manageAccountButton);
    layout.addComponent(logoutButton);

    layout.setComponentAlignment(loggedInLabel, Alignment.MIDDLE_LEFT);

    setCompositionRoot(layout);

    log.debug("Created HeaderLoggedInComponent");
}

From source file:qbic.vaadincomponents.TSVDownloadComponent.java

License:Open Source License

public TSVDownloadComponent() {
    // TODO progress bar not used atm because the labels in available UpdateProgressBar classes are
    // too specific
    // probably not needed anyway since ProjInformationComponent seems to show when everything is
    // complete/*  ww  w.j  a v  a  2  s .co  m*/
    // this.bar = new ProgressBar();
    // this.info = new Label();
    // info.setCaption("Preparing Spreadsheets");
    // addComponent(info);
    // addComponent(bar);

    downloads = new HorizontalLayout();
    downloads.setCaption("Spreadsheets");
    downloads.setSpacing(true);
    dlEntities = new Button("Sample Sources");
    dlExtracts = new Button("Sample Extracts");
    dlPreps = new Button("Sample Preparations");

    dlEntities.setStyleName(ValoTheme.BUTTON_LINK);
    dlEntities.setIcon(FontAwesome.DOWNLOAD);

    dlExtracts.setStyleName(ValoTheme.BUTTON_LINK);
    dlExtracts.setIcon(FontAwesome.DOWNLOAD);

    dlPreps.setStyleName(ValoTheme.BUTTON_LINK);
    dlPreps.setIcon(FontAwesome.DOWNLOAD);

    dlEntities.setEnabled(false);
    dlExtracts.setEnabled(false);
    dlPreps.setEnabled(false);
    downloads.addComponent(dlEntities);
    downloads.addComponent(dlExtracts);
    downloads.addComponent(dlPreps);
    addComponent(downloads);
}

From source file:uk.co.intec.keyDatesApp.pages.MainView.java

License:Apache License

/**
 * Removes any existing row data loaded to the page and loads
 * ViewEntryWrappers passed to this method. If no entries were passed to the
 * method, the message "No entries found matching criteria" is displayed.
 * Otherwise writes the entries to the page, grouped under the date each Key
 * Date is for.//from   w w w. j  ava 2 s  .  com
 *
 * @param data
 *            Map of data where key is a java.sql.Date (so does not include
 *            a time element) and value is the wrapped ViewEntries for that
 *            date.
 */
public void loadRowData(final Map<Object, List<ViewEntryWrapper>> data) {
    body.removeAllComponents();
    if (null == data || data.isEmpty()) {
        final Label msg = new Label("No entries found matching criteria");
        msg.setStyleName(ValoTheme.LABEL_FAILURE);
        body.addComponent(msg);
    } else {
        for (final Object key : data.keySet()) {
            if (key instanceof java.sql.Date) { // It will be!
                // Add the header
                final VerticalLayout catContainer = new VerticalLayout();
                catContainer.addStyleName(ValoTheme.MENU_TITLE);
                catContainer.addStyleName("category-header");
                final Label category = new Label();
                final java.sql.Date sqlDate = (java.sql.Date) key;
                category.setValue(DATE_ONLY.format(sqlDate));
                catContainer.addComponent(category);
                body.addComponent(catContainer);

                // Load the entries
                for (final ViewEntryWrapper veWrapped : data.get(key)) {
                    final VerticalLayout entryRow = new VerticalLayout();
                    final KeyDateEntryWrapper entry = (KeyDateEntryWrapper) veWrapped;
                    final StringBuilder suffixTitle = new StringBuilder("");
                    if (getViewWrapper().getViewName().equals(KeyDateViewWrapper.ViewType.BY_DATE)) {
                        if (StringUtils.isNotEmpty(entry.getCustomer())) {
                            suffixTitle.append(" (" + entry.getCustomer());
                            if (StringUtils.isNotEmpty(entry.getContact())) {
                                suffixTitle.append(" - " + entry.getContact());
                            }
                            suffixTitle.append(")");
                        }
                    } else {
                        if (StringUtils.isNotEmpty(entry.getContact())) {
                            suffixTitle.append(" - " + entry.getContact());
                        }
                    }
                    final Button title = new Button(entry.getTitle() + suffixTitle.toString());
                    title.addStyleName(ValoTheme.BUTTON_LINK);
                    // Add click event
                    title.addClickListener(new DocLinkListener(KeyDateView.VIEW_NAME, entry.getNoteId()));
                    entryRow.addComponent(title);

                    // Add summary, if appropriate
                    if (StringUtils.isNotEmpty(entry.getDescription())) {
                        final Label summary = new Label(entry.getDescription());
                        summary.setContentMode(ContentMode.HTML);
                        summary.addStyleName(ValoTheme.LABEL_SMALL);
                        summary.addStyleName("view-desc");
                        entryRow.addComponent(summary);
                    }

                    body.addComponent(entryRow);
                }
            }
        }

    }
}