public void addProjectIcon(Project project) { FlowPanel projectPanel = new FlowPanel(); JsArrayString appStrings = project.getApps(); String description = ""; for (int i = 0; i < appStrings.length(); i++) { if (i == appStrings.length() - 1) description += appStrings.get(i); else description += appStrings.get(i) + ", "; } final String projectName = project.getName(); final String appNames = description; Image projectImg = new Image(res.projectdefaulticon2().getUrl()); projectImg.setPixelSize(64, 64); projectPanel.add(projectImg); projectPanel.add(new Label(projectName)); final FocusPanel testLabel = new FocusPanel(); testLabel.add(projectPanel); testLabel.setStyleName(style.projectIcon()); testLabel.addMouseOverHandler( new MouseOverHandler() { public void onMouseOver(MouseOverEvent event) { testLabel.setStyleName(style.projectIconActive()); desc.show(); desc.setPopupPosition( testLabel.getAbsoluteLeft() + testLabel.getOffsetWidth(), testLabel.getAbsoluteTop() - 5); desc.setTitle("Applications"); desc.setText(appNames); } }); testLabel.addMouseOutHandler( new MouseOutHandler() { public void onMouseOut(MouseOutEvent event) { testLabel.setStyleName(style.projectIcon()); desc.hide(); } }); testLabel.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { testLabel.setStyleName(style.projectIcon()); eventBus.fireEvent( new PanelTransitionEvent( PanelTransitionEvent.TransitionTypes.DASHBOARD, projectName)); } }); projectIconsFlowPanel.add(testLabel); iconMap.put(project.getName(), projectIconsFlowPanel.getWidgetIndex(testLabel)); }
/* (non-Javadoc) * @see com.google.gwt.event.dom.client.FocusHandler#onFocus(com.google.gwt.event.dom.client.FocusEvent) */ @Override public void onFocus(FocusEvent event) { focusPanel.setStyleName("focusPanel"); }