List of usage examples for com.vaadin.server FontAwesome PLUS
FontAwesome PLUS
To view the source code for com.vaadin.server FontAwesome PLUS.
Click Source Link
From source file:annis.gui.querybuilder.NodeWindow.java
License:Apache License
public NodeWindow(int id, TigerQueryBuilderCanvas parent) { this.parent = parent; this.id = id; this.annoNames = new TreeSet<>(); for (String a : parent.getAvailableAnnotationNames()) { annoNames.add(a.replaceFirst("^[^:]*:", "")); }//from w w w.j a v a2s. co m constraints = new ArrayList<>(); setSizeFull(); // HACK: use our own border since the one from chameleon does not really work addStyleName(ValoTheme.PANEL_WELL); //addStyleName("border-layout"); prepareEdgeDock = false; vLayout = new VerticalLayout(); setContent(vLayout); vLayout.setWidth("100%"); vLayout.setHeight("-1px"); vLayout.setMargin(false); vLayout.setSpacing(true); toolbar = new HorizontalLayout(); toolbar.addStyleName("toolbar"); toolbar.setWidth("100%"); toolbar.setHeight("-1px"); toolbar.setMargin(false); toolbar.setSpacing(false); vLayout.addComponent(toolbar); btMove = new Button(); btMove.setWidth("100%"); btMove.setIcon(FontAwesome.ARROWS); btMove.setDescription("<strong>Move node</strong><br />Click, hold and move mouse to move the node."); btMove.addStyleName(ValoTheme.BUTTON_SMALL); btMove.addStyleName("drag-source-enabled"); toolbar.addComponent(btMove); btEdge = new Button("Edge"); btEdge.setIcon(FontAwesome.EXTERNAL_LINK); btEdge.addClickListener((Button.ClickListener) this); btEdge.addStyleName(ValoTheme.BUTTON_SMALL); //btEdge.addStyleName(ChameleonTheme.BUTTON_LINK); btEdge.setDescription("<strong>Add Edge</strong><br />" + "To create a new edge between " + "two nodes click this button first. " + "Then define a destination node by clicking its \"Dock\" " + "button.<br>You can cancel the action by clicking this button " + "(\"Cancel\") again."); btEdge.setImmediate(true); toolbar.addComponent(btEdge); btAdd = new Button("Add"); btAdd.setIcon(FontAwesome.PLUS); btAdd.addStyleName(ValoTheme.BUTTON_SMALL); //btAdd.addStyleName(ChameleonTheme.BUTTON_LINK); btAdd.addClickListener((Button.ClickListener) this); btAdd.setDescription("<strong>Add Node Condition</strong><br />" + "Every condition will constraint the node described by this window. " + "Most conditions limit the node by defining which annotations and which " + "values of the annotation a node needs to have."); toolbar.addComponent(btAdd); btClear = new Button("Clear"); btClear.setIcon(FontAwesome.TRASH_O); btClear.addStyleName(ValoTheme.BUTTON_SMALL); //btClear.addStyleName(ChameleonTheme.BUTTON_LINK); btClear.addClickListener((Button.ClickListener) this); btClear.setDescription("<strong>Clear All Node Conditions</strong>"); toolbar.addComponent(btClear); btClose = new Button(); btClose.setIcon(FontAwesome.TIMES_CIRCLE); btClose.setDescription("<strong>Close</strong><br />Close this node description window"); btClose.addStyleName(ValoTheme.BUTTON_SMALL); btClose.addClickListener((Button.ClickListener) this); toolbar.addComponent(btClose); toolbar.setComponentAlignment(btMove, Alignment.TOP_LEFT); toolbar.setExpandRatio(btMove, 1.0f); toolbar.setComponentAlignment(btEdge, Alignment.TOP_CENTER); toolbar.setComponentAlignment(btAdd, Alignment.TOP_CENTER); toolbar.setComponentAlignment(btClear, Alignment.TOP_CENTER); toolbar.setComponentAlignment(btClose, Alignment.TOP_RIGHT); }
From source file:com.esofthead.mycollab.module.crm.ui.components.CrmPreviewFormControlsGenerator.java
License:Open Source License
public HorizontalLayout createButtonControls(int buttonEnableFlags, final String permissionItem) { layout.setStyleName("control-buttons"); layout.setSpacing(true);//w ww.jav a 2s.c o m layout.setSizeUndefined(); boolean canRead = true; boolean canWrite = true; boolean canAccess = true; if (permissionItem != null) { canRead = AppContext.canRead(permissionItem); canWrite = AppContext.canWrite(permissionItem); canAccess = AppContext.canAccess(permissionItem); } MVerticalLayout popupButtonsControl = new MVerticalLayout() .withMargin(new MarginInfo(false, true, false, true)); if ((buttonEnableFlags & ADD_BTN_PRESENTED) == ADD_BTN_PRESENTED) { Button addBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_ADD), new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { optionBtn.setPopupVisible(false); final T item = previewForm.getBean(); previewForm.fireAddForm(item); } }); addBtn.setIcon(FontAwesome.PLUS); addBtn.setStyleName(UIConstants.THEME_GREEN_LINK); addBtn.setEnabled(canWrite); layout.addComponent(addBtn); } if ((buttonEnableFlags & EDIT_BTN_PRESENTED) == EDIT_BTN_PRESENTED) { Button editBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_EDIT), new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { optionBtn.setPopupVisible(false); final T item = previewForm.getBean(); previewForm.fireEditForm(item); } }); editBtn.setIcon(FontAwesome.EDIT); editBtn.setStyleName(UIConstants.THEME_GREEN_LINK); editBtn.setEnabled(canWrite); layout.addComponent(editBtn); } if ((buttonEnableFlags & DELETE_BTN_PRESENTED) == DELETE_BTN_PRESENTED) { Button deleteBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_DELETE), new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { final T item = previewForm.getBean(); previewForm.fireDeleteForm(item); } }); deleteBtn.setIcon(FontAwesome.TRASH_O); deleteBtn.setStyleName(UIConstants.THEME_RED_LINK); layout.addComponent(deleteBtn); deleteBtn.setEnabled(canAccess); } if ((buttonEnableFlags & CLONE_BTN_PRESENTED) == CLONE_BTN_PRESENTED) { Button cloneBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_CLONE), new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { optionBtn.setPopupVisible(false); final T item = previewForm.getBean(); previewForm.fireCloneForm(item); } }); cloneBtn.setIcon(FontAwesome.ROAD); cloneBtn.setStyleName("link"); popupButtonsControl.addComponent(cloneBtn); } if ((buttonEnableFlags & HISTORY_BTN_PRESENTED) == HISTORY_BTN_PRESENTED) { Button historyBtn = new Button(AppContext.getMessage(GenericI18Enum.BUTTON_HISTORY), new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { optionBtn.setPopupVisible(false); previewForm.showHistory(); } }); historyBtn.setIcon(FontAwesome.HISTORY); historyBtn.setStyleName("link"); popupButtonsControl.addComponent(historyBtn); } optionBtn.setContent(popupButtonsControl); if ((buttonEnableFlags & CLONE_BTN_PRESENTED) == CLONE_BTN_PRESENTED | (buttonEnableFlags & EDIT_BTN_PRESENTED) == EDIT_BTN_PRESENTED) { layout.addComponent(optionBtn); } ButtonGroup navigationBtns = new ButtonGroup(); navigationBtns.setStyleName("navigation-btns"); if ((buttonEnableFlags & PREVIOUS_BTN_PRESENTED) == PREVIOUS_BTN_PRESENTED) { Button previousItem = new Button(null, new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { final T item = previewForm.getBean(); previewForm.fireGotoPrevious(item); } }); previousItem.setStyleName(UIConstants.THEME_GREEN_LINK); previousItem.setIcon(FontAwesome.CHEVRON_LEFT); previousItem.setDescription(AppContext.getMessage(GenericI18Enum.TOOLTIP_SHOW_PREVIOUS_ITEM)); navigationBtns.addButton(previousItem); previousItem.setEnabled(canRead); } if ((buttonEnableFlags & NEXT_BTN_PRESENTED) == NEXT_BTN_PRESENTED) { Button nextItemBtn = new Button(null, new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { final T item = previewForm.getBean(); previewForm.fireGotoNextItem(item); } }); nextItemBtn.setStyleName(UIConstants.THEME_GREEN_LINK); nextItemBtn.setIcon(FontAwesome.CHEVRON_RIGHT); nextItemBtn.setDescription(AppContext.getMessage(GenericI18Enum.TOOLTIP_SHOW_NEXT_ITEM)); navigationBtns.addButton(nextItemBtn); nextItemBtn.setEnabled(canRead); } layout.addComponent(navigationBtns); return layout; }
From source file:com.esofthead.mycollab.module.crm.ui.components.NoteListItems.java
License:Open Source License
private void initUI() { noteWrapper = new MVerticalLayout().withSpacing(true).withMargin(new MarginInfo(true, true, false, true)) .withWidth("100%").withStyleName("note-view"); this.addComponent(noteWrapper); addStyleName("note-list"); createBtn = new Button(AppContext.getMessage(CrmCommonI18nEnum.BUTTON_NEW_NOTE), new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override/*from www . jav a2s. com*/ public void buttonClick(final ClickEvent event) { NoteEditor addCommentEditor = new NoteEditor(); noteWrapper.replaceComponent(createBtn, addCommentEditor); noteWrapper.setComponentAlignment(addCommentEditor, Alignment.TOP_LEFT); } }); createBtn.setStyleName(UIConstants.THEME_GREEN_LINK); createBtn.setIcon(FontAwesome.PLUS); noteWrapper.addComponent(createBtn); noteWrapper.setComponentAlignment(createBtn, Alignment.TOP_RIGHT); noteList = new BeanList<>(noteService, NoteRowDisplayHandler.class); noteList.setDisplayEmptyListText(false); noteList.setStyleName("noteList"); noteListContainer = new VerticalLayout(); noteWrapper.addComponent(noteListContainer); }
From source file:com.esofthead.mycollab.module.crm.view.account.AccountCaseListComp.java
License:Open Source License
@Override protected Component generateTopControls() { HorizontalLayout controlsBtnWrap = new HorizontalLayout(); controlsBtnWrap.setWidth("100%"); HorizontalLayout notesWrap = new HorizontalLayout(); notesWrap.setWidth("100%"); notesWrap.setSpacing(true);/*from www. j av a 2 s .co m*/ Label noteLbl = new Label("Note: "); noteLbl.setSizeUndefined(); noteLbl.setStyleName("list-note-lbl"); notesWrap.addComponent(noteLbl); CssLayout noteBlock = new CssLayout(); noteBlock.setWidth("100%"); noteBlock.setStyleName("list-note-block"); for (int i = 0; i < CrmDataTypeFactory.getCasesStatusList().length; i++) { Label note = new Label(CrmDataTypeFactory.getCasesStatusList()[i]); note.setStyleName("note-label"); note.addStyleName(colorsMap.get(CrmDataTypeFactory.getCasesStatusList()[i])); note.setSizeUndefined(); noteBlock.addComponent(note); } notesWrap.addComponent(noteBlock); notesWrap.setExpandRatio(noteBlock, 1.0f); controlsBtnWrap.addComponent(notesWrap); controlsBtnWrap.setWidth("100%"); final Button createBtn = new Button(); createBtn.setSizeUndefined(); createBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_CASE)); createBtn.addStyleName(UIConstants.THEME_GREEN_LINK); createBtn.setCaption(AppContext.getMessage(CaseI18nEnum.BUTTON_NEW_CASE)); createBtn.setIcon(FontAwesome.PLUS); createBtn.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = -8725970955325733072L; @Override public void buttonClick(final Button.ClickEvent event) { fireNewRelatedItem(""); } }); controlsBtnWrap.addComponent(createBtn); controlsBtnWrap.setComponentAlignment(createBtn, Alignment.MIDDLE_RIGHT); return controlsBtnWrap; }
From source file:com.esofthead.mycollab.module.crm.view.account.AccountContactListComp.java
License:Open Source License
@Override protected Component generateTopControls() { VerticalLayout controlsBtnWrap = new VerticalLayout(); controlsBtnWrap.setWidth("100%"); final SplitButton controlsBtn = new SplitButton(); controlsBtn.setSizeUndefined();/*from w w w.j av a2 s .c om*/ controlsBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_CONTACT)); controlsBtn.addStyleName(UIConstants.THEME_GREEN_LINK); controlsBtn.setCaption(AppContext.getMessage(ContactI18nEnum.BUTTON_NEW_CONTACT)); controlsBtn.setIcon(FontAwesome.PLUS); controlsBtn.addClickListener(new SplitButton.SplitButtonClickListener() { private static final long serialVersionUID = 1L; @Override public void splitButtonClick(final SplitButton.SplitButtonClickEvent event) { fireNewRelatedItem(""); } }); final Button selectBtn = new Button("Select from existing contacts", new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { final AccountContactSelectionWindow contactsWindow = new AccountContactSelectionWindow( AccountContactListComp.this); final ContactSearchCriteria criteria = new ContactSearchCriteria(); criteria.setSaccountid(new NumberSearchField(AppContext.getAccountId())); UI.getCurrent().addWindow(contactsWindow); contactsWindow.setSearchCriteria(criteria); controlsBtn.setPopupVisible(false); } }); selectBtn.setIcon(MyCollabResource.newResource(WebResourceIds._16_select)); selectBtn.setStyleName("link"); VerticalLayout buttonControlLayout = new VerticalLayout(); buttonControlLayout.addComponent(selectBtn); controlsBtn.setContent(buttonControlLayout); controlsBtnWrap.addComponent(controlsBtn); controlsBtnWrap.setComponentAlignment(controlsBtn, Alignment.MIDDLE_RIGHT); return controlsBtnWrap; }
From source file:com.esofthead.mycollab.module.crm.view.account.AccountLeadListComp.java
License:Open Source License
@Override protected Component generateTopControls() { VerticalLayout controlsBtnWrap = new VerticalLayout(); controlsBtnWrap.setWidth("100%"); final SplitButton controlsBtn = new SplitButton(); controlsBtn.setSizeUndefined();//from w w w .j av a2s . c om controlsBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_LEAD)); controlsBtn.addStyleName(UIConstants.THEME_GREEN_LINK); controlsBtn.setCaption(AppContext.getMessage(LeadI18nEnum.BUTTON_NEW_LEAD)); controlsBtn.setIcon(FontAwesome.PLUS); controlsBtn.addClickListener(new SplitButton.SplitButtonClickListener() { private static final long serialVersionUID = 1L; @Override public void splitButtonClick(final SplitButton.SplitButtonClickEvent event) { fireNewRelatedItem(""); } }); final Button selectBtn = new Button("Select from existing leads", new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final ClickEvent event) { final AccountLeadSelectionWindow leadsWindow = new AccountLeadSelectionWindow( AccountLeadListComp.this); final LeadSearchCriteria criteria = new LeadSearchCriteria(); criteria.setSaccountid(new NumberSearchField(AppContext.getAccountId())); UI.getCurrent().addWindow(leadsWindow); leadsWindow.setSearchCriteria(criteria); controlsBtn.setPopupVisible(false); } }); selectBtn.setIcon(MyCollabResource.newResource(WebResourceIds._16_select)); selectBtn.setStyleName("link"); VerticalLayout buttonControlLayout = new VerticalLayout(); buttonControlLayout.addComponent(selectBtn); controlsBtn.setContent(buttonControlLayout); controlsBtnWrap.addComponent(controlsBtn); controlsBtnWrap.setComponentAlignment(controlsBtn, Alignment.MIDDLE_RIGHT); return controlsBtnWrap; }
From source file:com.esofthead.mycollab.module.crm.view.account.AccountOpportunityListComp.java
License:Open Source License
@Override protected Component generateTopControls() { HorizontalLayout controlsBtnWrap = new HorizontalLayout(); controlsBtnWrap.setWidth("100%"); HorizontalLayout notesWrap = new HorizontalLayout(); notesWrap.setWidth("100%"); notesWrap.setSpacing(true);//from w ww .j a va 2 s. c o m Label noteLbl = new Label("Note: "); noteLbl.setSizeUndefined(); noteLbl.setStyleName("list-note-lbl"); notesWrap.addComponent(noteLbl); CssLayout noteBlock = new CssLayout(); noteBlock.setWidth("100%"); noteBlock.setStyleName("list-note-block"); for (int i = 0; i < CrmDataTypeFactory.getOpportunitySalesStageList().length; i++) { Label note = new Label(CrmDataTypeFactory.getOpportunitySalesStageList()[i]); note.setStyleName("note-label"); note.addStyleName(colormap.get(CrmDataTypeFactory.getOpportunitySalesStageList()[i])); note.setSizeUndefined(); noteBlock.addComponent(note); } notesWrap.addComponent(noteBlock); notesWrap.setExpandRatio(noteBlock, 1.0f); controlsBtnWrap.addComponent(notesWrap); controlsBtnWrap.setWidth("100%"); final Button createBtn = new Button(AppContext.getMessage(OpportunityI18nEnum.BUTTON_NEW_OPPORTUNITY), new Button.ClickListener() { private static final long serialVersionUID = -8101659779838108951L; @Override public void buttonClick(final Button.ClickEvent event) { fireNewRelatedItem(""); } }); createBtn.setSizeUndefined(); createBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_OPPORTUNITY)); createBtn.addStyleName(UIConstants.THEME_GREEN_LINK); createBtn.setIcon(FontAwesome.PLUS); controlsBtnWrap.addComponent(createBtn); controlsBtnWrap.setComponentAlignment(createBtn, Alignment.MIDDLE_RIGHT); return controlsBtnWrap; }
From source file:com.esofthead.mycollab.module.crm.view.account.AccountSearchPanel.java
License:Open Source License
private HorizontalLayout createSearchTopPanel() { final MHorizontalLayout layout = new MHorizontalLayout().withStyleName(UIConstants.HEADER_VIEW) .withWidth("100%").withSpacing(true).withMargin(new MarginInfo(true, false, true, false)); final Label searchTitle = new CrmViewHeader(CrmTypeConstants.ACCOUNT, AppContext.getMessage(AccountI18nEnum.VIEW_LIST_TITLE)); searchTitle.setStyleName(UIConstants.HEADER_TEXT); layout.with(searchTitle).withAlign(searchTitle, Alignment.MIDDLE_LEFT).expand(searchTitle); final Button createAccountBtn = new Button(AppContext.getMessage(AccountI18nEnum.BUTTON_NEW_ACCOUNT), new Button.ClickListener() { @Override/* www .j a va 2s . com*/ public void buttonClick(final ClickEvent event) { EventBusFactory.getInstance().post(new AccountEvent.GotoAdd(this, null)); } }); createAccountBtn.setStyleName(UIConstants.THEME_GREEN_LINK); createAccountBtn.setIcon(FontAwesome.PLUS); createAccountBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_ACCOUNT)); layout.with(createAccountBtn).withAlign(createAccountBtn, Alignment.MIDDLE_RIGHT); return layout; }
From source file:com.esofthead.mycollab.module.crm.view.activity.ActivityRelatedItemListComp.java
License:Open Source License
private void initUI() { if (allowCreateNew) { HorizontalLayout buttonLayout = new HorizontalLayout(); buttonLayout.setSpacing(true);//ww w .ja v a2 s .c o m final Button newTaskBtn = new Button("New Task", new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final Button.ClickEvent event) { fireNewRelatedItem("task"); } }); newTaskBtn.setIcon(FontAwesome.PLUS); newTaskBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_TASK)); newTaskBtn.setStyleName(UIConstants.THEME_GREEN_LINK); buttonLayout.addComponent(newTaskBtn); final Button newCallBtn = new Button("New Call", new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final Button.ClickEvent event) { fireNewRelatedItem("call"); } }); newCallBtn.setIcon(FontAwesome.PLUS); newCallBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_CALL)); newCallBtn.addStyleName(UIConstants.THEME_GREEN_LINK); buttonLayout.addComponent(newCallBtn); final Button newMeetingBtn = new Button("New Meeting", new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final Button.ClickEvent event) { fireNewRelatedItem("call"); } }); newMeetingBtn.setIcon(FontAwesome.PLUS); newMeetingBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_MEETING)); newMeetingBtn.addStyleName(UIConstants.THEME_GREEN_LINK); buttonLayout.addComponent(newMeetingBtn); this.addComponent(buttonLayout); this.addStyleName("activity-realated-content"); } tableItem = new ActivityTableDisplay(Arrays.asList( new TableViewField(ActivityI18nEnum.FORM_SUBJECT, "subject", UIConstants.TABLE_EX_LABEL_WIDTH), new TableViewField(ActivityI18nEnum.FORM_STATUS, "status", UIConstants.TABLE_S_LABEL_WIDTH), new TableViewField(TaskI18nEnum.FORM_START_DATE, "startDate", UIConstants.TABLE_DATE_TIME_WIDTH), new TableViewField(TaskI18nEnum.TABLE_END_DATE_HEADER, "endDate", UIConstants.TABLE_DATE_TIME_WIDTH))); tableItem.addTableListener(new TableClickListener() { private static final long serialVersionUID = 1L; @Override public void itemClick(final TableClickEvent event) { final SimpleActivity simpleEvent = (SimpleActivity) event.getData(); if (CrmTypeConstants.TASK.equals(simpleEvent.getEventType())) { EventBusFactory.getInstance().post(new ActivityEvent.TaskRead(this, simpleEvent.getId())); } else if (CrmTypeConstants.MEETING.equals(simpleEvent.getEventType())) { EventBusFactory.getInstance().post(new ActivityEvent.MeetingRead(this, simpleEvent.getId())); } else if (CrmTypeConstants.CALL.equals(simpleEvent.getEventType())) { EventBusFactory.getInstance().post(new ActivityEvent.CallRead(this, simpleEvent.getId())); } } }); this.addComponent(tableItem); }
From source file:com.esofthead.mycollab.module.crm.view.activity.ActivitySearchPanel.java
License:Open Source License
private HorizontalLayout createSearchTopPanel() { final MHorizontalLayout layout = new MHorizontalLayout().withWidth("100%").withSpacing(true) .withMargin(new MarginInfo(true, false, true, false)); layout.setSizeUndefined();/*from w ww. j a va2 s. c o m*/ layout.setDefaultComponentAlignment(Alignment.MIDDLE_LEFT); final Label searchtitle = new CrmViewHeader(CrmTypeConstants.ACTIVITY, "Events"); searchtitle.setStyleName(Reindeer.LABEL_H2); layout.with(searchtitle).withAlign(searchtitle, Alignment.MIDDLE_LEFT).expand(searchtitle); final SplitButton controlsBtn = new SplitButton(); controlsBtn.setSizeUndefined(); controlsBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_CALL) || AppContext.canWrite(RolePermissionCollections.CRM_MEETING)); controlsBtn.addStyleName(UIConstants.THEME_GREEN_LINK); controlsBtn.setIcon(FontAwesome.PLUS); controlsBtn.setCaption("New Task"); controlsBtn.addClickListener(new SplitButton.SplitButtonClickListener() { private static final long serialVersionUID = 1L; @Override public void splitButtonClick(final SplitButton.SplitButtonClickEvent event) { EventBusFactory.getInstance().post(new ActivityEvent.TaskAdd(this, null)); } }); final VerticalLayout btnControlsLayout = new VerticalLayout(); controlsBtn.setContent(btnControlsLayout); final Button createMeetingBtn = new Button("New Meeting", new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final Button.ClickEvent event) { controlsBtn.setPopupVisible(false); EventBusFactory.getInstance().post(new ActivityEvent.MeetingAdd(this, null)); } }); createMeetingBtn.setStyleName("link"); btnControlsLayout.addComponent(createMeetingBtn); createMeetingBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_MEETING)); final Button createCallBtn = new Button("New Call", new Button.ClickListener() { private static final long serialVersionUID = 1L; @Override public void buttonClick(final Button.ClickEvent event) { controlsBtn.setPopupVisible(false); EventBusFactory.getInstance().post(new ActivityEvent.CallAdd(this, null)); } }); createCallBtn.setStyleName("link"); createCallBtn.setEnabled(AppContext.canWrite(RolePermissionCollections.CRM_CALL)); btnControlsLayout.addComponent(createCallBtn); layout.with(controlsBtn).withAlign(controlsBtn, Alignment.MIDDLE_RIGHT); ButtonGroup viewSwitcher = new ButtonGroup(); Button calendarViewBtn = new Button("Calendar", new Button.ClickListener() { private static final long serialVersionUID = -793215433929884575L; @Override public void buttonClick(ClickEvent evt) { EventBusFactory.getInstance().post(new ActivityEvent.GotoCalendar(this, null)); } }); calendarViewBtn.addStyleName(UIConstants.THEME_GREEN_LINK); viewSwitcher.addButton(calendarViewBtn); Button activityListBtn = new Button("Activitities"); activityListBtn.setStyleName("selected"); activityListBtn.addStyleName(UIConstants.THEME_GREEN_LINK); viewSwitcher.addButton(activityListBtn); layout.with(viewSwitcher).withAlign(viewSwitcher, Alignment.MIDDLE_RIGHT); return layout; }