List of usage examples for com.vaadin.ui.themes ValoTheme BUTTON_LINK
String BUTTON_LINK
To view the source code for com.vaadin.ui.themes ValoTheme BUTTON_LINK.
Click Source Link
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); } } } } }