List of usage examples for com.vaadin.ui Embedded setDescription
public void setDescription(String description)
From source file:ro.zg.netcell.vaadin.action.application.EntityListHandler.java
License:Apache License
private ComponentContainer getSearchFilter(final Entity entity, final UserAction ua, final OpenGroupsApplication app, final ActionContext ac) { final ComboBox select = new ComboBox(); select.setImmediate(true);//from w w w . j av a2s .co m select.setNullSelectionAllowed(true); select.setNewItemsAllowed(true); String stringToBigError = OpenGroupsResources.getMessage("search.string.to.big.error"); select.addValidator(new StringLengthValidator(stringToBigError, 0, 1000, true)); select.setWidth("350px"); final String paramName = "searchString"; String searchValue = (String) entity.getFilterValue(paramName); if (searchValue != null) { select.addItem(searchValue); select.setValue(searchValue); } // HorizontalLayout layout = new HorizontalLayout(); // layout.setSpacing(true); // layout.setSizeUndefined(); // final String searchCaption = OpenGroupsResources.getMessage("search"); // Button searchButton = new Button(searchCaption); // searchButton.addListener(new ClickListener() { // // @Override // public void buttonClick(ClickEvent event) { // select.validate(); // String value = (String) select.getValue(); // if (value != null && "".equals(value.trim())) { // value = null; // } // FilterOption fo = new FilterOption(searchCaption, paramName, value); // entity.setFilter(fo); // refreshList(entity, ua, app, entity.getState().getLastUsedContainer()); // } // }); select.addListener(new ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { select.validate(); String value = (String) select.getValue(); if (value != null && "".equals(value.trim())) { value = null; } FilterOption fo = new FilterOption(null, paramName, value); entity.setFilter(fo); /* set current page to 1 */ entity.getState().resetPageInfoForCurrentAction(); refreshList(entity, ua, app, entity.getState().getLastUsedContainer(), ac); } }); CssLayout container = new CssLayout(); container.setSizeUndefined(); Embedded eicon = new Embedded(null, OpenGroupsResources.getIcon(OpenGroupsIconsSet.SEARCH, OpenGroupsIconsSet.MEDIUM)); eicon.setDescription(getMessage("search")); eicon.addStyleName("middle-left right-margin-10"); select.addStyleName("middle-left"); // Label label = new Label(getMessage("search")); // container.addComponent(label); container.addComponent(eicon); container.addComponent(select); return container; }
From source file:ro.zg.netcell.vaadin.action.application.OpenSelectedEntityHandler.java
License:Apache License
@Override public void handle(final ActionContext actionContext) throws Exception { final ComponentContainer container = actionContext.getTargetContainer(); container.removeAllComponents();/*from w ww . j a v a 2 s.com*/ // container.setSizeFull(); // container.setMargin(false); final OpenGroupsApplication app = actionContext.getApp(); final Entity entity = actionContext.getEntity(); EntityState entityState = entity.getState(); boolean isOpened = entityState.isOpened(); String complexEntityType = entity.getComplexType(); ApplicationConfigManager appConfigManager = app.getAppConfigManager(); List<String> subtyesList = appConfigManager.getSubtypesForComplexType(complexEntityType); // Panel currentContainer = (Panel) container; ComponentContainer currentContainer = container; entity.setEntityContainer(container); CssLayout headerContainer = new CssLayout(); headerContainer.addStyleName("entity-header-container"); currentContainer.addComponent(headerContainer); // CssLayout titleContainer = new CssLayout(); // titleContainer.setWidth("80%"); // titleContainer.addStyleName(OpenGroupsStyles.MIDDLE_LEFT); // headerContainer.addComponent(titleContainer); // titleContainer.setSizeFull(); // /* show level */ // String levelMsg = getMessage("level"); // Label levelLabel = new Label(levelMsg+" "+entity.getDepth()); // titleContainer.addComponent(levelLabel); /* show entity type */ if (entity.getState().isEntityTypeVisible()) { String entityTypeCaption = getMessage(entity.getComplexType()); String size = OpenGroupsIconsSet.MEDIUM; if (entity.getContent() != null) { size = OpenGroupsIconsSet.LARGE; } // Label typeIcon = new Label(); // typeIcon.setDescription(entityTypeCaption); // typeIcon.setIcon(OpenGroupsResources.getIcon(entity.getComplexType().toLowerCase(), // size)); // typeIcon.setSizeUndefined(); // typeIcon.addStyleName("top-left right-margin-20"); // headerContainer.addComponent(typeIcon); Embedded eicon = new Embedded(null, OpenGroupsResources.getIcon(entity.getComplexType().toLowerCase(), size)); eicon.setDescription(entityTypeCaption); eicon.addStyleName("top-left right-margin-20"); headerContainer.addComponent(eicon); // Embedded eicon2 = new Embedded("", // OpenGroupsResources.getIcon(entity.getComplexType().toLowerCase(), // size)); // eicon2.setDescription(entityTypeCaption); // eicon2.addStyleName("top-left right-margin-20"); // headerContainer.addComponent(eicon2); } // Label test = new Label("test"); // test.setSizeUndefined(); // test.addStyleName("top-left"); // headerContainer.addComponent(test); /* add last action for this entity */ if (entity.getLastActionType() != null) { String actionType = entity.getLastActionType(); String msg = getMessage(actionType); // Label actionLabel = new Label(); // actionLabel.setDescription(msg); // actionLabel.setIcon(OpenGroupsResources.getIcon(actionType, // OpenGroupsIconsSet.MEDIUM)); // actionLabel.setSizeUndefined(); // actionLabel.addStyleName(OpenGroupsStyles.MIDDLE_LEFT); // titleContainer.addComponent(actionLabel); Embedded actionIcon = new Embedded(null, OpenGroupsResources.getIcon(actionType, OpenGroupsIconsSet.MEDIUM)); actionIcon.setDescription(msg); actionIcon.addStyleName("top-left right-margin-20"); headerContainer.addComponent(actionIcon); } EntityLink selectedCause = entity.getSelectedCause(); /* display title */ /* if the entity is open */ /* treat leafs like all posts 21.08.2012 */ if (isOpened /* * || (subtyesList == null && entity.getLastActionType() == * null) */) { Label title = new Label(entity.getTitle()); if (isOpened) { title.addStyleName(OpenGroupsStyles.TITLE_LINK); } else { title.addStyleName("list-issue-title"); } // title.addStyleName("top-left"); // title.setSizeFull(); title.setWidth("80%"); // title.setHeight("100%"); headerContainer.addComponent(title); } else { // Button titleLink = new Button(entity.getTitle()); // titleLink.setWidth("100%"); // titleLink.addStyleName(BaseTheme.BUTTON_LINK); // titleLink.addStyleName("issue-title"); // titleLink.setDescription(entity.getContentPreview()); Label titleLink = null; /* treat leafs like all posts 21.08.2012 */ // if (subtyesList != null) { titleLink = OpenGroupsUtil.getLinkForEntity(entity, app); titleLink.setDescription(entity.getContentPreview()); titleLink.addStyleName("list-issue-title"); // } // /* is a leaf entity in the recent activity list */ // else { // String parentTitle = selectedCause.getParentTitle(); // Entity parentEntity = new Entity(selectedCause.getParentId()); // parentEntity.setTitle(parentTitle); // // parentEntity.getState().setDesiredActionsPath( // complexEntityType + // Defaults.getDefaultActionForEntityType(complexEntityType)); // titleLink = OpenGroupsUtil.getLinkForEntity(parentEntity, app, // entity.getTitle()); // titleLink.setDescription(entity.getContentPreview()); // titleLink.addStyleName("list-issue-title"); // // } // titleLink.setWidth("75%"); titleLink.addStyleName("top-left"); headerContainer.addComponent(titleLink); // titleContainer.setExpandRatio(titleLink, 10f); // currentContainer.addStyleName("list-item"); } /* add parent link */ if (selectedCause != null && !isOpened && entity.getContent() == null) { // CssLayout parentInfoContainer = new CssLayout(); // parentInfoContainer.addStyleName(OpenGroupsStyles.TOP_RIGHT); // headerContainer.addComponent(parentInfoContainer); // headerContainer.setColumnExpandRatio(1, 1f); // headerContainer.setComponentAlignment(parentInfoContainer, // Alignment.TOP_RIGHT); /* if parent entity is the current selected entity, say it */ Entity mainEntity = actionContext.getMainEntity(); if (selectedCause.getParentId() == mainEntity.getId()) { // String currentMsg = getMessage(mainEntity.getComplexType() + // ".current"); // Label currentEntityLabel = new Label(currentMsg); // currentEntityLabel.setSizeUndefined(); // currentEntityLabel.addStyleName("top-right"); // headerContainer.addComponent(currentEntityLabel); // titleContainer.setExpandRatio(currentEntityLabel, 2f); } else {/* add link to the parent entity */ String parentTitle = selectedCause.getParentTitle(); final Entity parentEntity = new Entity(selectedCause.getParentId()); parentEntity.setTitle(parentTitle); Label parentLink = OpenGroupsUtil.getLinkForEntityWithImage(parentEntity, app, OpenGroupsResources.getIconPath(OpenGroupsIconsSet.PARENT, OpenGroupsIconsSet.MEDIUM)); parentLink.setDescription(parentTitle); parentLink.setSizeUndefined(); parentLink.addStyleName(OpenGroupsStyles.TOP_RIGHT); // CssLayout imgContainer = new CssLayout(); // imgContainer.setWidth("24px"); // imgContainer.setHeight("24px"); // imgContainer.addStyleName(OpenGroupsStyles.TOP_RIGHT); // imgContainer.addComponent(parentLink); // parentInfoContainer.addComponent(imgContainer); headerContainer.addComponent(parentLink); } } /* display header actions */ if (isOpened) { UserActionList headerActions = getAvailableActions(entity, ActionLocations.HEADER); boolean allowRefresh = appConfigManager.getComplexEntityBooleanParam(entity.getComplexType(), ComplexEntityParam.ALLOW_REFRESH); boolean hasHeaderActions = headerActions != null && headerActions.getActions() != null; if (allowRefresh || hasHeaderActions) { HorizontalLayout actionsContainer = new HorizontalLayout(); actionsContainer.addStyleName(OpenGroupsStyles.TOP_RIGHT); actionsContainer.setSpacing(true); // /* add refresh button */ // if (allowRefresh) { // actionsContainer.addComponent(getRefreshButton(entity, app)); // } // if (hasHeaderActions) { // for (final UserAction ha : // headerActions.getActions().values()) { // Button actButton = getButtonForAction(ha, entity, app); // actionsContainer.addComponent(actButton); // } // } headerContainer.addComponent(actionsContainer); // headerContainer.setColumnExpandRatio(1, 1f); // headerContainer.setComponentAlignment(actionsContainer, // Alignment.TOP_RIGHT); entity.setHeaderActionLinksContainer(actionsContainer); refreshHeaderActionLinks(entity, app, actionContext); } } /* display tags */ List<Tag> tags = entity.getTags(); if (tags != null) { if (tags.size() > 0) { String tagsList = ""; for (int i = 0; i < tags.size(); i++) { Tag tag = tags.get(i); tagsList += tag.getTagName(); if ((tags.size() - i) > 1) { tagsList += ", "; } } String tagsLabelString = app.getMessage("tags.label") + tagsList; currentContainer.addComponent(new Label(tagsLabelString)); } } CssLayout statusPane = new CssLayout(); statusPane.addStyleName("entity-status-pane"); currentContainer.addComponent(statusPane); if (appConfigManager.getComplexEntityBooleanParam(complexEntityType, ComplexEntityParam.SHOW_POST_INFO)) { String insertDateString = entity.getInsertDate().toString(); Label insertDate = new Label(app.getMessage("posted") + DateUtil.removeNanos(insertDateString)); statusPane.addComponent(insertDate); // statusPane.setColumnExpandRatio(0, 1f); } CssLayout statsSummaryPane = new CssLayout(); statsSummaryPane.addStyleName("entity-stats-summary-pane"); // statsSummaryPane.setSizeFull(); // statsSummaryPane.setWidth("100%"); currentContainer.addComponent(statsSummaryPane); /* add votes */ if (appConfigManager.getComplexEntityBooleanParam(complexEntityType, ComplexEntityParam.ALLOW_VOTING)) { // HorizontalLayout votesPane = new HorizontalLayout(); // votesPane.setMargin(false); // votesPane.addStyleName("middle-left"); // votesPane.addStyleName("margin-right"); // statsSummaryPane.addComponent(votesPane); // statsSummaryPane.setExpandRatio(votesPane, 1f); // statsSummaryPane.setComponentAlignment(votesPane, // Alignment.MIDDLE_LEFT); Label votesLabel = new Label(app.getMessage("votes") + ": "); votesLabel.setContentMode(Label.CONTENT_XHTML); votesLabel.setSizeUndefined(); votesLabel.addStyleName("middle-left"); // votesPane.addComponent(votesLabel); Label proVotes = FormatingUtils.coloredLabel(entity.getProVotes(), "336633"); proVotes.addStyleName("middle-left"); proVotes.setSizeUndefined(); // votesPane.addComponent(proVotes); Label dash = new Label("-"); dash.addStyleName("middle-left"); dash.setSizeUndefined(); // votesPane.addComponent(new Label("-")); Label opposedVotes = FormatingUtils.coloredLabel(entity.getOpposedVotes(), "660000"); // votesPane.addComponent(opposedVotes); opposedVotes.addStyleName("middle-left"); opposedVotes.addStyleName("right-margin-10"); opposedVotes.setSizeUndefined(); statsSummaryPane.addComponent(votesLabel); statsSummaryPane.addComponent(proVotes); statsSummaryPane.addComponent(dash); statsSummaryPane.addComponent(opposedVotes); } List<TypeRelationConfig> subtypes = appConfigManager.getSubtypesForType(entity.getComplexTypeId()); // if (subtyesList != null) { if (subtypes != null) { Map<String, Long> firstLevelSubtypesCount = entity.getSubtypeEntitiesCount(); Map<String, Long> allSubtypesCount = entity.getRecursiveSubtypeEntitiesCount(); // for (String s : subtyesList) { // String subtype = s.toLowerCase(); for (TypeRelationConfig trc : subtypes) { String targetComplexType = trc.getTargetComplexType(); String subtype = targetComplexType.toLowerCase(); String displayName = app.getMessage("subtype." + subtype); Entity refEntity = new Entity(entity.getId()); refEntity.getState().setDesiredActionsPath( targetComplexType + Defaults.getDefaultActionForEntityType(targetComplexType)); Label subtypeLink = OpenGroupsUtil.getLinkForEntity(refEntity, app, displayName); String valueString = ": " + firstLevelSubtypesCount.get(subtype); // if (getAppConfigManager().getComplexEntityBooleanParam(s, // ComplexEntityParam.ALLOW_RECURSIVE_LIST)) { if (appConfigManager.getTypeRelationBooleanConfigParam(trc.getId(), TypeRelationConfigParam.ALLOW_RECURSIVE_LIST)) { Long recCount = allSubtypesCount.get(subtype); if (recCount != null) { valueString += " / " + recCount; } } Label sl = new Label(valueString); sl.setWidth(null); sl.addStyleName("middle-left"); sl.addStyleName("right-margin-10"); subtypeLink.setWidth(null); subtypeLink.addStyleName("middle-left"); statsSummaryPane.addComponent(subtypeLink); statsSummaryPane.addComponent(sl); // statsSummaryPane.setExpandRatio(sl, 1f); // statsSummaryPane.setComponentAlignment(sl, // Alignment.MIDDLE_LEFT); } } displaySummaryActions(entity, app, statsSummaryPane, actionContext); // statusPane.addComponent(statsSummaryPane, 1, 0); // statusPane.setColumnExpandRatio(1, 1.8f); // statusPane.setComponentAlignment(statsSummaryPane, // Alignment.MIDDLE_RIGHT); // summaryLayout.setComponentAlignment(statsSummaryPane, // Alignment.MIDDLE_RIGHT); /* add the content */ Object contentObj = entity.getContent(); if (contentObj != null) { // content.setSizeFull(); Panel contentContainer = new Panel(); // CssLayout contentContainer = new CssLayout(); contentContainer.addStyleName("text-content"); currentContainer.addComponent(contentContainer); Label content = new Label(contentObj.toString()); content.setContentMode(Label.CONTENT_XHTML); // content.addStyleName("text-label"); contentContainer.addComponent(content); /* if the content is visible, display footer actions */ displayFooterActions(entity, app, currentContainer, actionContext); } }