List of usage examples for com.vaadin.ui VerticalLayout setComponentAlignment
@Override public void setComponentAlignment(Component childComponent, Alignment alignment)
From source file:edu.nps.moves.mmowgli.Mmowgli2UI.java
License:Open Source License
public void setRunningApplicationFrameworkTL(User u) { VerticalLayout layout = (VerticalLayout) getContent(); layout.removeAllComponents();/*from w w w.j a va2s. co m*/ layout.addStyleName("m-background"); layout.setMargin(false); // This is the layout that fills the browser window // layout spans browser window and tracks its resize // the outerframe below is centered layout.setWidth("100%"); outerFr = new MmowgliOuterFrame(u); // contains header and footer layout.addComponent(outerFr); layout.setComponentAlignment(outerFr, Alignment.TOP_CENTER); navigator = new Navigator(this, getContentContainer()); getSessionGlobals().getController().setupNavigator(navigator); Game g = Game.getTL(); showOrHideFouoButton(g.isShowFouo()); uiFullyInitted = true; }
From source file:edu.nps.moves.mmowgli.MmowgliMessageBroadcaster.java
License:Open Source License
private static void _postGameEvent(String title, final GameEvent.EventType typ, String buttName, boolean doWarning) { // Create the window... final Window bcastWindow = new Window(title); bcastWindow.setModal(true);/*w w w . ja v a 2 s .com*/ VerticalLayout layout = new VerticalLayout(); bcastWindow.setContent(layout); layout.setMargin(true); layout.setSpacing(true); layout.setWidth("99%"); layout.addComponent(new Label("Compose message (255 char limit):")); final TextArea ta = new TextArea(); ta.setRows(5); ta.setWidth("99%"); layout.addComponent(ta); HorizontalLayout buttHl = new HorizontalLayout(); final Button bcancelButt = new Button("Cancel"); buttHl.addComponent(bcancelButt); Button bokButt = new Button(buttName); buttHl.addComponent(bokButt); layout.addComponent(buttHl); layout.setComponentAlignment(buttHl, Alignment.TOP_RIGHT); if (doWarning) layout.addComponent(new Label("Use with great deliberation!")); bcastWindow.setWidth("320px"); UI.getCurrent().addWindow(bcastWindow); bcastWindow.setPositionX(0); bcastWindow.setPositionY(0); ta.focus(); @SuppressWarnings("serial") ClickListener lis = new ClickListener() { @Override @MmowgliCodeEntry @HibernateOpened @HibernateClosed @HibernateUserRead public void buttonClick(ClickEvent event) { if (event.getButton() == bcancelButt) ; // nothin else { // This check is now done in GameEvent.java, but should ideally prompt the user. HSess.init(); String msg = ta.getValue().toString().trim(); if (msg.length() > 0) { if (msg.length() > 255) // clamp to 255 to avoid db exception msg = msg.substring(0, 254); Serializable uid = Mmowgli2UI.getGlobals().getUserID(); User u = User.getTL(uid); if (typ == GameEvent.EventType.GAMEMASTERNOTE) GameEventLogger.logGameMasterCommentTL(msg, u); else GameEventLogger.logGameMasterBroadcastTL(typ, msg, u); // GameEvent.save(new GameEvent(typ,msg)); HSess.close(); } } bcastWindow.close(); } }; bcancelButt.addClickListener(lis); bokButt.addClickListener(lis); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.ActionPlanPage2.java
License:Open Source License
@SuppressWarnings("serial") public void initGuiTL() { ActionPlan actPln = ActionPlan.getTL(apId); User me = Mmowgli2UI.getGlobals().getUserTL(); addStyleName("m-cssleft-45"); setWidth("1089px"); setHeight("1821px"); Label sp;/* w w w. j ava2 s . c o m*/ VerticalLayout mainVL = new VerticalLayout(); addComponent(mainVL, "top:0px;left:0px"); mainVL.addStyleName("m-overflow-visible"); mainVL.setWidth("1089px"); mainVL.setHeight(null); mainVL.setSpacing(false); mainVL.setMargin(false); VerticalLayout mainVLayout = new VerticalLayout(); mainVLayout.setSpacing(false); mainVLayout.setMargin(false); mainVLayout.addStyleName("m-actionplan-background2"); mainVLayout.setWidth("1089px"); mainVLayout.setHeight(null); //"1821px"); mainVL.addComponent(mainVLayout); mainVLayout.addComponent(makeIdField(actPln)); mainVLayout.addComponent(sp = new Label()); sp.setHeight("5px"); VerticalLayout leftTopVL = new VerticalLayout(); leftTopVL.setWidth("820px"); leftTopVL.setSpacing(false); leftTopVL.setMargin(false); mainVLayout.addComponent(leftTopVL); HorizontalLayout titleAndThumbsHL = new HorizontalLayout(); titleAndThumbsHL.setSpacing(false); titleAndThumbsHL.setMargin(false); titleAndThumbsHL.setHeight("115px"); titleAndThumbsHL.addStyleName("m-actionplan-header-container"); leftTopVL.addComponent(titleAndThumbsHL); titleAndThumbsHL.addComponent(sp = new Label()); sp.setWidth("55px"); VerticalLayout vl = new VerticalLayout(); vl.addComponent(titleUnion); //titleTA); titleUnion.initGui(); titleHistoryButt = new NativeButton(); titleHistoryButt.setCaption("history"); titleHistoryButt.setStyleName(BaseTheme.BUTTON_LINK); titleHistoryButt.addStyleName("borderless"); titleHistoryButt.addStyleName("m-actionplan-history-button"); titleHistoryButt.addClickListener(new TitleHistoryListener()); titleHistoryButt.setEnabled(!readonly); vl.addComponent(titleHistoryButt); vl.setComponentAlignment(titleHistoryButt, Alignment.TOP_RIGHT); titleAndThumbsHL.addComponent(vl); //titleTA); titleUnion.setWidth(ACTIONPLAN_TITLE_W); titleUnion.setValueTL(actPln.getTitle() == null ? "" : actPln.getTitle()); titleUnion.addStyleName("m-lightgrey-border"); // titleUnion.addStyleName("m-opacity-75"); titleUnion.setHeight("95px"); // 120 px); must make it this way for alignment of r/o vs rw addComponent(saveCanPan, "top:0px;left:395px"); saveCanPan.setVisible(false); titleAndThumbsHL.addComponent(sp = new Label()); sp.setWidth("50px"); VerticalLayout thumbVL = new VerticalLayout(); titleAndThumbsHL.addComponent(thumbVL); thumbVL.addComponent(sp = new Label()); sp.setHeight("50px"); thumbPanel = new ThumbPanel(); Map<User, Integer> map = actPln.getUserThumbs(); Integer t = map.get(me); /* if(t == null) { map.put(me, 0); ActionPlan.update(actPln); GameEventLogger.logActionPlanUpdate(actPln, "thumbs changed",me.getUserName()); t = 0; } */ thumbPanel.setNumUserThumbs(t == null ? 0 : t); thumbVL.addComponent(thumbPanel); HorizontalLayout commentAndViewChainHL = new HorizontalLayout(); leftTopVL.addComponent(commentAndViewChainHL); commentAndViewChainHL.setSpacing(false); commentAndViewChainHL.setMargin(false); commentAndViewChainHL.addComponent(sp = new Label()); sp.setWidth("55px"); VerticalLayout commLeftVL = new VerticalLayout(); commentAndViewChainHL.addComponent(commLeftVL); commLeftVL.setWidth("95px"); commLeftVL.addComponent(commentsButt); commentsButt.setStyleName(BaseTheme.BUTTON_LINK); commentsButt.addStyleName("borderless"); commentsButt.addStyleName("m-actionplan-comments-button"); ClickListener commLis; commentsButt.addClickListener(commLis = new ClickListener() { @Override public void buttonClick(ClickEvent event) { UI.getCurrent().setScrollTop(1250); //commentsButt.getWindow().setScrollTop(1250); } }); commLeftVL.addComponent(sp = new Label()); sp.setHeight("65px"); //"50px"); commLeftVL.addComponent(envelopeButt); envelopeButt.addStyleName("m-actionplan-envelope-button"); envelopeButt.addClickListener(commLis); // same as the link button above commentAndViewChainHL.addComponent(sp = new Label()); sp.setWidth("5px"); VerticalLayout commMidVL = new VerticalLayout(); commentAndViewChainHL.addComponent(commMidVL); commMidVL.setWidth("535px"); commMidVL.addComponent(addCommentButt); addCommentButt.setCaption("Add Comment"); addCommentButt.setStyleName(BaseTheme.BUTTON_LINK); addCommentButt.addStyleName("borderless"); addCommentButt.addStyleName("m-actionplan-comments-button"); addCommentButt.setId(ACTIONPLAN_ADD_COMMENT_LINK_BUTTON_TOP); addCommentButt.addClickListener(addCommentListener = new ClickListener() { @Override public void buttonClick(ClickEvent event) { UI.getCurrent().setScrollTop(1250); //addCommentButt.getWindow().setScrollTop(1250); commentPanel.AddCommentClicked(event); } }); commMidVL.addComponent(sp = new Label()); sp.setHeight("5px"); commMidVL.addComponent(lastCommentLabel = new HtmlLabel()); lastCommentLabel.setWidth("100%"); lastCommentLabel.setHeight("94px"); lastCommentLabel.addStyleName("m-actionplan-textentry"); lastCommentLabel.addStyleName("m-opacity-75"); addComponent(viewChainButt, "left:690px;top:140px"); viewChainButt.setStyleName("m-viewCardChainButton"); viewChainButt.addClickListener(new ViewCardChainHandler()); viewChainButt.setId(ACTIONPLAN_VIEW_CARD_CHAIN_BUTTON); // This guy sits on the bottom naw, gets covered // author list and rfe VerticalLayout rightVL = new VerticalLayout(); this.addComponent(rightVL, "left:830px;top:0px"); rightVL.setSpacing(false); rightVL.setMargin(false); rightVL.setWidth(null); VerticalLayout listVL = new VerticalLayout(); listVL.setSpacing(false); listVL.addStyleName("m-actionPlanAddAuthorList"); listVL.addStyleName("m-actionplan-header-container"); listVL.setHeight(null); listVL.setWidth("190px"); listVL.addComponent(sp = new Label()); sp.setHeight("35px"); sp.setDescription("List of current authors and (invited authors)"); Label subTitle; listVL.addComponent(subTitle = new Label("(invited in parentheses)")); subTitle.setWidth(null); // keep it from being 100% wide subTitle.setDescription("List of current authors and (invited authors)"); subTitle.addStyleName("m-actionplan-authorlist-sublabel"); listVL.setComponentAlignment(subTitle, Alignment.MIDDLE_CENTER); rightVL.addComponent(listVL); TreeSet<User> ts = new TreeSet<User>(new User.AlphabeticalComparator()); ts.addAll(actPln.getAuthors()); TreeSet<User> greyTs = new TreeSet<User>(new User.AlphabeticalComparator()); greyTs.addAll(actPln.getInvitees()); authorList = new UserList(null, ts, greyTs); listVL.addComponent(authorList); authorList.addStyleName("m-greyborder"); listVL.setComponentAlignment(authorList, Alignment.TOP_CENTER); authorList.setWidth("150px"); authorList.setHeight("95px"); listVL.addComponent(sp = new Label()); sp.setHeight("5px"); listVL.addComponent(addAuthButton); listVL.setComponentAlignment(addAuthButton, Alignment.TOP_CENTER); addAuthButton.setStyleName("m-actionPlanAddAuthorButt"); addAuthButton.addClickListener(new AddAuthorHandler()); addAuthButton.setDescription("Invite players to be authors of this action plan"); rightVL.addComponent(sp = new Label()); sp.setHeight("5px"); rightVL.addComponent(rfeButt); rightVL.setComponentAlignment(rfeButt, Alignment.TOP_CENTER); // done in handleDisabledments() rfeButt.setStyleName("m-rfeButton"); // end authorList and rfe mainVLayout.addComponent(sp = new Label()); sp.setHeight("5px"); sp.setWidth("20px"); // Tabs: AbsoluteLayout absL = new AbsoluteLayout(); mainVLayout.addComponent(absL); absL.setHeight("60px"); absL.setWidth("830px"); HorizontalLayout tabsHL = new HorizontalLayout(); tabsHL.setStyleName("m-actionPlanBlackTabs"); tabsHL.setSpacing(false); absL.addComponent(tabsHL, "left:40px;top:0px"); NewTabClickHandler ntabHndlr = new NewTabClickHandler(); tabsHL.addComponent(sp = new Label()); sp.setWidth("19px"); thePlanTabButt.setStyleName("m-actionPlanThePlanTab"); thePlanTabButt.addStyleName(ACTIONPLAN_TAB_THEPLAN); // debug thePlanTabButt.addClickListener(ntabHndlr); tabsHL.addComponent(thePlanTabButt); talkTabButt.setStyleName("m-actionPlanTalkItOverTab"); //talkTabButt.addStyleName(ACTIONPLAN_TAB_TALK); talkTabButt.addClickListener(ntabHndlr); tabsHL.addComponent(talkTabButt); talkTabButt.addStyleName("m-transparent-background"); // initially imagesTabButt.setStyleName("m-actionPlanImagesTab"); imagesTabButt.addStyleName(ACTIONPLAN_TAB_IMAGES); imagesTabButt.addClickListener(ntabHndlr); tabsHL.addComponent(imagesTabButt); imagesTabButt.addStyleName("m-transparent-background"); // initially videosTabButt.setStyleName("m-actionPlanVideosTab"); videosTabButt.addStyleName(ACTIONPLAN_TAB_VIDEO); videosTabButt.addClickListener(ntabHndlr); tabsHL.addComponent(videosTabButt); videosTabButt.addStyleName("m-transparent-background"); // initially mapTabButt.setStyleName("m-actionPlanMapTab"); mapTabButt.addStyleName(ACTIONPLAN_TAB_MAP); mapTabButt.addClickListener(ntabHndlr); tabsHL.addComponent(mapTabButt); mapTabButt.addStyleName("m-transparent-background"); // initially newChatLab.setStyleName("m-newChatLabel"); absL.addComponent(newChatLab, "left:340px;top:15px"); newChatLab.setVisible(false); // stack the pages HorizontalLayout hsp = new HorizontalLayout(); hsp.setHeight("742px"); // allows for differing ghost box heights mainVLayout.addComponent(hsp); hsp.addComponent(sp = new Label()); sp.setWidth("45px"); hsp.addComponent(thePlanTab); thePlanTab.initGui(); hsp.addComponent(talkTab); talkTab.initGui(); talkTab.setVisible(false); hsp.addComponent(imagesTab); imagesTab.initGui(); imagesTab.setVisible(false); hsp.addComponent(videosTab); videosTab.initGui(); videosTab.setVisible(false); hsp.addComponent(mapTab); mapTab.initGui(); mapTab.setVisible(false); mainVLayout.addComponent(sp = new Label()); sp.setHeight("90px"); HorizontalLayout buttLay = new HorizontalLayout(); buttLay.addStyleName("m-marginleft-60"); mainVLayout.addComponent(buttLay); buttLay.setWidth(ActionPlanPageCommentPanel2.COMMENT_PANEL_WIDTH); addCommentButtBottom.setCaption("Add Comment"); addCommentButtBottom.setStyleName(BaseTheme.BUTTON_LINK); addCommentButtBottom.addStyleName("borderless"); addCommentButtBottom.addStyleName("m-actionplan-comments-button"); addCommentButtBottom.setId(ACTIONPLAN_ADD_COMMENT_LINK_BUTTON_BOTTOM); addCommentButtBottom.addClickListener(addCommentListener); buttLay.addComponent(addCommentButtBottom); if (me.isAdministrator() || me.isGameMaster()) { buttLay.addComponent(sp = new Label()); sp.setWidth("1px"); // "810px"); buttLay.setExpandRatio(sp, 1.0f); ToggleLinkButton tlb = new ToggleLinkButton("View all", "View unhidden only", "m-actionplan-comment-text"); tlb.setToolTips("Temporarily show all messages, including those marked \"hidden\" (gm)", "Temporarily hide messages marked \"hidden\" (gm)"); tlb.addStyleName("m-actionplan-comments-button"); tlb.addOnListener(new ViewAllListener()); tlb.addOffListener(new ViewUnhiddenOnlyListener()); buttLay.addComponent(tlb); buttLay.addComponent(sp = new Label()); sp.setWidth("5px"); } // And the comments hsp = new HorizontalLayout(); mainVLayout.addComponent(hsp); mainVLayout.addComponent(sp = new Label()); sp.setHeight("5px"); hsp.addComponent(sp = new Label()); sp.setWidth("56px"); hsp.addComponent(commentPanel); commentPanel.initGui(); // Set thumbs double thumbs = actPln.getAverageThumb(); long round = Math.round(thumbs); int numApThumbs = (int) (Math.min(round, 3)); thumbPanel.setNumApThumbs(numApThumbs); Integer myRating = actPln.getUserThumbs().get(me); if (myRating == null) myRating = 0; thumbPanel.setNumUserThumbs(myRating); helpWantedListener = new HelpWantedListener(); interestedListener = new InterestedListener(); handleDisablementsTL(); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.ActionPlanPageTabImages.java
License:Open Source License
@Override public void initGui() { setSizeUndefined();//ww w . j ava2 s. c om VerticalLayout leftLay = getLeftLayout(); leftLay.setSpacing(false); leftLay.setMargin(false); VerticalLayout flowLay = new VerticalLayout(); flowLay.setWidth("100%"); leftLay.addComponent(flowLay); flowLay.setSpacing(true); Label missionLab = new Label("Authors, add some images!"); flowLay.addComponent(missionLab); flowLay.setComponentAlignment(missionLab, Alignment.TOP_LEFT); missionLab.addStyleName("m-actionplan-mission-title-text"); ActionPlan ap = ActionPlan.getTL(apId); Label missionContentLab; if (!isMockup) missionContentLab = new HtmlLabel(ap.getImagesInstructions()); else { Game g = Game.getTL(); missionContentLab = new HtmlLabel(g.getDefaultActionPlanImagesText()); } flowLay.addComponent(missionContentLab); flowLay.setComponentAlignment(missionContentLab, Alignment.TOP_LEFT); flowLay.addStyleName("m-actionplan-mission-content-text"); MmowgliSessionGlobals globs = Mmowgli2UI.getGlobals(); flowLay.addComponent(addImageButt); addImageButt.addStyleName("m-actionplan-addimage-butt"); addImageButt.addStyleName("borderless"); addImageButt.setIcon(globs.getMediaLocator().getActionPlanAddImageButt()); addImageButt.addClickListener(new ImageAdder()); addImageButt.setEnabled(!isReadOnly); flowLay.addComponent(nonAuthorLabel = new Label("Authors may add images when editing the plan.")); nonAuthorLabel.setVisible(false); VerticalLayout rightLay = getRightLayout(); rightLay.setSpacing(false); rightLay.setMargin(false); imageScroller = new Panel(); GridLayout gridL = new GridLayout(); gridL.setColumns(2); gridL.setSpacing(true); gridL.setMargin(new MarginInfo(true)); imageScroller.setContent(gridL); imageScroller.setStyleName(Reindeer.PANEL_LIGHT); // make a transparent scroller imageScroller.setWidth("100%"); imageScroller.setHeight("99%"); setUpIndexListener(imageScroller); rightLay.addComponent(imageScroller); fillWithImagesTL(); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.ActionPlanPageTabMap.java
License:Open Source License
@Override public void initGui() { setSizeUndefined();/*from w w w . j av a2 s . c om*/ ActionPlan ap = ActionPlan.getTL(apId); mmowgliMap = ap.getMap(); if (mmowgliMap == null) { mmowgliMap = new edu.nps.moves.mmowgli.db.GoogleMap(); GoogleMap.saveTL(mmowgliMap); ap.setMap(mmowgliMap); ActionPlan.updateTL(ap); } VerticalLayout leftLay = getLeftLayout(); leftLay.setSpacing(false); leftLay.setMargin(false); Label missionLab = new Label("Authors, put your plan on the map!"); leftLay.addComponent(missionLab); leftLay.setComponentAlignment(missionLab, Alignment.TOP_LEFT); missionLab.addStyleName("m-actionplan-mission-title-text"); Label missionContentLab; if (!isMockup) missionContentLab = new HtmlLabel(ap.getMapInstructions()); else { Game g = Game.getTL(); missionContentLab = new HtmlLabel(g.getDefaultActionPlanMapText()); } leftLay.addComponent(missionContentLab); leftLay.setComponentAlignment(missionContentLab, Alignment.TOP_LEFT); leftLay.addStyleName("m-actionplan-mission-content-text"); /* Component c; c=buildMapFlags(leftLay); // does the addComponent leftLay.setComponentAlignment(c, Alignment.TOP_CENTER); */ toggleFlags(editingOK); Label sp; leftLay.addComponent(sp = new Label()); sp.setHeight("1px"); leftLay.setExpandRatio(sp, 1.0f); map.setAttributionPrefix("Powered by Leaflet with v-leaflet"); map.addStyleName("m-greyborder"); map.removeAllComponents(); try { LeafletLayers.installAllProviders(map); } catch (Exception ex) { System.err.println("ActionPlanPageTabMap error loading layers: " + ex.getClass().getSimpleName() + " " + ex.getLocalizedMessage()); } double lat = mmowgliMap.getLatCenter(); double lon = mmowgliMap.getLonCenter(); map.setCenter(lat, lon); map.setZoomLevel(mmowgliMap.getZoom()); map.setWidth(MAPWIDTH); map.setHeight(editingOK ? MAPHEIGHT_WITH_BUTTONS : MAPHEIGHT); // Build a mmowgliMap widget from our content /* googleMapWidget = new MmowgliMapWidget(app, mmowgliMap.getLatLonCenter(), mmowgliMap.getZoom(), GOOGLEMAPS_KEY); googleMapWidget.setWidth(MAPWIDTH); googleMapWidget.setHeight(editingOK ? MAPHEIGHT_WITH_BUTTONS : MAPHEIGHT); googleMapWidget.addControl(MapControl.MenuMapTypeControl); googleMapWidget.addControl(MapControl.SmallMapControl); //googleMapWidget.addListener(new MyMapClickListener()); googleMapWidget.addListener(new MyMapMoveListener()); //googleMapWidget.addListener(new MyMarkerClickListener()); googleMapWidget.addListener(new MyMarkerMovedListener()); googleMapWidget.reportMapBounds(); */ loadMarkers(ap); VerticalLayout rightLay = getRightLayout(); rightLay.setSpacing(false); rightLay.setMargin(false); rightLay.addComponent(sp = new Label()); sp.setHeight("15px"); savePanel = new MapSaveButtPan(); rightLay.addComponent(savePanel); rightLay.setComponentAlignment(savePanel, Alignment.TOP_CENTER); savePanel.setVisible(editingOK); // MapSaveListener msLis = new MapSaveListener(); // savePanel.setClickHearers(msLis.mapLocListener,msLis.mapMarkerListener,msLis.cancelListener); /* DragAndDropWrapper ddw = new DragAndDropWrapper(googleMapWidget); ddw.setDropHandler(new MapDropHandler()); ddw.setSizeFull(); rightLay.addComponent(ddw); rightLay.setExpandRatio(ddw, 1.0f); */ rightLay.addComponent(map); rightLay.setExpandRatio(map, 1); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.ActionPlanPageTabTalk.java
License:Open Source License
@Override public void initGui() { setSizeUndefined();/* w w w . ja v a2 s. c o m*/ VerticalLayout leftVL = this.getLeftLayout(); leftVL.setSpacing(true); Label missionLab = new Label("Authors, this is your team space."); leftVL.addComponent(missionLab); leftVL.setComponentAlignment(missionLab, Alignment.TOP_LEFT); missionLab.addStyleName("m-actionplan-mission-title-text"); ActionPlan ap = ActionPlan.getTL(apId); Label missionContentLab; Game g = Game.getTL(); if (!isMockup) missionContentLab = new HtmlLabel(ap.getTalkItOverInstructions()); else { missionContentLab = new HtmlLabel(g.getDefaultActionPlanTalkText()); } leftVL.addComponent(missionContentLab); leftVL.setComponentAlignment(missionContentLab, Alignment.TOP_LEFT); leftVL.addStyleName("m-actionplan-mission-content-text"); Label sp; leftVL.addComponent(sp = new Label()); sp.setHeight("1px"); leftVL.setExpandRatio(sp, 1.0f); VerticalLayout rightVL = getRightLayout(); rightVL.setSpacing(true); Label lab; rightVL.addComponent(lab = new Label()); lab.setHeight("15px"); rightVL.addComponent(nonAuthorLabel = new Label("This is a space for plan authors to communicate.")); nonAuthorLabel.setVisible(false); rightVL.addComponent(chatEntryComponent); chatEntryComponent.setWidth("100%"); if (isGameMasterOrAdmin) { HorizontalLayout hl = new HorizontalLayout(); rightVL.addComponent(hl); hl.setWidth("100%"); hl.addComponent(sp = new Label()); sp.setWidth("1px"); hl.setExpandRatio(sp, 1.0f); viewAllButt = new ToggleLinkButton("View all", "View unhidden only", "m-actionplan-comment-text"); viewAllButt.setToolTips("Temporarily show all messages, including those marked \"hidden\" (gm)", "Temporarily hide messages marked \"hidden\" (gm)"); viewAllButt.addStyleName("m-actionplan-comments-button"); viewAllButt.addOnListener(new ViewAllListener()); viewAllButt.addOffListener(new ViewUnhiddenOnlyListener()); hl.addComponent(viewAllButt); hl.addComponent(sp = new Label()); sp.setWidth("8px"); } Component comp = createChatScroller(rightVL); comp.setWidth("99%"); rightVL.setExpandRatio(comp, 1.0f); comp.setHeight("99%"); fillChatScrollerTL(); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.ActionPlanPageTabThePlan2.java
License:Open Source License
@Override public void initGui() { setSizeUndefined(); // let flow to right VerticalLayout leftLay = getLeftLayout(); leftLay.setSpacing(false);// ww w . j av a 2s. c o m leftLay.setMargin(false); VerticalLayout flowLay = new VerticalLayout(); leftLay.addComponent(flowLay); flowLay.setSpacing(true); Label missionLab = new Label("Authors, this is your workspace."); flowLay.addComponent(missionLab); flowLay.setComponentAlignment(missionLab, Alignment.TOP_LEFT); missionLab.addStyleName("m-actionplan-mission-title-text"); ActionPlan actPln = ActionPlan.getTL(apId); Label missionContentLab; if (!isMockup) missionContentLab = new HtmlLabel(actPln.getPlanInstructions()); else { Game g = Game.getTL(); missionContentLab = new HtmlLabel(g.getDefaultActionPlanThePlanText()); } MovePhase ph = MovePhase.getCurrentMovePhaseTL(); flowLay.addComponent(missionContentLab); flowLay.setComponentAlignment(missionContentLab, Alignment.TOP_LEFT); flowLay.addStyleName("m-actionplan-mission-content-text"); VerticalLayout rightLay = getRightLayout(); rightLay.setMargin(false); rightLay.setSpacing(false); flowLay = new VerticalLayout(); flowLay.setWidth("100%"); rightLay.addComponent(flowLay); flowLay.setSpacing(true); flowLay.setStyleName("m-actionplan-plan-rightside"); // set the style name so the css's below can use it (e.g.: .m-actionplan-plan-rightside .m-actionplan-plan-headling { blah:blah;} ) Label lab = new Label(); lab.setHeight("20px"); flowLay.addComponent(lab); flowLay.addComponent(whoGroup = buildTextAreaGroup( ph.getActionPlanWhoIsInvolvedHeader()/*"Who is involved?"*/, whoTA, "Who-is-involved history", "Previous values", "Text", "getSubTitleEditHistory", "getSubTitle", "setSubTitleWithHistoryTL")); whoGroup.setValueTL(actPln.getSubTitle()); // misnamed since we're calling it it who is involved instead of subtitle flowLay.addComponent(whatGroup = buildTextAreaGroup(ph.getActionPlanWhatIsItHeader()/*"What is it?"*/, whatTA, "What-is-it history", "Previous values", "Text", "getWhatIsItEditHistory", "getWhatIsItText", "setWhatIsItTextWithHistoryTL")); whatGroup.setValueTL(actPln.getWhatIsItText()); flowLay.addComponent( whatTakeGroup = buildTextAreaGroup(ph.getActionPlanWhatWillItTakeHeader()/*"What will it take?"*/, whatWillItTakeTA, "What-will-it-take history", "Previous values", "Text", "getWhatTakeEditHistory", "getWhatWillItTakeText", "setWhatWillItTakeTextWithHistoryTL")); whatTakeGroup.setValueTL(actPln.getWhatWillItTakeText()); flowLay.addComponent( howGroup = buildTextAreaGroup(ph.getActionPlanHowWillItWorkHeader()/*"How will it work?"*/, howWorkTA, "How-will-it-work history", "Previous values", "Text", "getHowWorkEditHistory", "getHowWillItWorkText", "setHowWillItWorkTextWithHistoryTL")); howGroup.setValueTL(actPln.getHowWillItWorkText()); flowLay.addComponent(howChangeGroup = buildTextAreaGroup( ph.getActionPlanHowWillItChangeHeader()/*"How will it change the situation?"*/, howChangeTA, "How-will-it-change-things history", "Previous values", "Text", "getHowChangeEditHistory", "getHowWillItChangeText", "setHowWillItChangeTextWithHistoryTL")); howChangeGroup.setValueTL(actPln.getHowWillItChangeText()); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.ActionPlanPageTabVideos.java
License:Open Source License
@Override public void initGui() { setSizeUndefined();//www. j a v a2 s . c om VerticalLayout leftLay = getLeftLayout(); leftLay.setSpacing(false); leftLay.setMargin(false); VerticalLayout flowLay = new VerticalLayout(); flowLay.setWidth("100%"); leftLay.addComponent(flowLay); flowLay.setSpacing(true); Label missionLab = new Label("Authors, add some videos!"); flowLay.addComponent(missionLab); flowLay.setComponentAlignment(missionLab, Alignment.TOP_LEFT); missionLab.addStyleName("m-actionplan-mission-title-text"); ActionPlan ap = ActionPlan.getTL(apId); Label missionContentLab; if (!isMockup) missionContentLab = new HtmlLabel(ap.getVideosInstructions()); else { Game g = Game.getTL(); missionContentLab = new HtmlLabel(g.getDefaultActionPlanVideosText()); } flowLay.addComponent(missionContentLab); flowLay.setComponentAlignment(missionContentLab, Alignment.TOP_LEFT); flowLay.addStyleName("m-actionplan-mission-content-text"); MmowgliSessionGlobals globs = Mmowgli2UI.getGlobals(); flowLay.addComponent(addVideoButt); addVideoButt.addStyleName("m-actionplan-addimage-butt"); addVideoButt.addStyleName("borderless"); addVideoButt.setIcon(globs.getMediaLocator().getActionPlanAddVideoButt()); addVideoButt.addClickListener(new VideoAdder()); addVideoButt.setEnabled(!isReadOnly); flowLay.addComponent(nonAuthorLabel = new Label("Authors may add videos when editing the plan.")); nonAuthorLabel.setVisible(false); VerticalLayout rightLay = getRightLayout(); rightLay.setSpacing(false); rightLay.setMargin(false); rightScroller = new Panel(); GridLayout gridL = new GridLayout(); gridL.setColumns(2); gridL.setSpacing(true); gridL.setMargin(new MarginInfo(true)); rightScroller.setContent(gridL); rightScroller.setStyleName(Reindeer.PANEL_LIGHT); // make a transparent scroller rightScroller.setWidth("100%"); rightScroller.setHeight("99%"); setUpIndexListener(rightScroller); rightLay.addComponent(rightScroller); ; fillWithVideosTL(); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.AddImageDialog.java
License:Open Source License
@SuppressWarnings("serial") @HibernateSessionThreadLocalConstructor//from w w w . j a v a 2 s .c o m public AddImageDialog(Object apId) { super("Add an Image"); addStyleName("m-greybackground"); setClosable(false); // no x in corner VerticalLayout mainVL = new VerticalLayout(); mainVL.setSpacing(true); mainVL.setMargin(true); mainVL.setSizeUndefined(); // auto size setContent(mainVL); mainHL = new HorizontalLayout(); mainVL.addComponent(mainHL); mainHL.setSpacing(true); holder = new AbsoluteLayout(); mainHL.addComponent(holder); holder.setWidth("150px"); holder.setHeight("150px"); holder.addStyleName("m-darkgreyborder"); VerticalLayout rightVL = new VerticalLayout(); mainHL.addComponent(rightVL); fromWebCheck = new CheckBox(); fromWebCheck.addStyleName("v-radiobutton"); fromWebCheck.setValue(true); fromWebCheck.setImmediate(true); fromWebCheck.addValueChangeListener(new RadioListener(fromWebCheck)); HorizontalLayout frWebHL = new HorizontalLayout(); rightVL.addComponent(frWebHL); frWebHL.addComponent(fromWebCheck); VerticalLayout frWebVL = new VerticalLayout(); frWebVL.setMargin(true); frWebVL.addStyleName("m-greyborder"); frWebHL.addComponent(frWebVL); frWebVL.setWidth("370px"); frWebVL.addComponent(new Label("From the web:")); HorizontalLayout webHL = new HorizontalLayout(); webHL.setSpacing(true); frWebVL.addComponent(webHL); webHL.addComponent(webUrl = new TextField()); webUrl.setColumns(21); webHL.addComponent(testButt = new Button("Test")); Label sp; webHL.addComponent(sp = new Label()); sp.setWidth("1px"); webHL.setExpandRatio(sp, 1.0f); fromDeskCheck = new CheckBox(); fromDeskCheck.addStyleName("v-radiobutton"); fromDeskCheck.setValue(false); fromDeskCheck.addValueChangeListener(new RadioListener(fromDeskCheck)); fromDeskCheck.setImmediate(true); HorizontalLayout dtHL = new HorizontalLayout(); rightVL.addComponent(dtHL); dtHL.addComponent(fromDeskCheck); VerticalLayout dtopVL = new VerticalLayout(); dtopVL.setMargin(true); dtopVL.addStyleName("m-greyborder"); dtHL.addComponent(dtopVL); dtopVL.setWidth("370px"); dtopVL.addComponent(new Label("From your desktop:")); HorizontalLayout localHL = new HorizontalLayout(); localHL.setSpacing(true); dtopVL.addComponent(localHL); localHL.addComponent(localTF = new TextField()); localTF.setColumns(21); localHL.addComponent(uploadWidget = new Upload()); panel = new UploadStatus(uploadWidget); uploadWidget.setButtonCaption("Browse"); File tempDir = Files.createTempDir(); tempDir.deleteOnExit(); handler = new UploadHandler(uploadWidget, panel, tempDir.getAbsolutePath()); uploadWidget.setReceiver(handler); uploadWidget.setImmediate(true); panel.setWidth("100%"); dtopVL.addComponent(panel); dtopVL.setComponentAlignment(panel, Alignment.TOP_CENTER); HorizontalLayout bottomHL = new HorizontalLayout(); mainVL.addComponent(bottomHL); bottomHL.setSpacing(true); bottomHL.setWidth("100%"); Label spacer; bottomHL.addComponent(spacer = new Label()); spacer.setWidth("100%"); bottomHL.setExpandRatio(spacer, 1.0f); bottomHL.addComponent(cancelButt = new Button("Cancel")); bottomHL.addComponent(submitButt = new Button("Add")); setDisabledFields(); uploadWidget.addFinishedListener(new FinishedListener() { @Override public void uploadFinished(FinishedEvent event) { Object key = HSess.checkInit(); System.out.println("AddImageDialog.uploadFinished()"); String fpath = handler.getFullUploadedPath(); if (fpath != null) { // error of some kind if null if (!MalwareChecker.isFileVirusFree(fpath)) { panel.state.setValue("<span style='color:red;'>Failed malware check</span>"); fpath = null; localTF.setValue(""); HSess.checkClose(key); return; } File f = new File(fpath); f.deleteOnExit(); try { MediaImage mediaImage = InstallImageDialog.putFileImageIntoDbTL(f, f.getName(), event.getMIMEType()); f.delete(); media = mediaImage.media; image = mediaImage.image; media.setCaption(null); Resource res = Mmowgli2UI.getGlobals().getMediaLocator().locate(media); setupEmbeddedImageThumbnail(res, media); localTF.setValue(event.getFilename()); } catch (IOException ex) { Notification.show("Error loading image", Notification.Type.ERROR_MESSAGE); MSysOut.println(ERROR_LOGS, "Error in AddImageDialog loading image: " + ex.getClass().getSimpleName() + ": " + ex.getLocalizedMessage()); } } HSess.checkClose(key); } }); testButt.addClickListener(new testWebImageHandler()); submitButt.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if (fromWebCheck.getValue()) { if (checkBadUrl(webUrl.getValue(), event.getButton())) return; } UI.getCurrent().removeWindow(AddImageDialog.this); if (closer != null) closer.windowClose(null); } }); cancelButt.addClickListener(new ClickListener() { public void buttonClick(ClickEvent event) { Object key = HSess.checkInit(); if (media != null) { Media.deleteTL(media); media = null; } if (image != null) { Image.deleteTL(image); image = null; } uploadWidget.interruptUpload(); UI.getCurrent().removeWindow(AddImageDialog.this); if (closer != null) closer.windowClose(null); HSess.checkClose(key); } }); webUrl.focus(); }
From source file:edu.nps.moves.mmowgli.modules.actionplans.AddVideoDialog.java
License:Open Source License
@SuppressWarnings("serial") public AddVideoDialog() { super("Add a Video"); addStyleName("m-greybackground"); setClosable(false); // no x in corner setWidth("530px"); setHeight("400px"); VerticalLayout mainVL = new VerticalLayout(); mainVL.setSpacing(true);//w ww .j a v a 2 s. co m mainVL.setMargin(true); mainVL.setSizeUndefined(); // auto size mainVL.setWidth("100%"); setContent(mainVL); Label helpLab = new HtmlLabel("Add YouTube videos to your Action Plan this way:" + "<OL><LI>Find the video you want at <a href=\"https://www.youtube.com\" target=\"" + PORTALTARGETWINDOWNAME + "\">www.youtube.com</a>.</LI>" + "<LI>Click the \"share\" button below the video screen.</LI>" + "<LI>Copy the URL under \"Link to this video:\"</LI>" + "<LI>Paste the URL into the field below.</LI>" + "</OL>" + "If you have media that " + "has not been uploaded to YouTube, see <a href=\"https://www.youtube.com\" target=\"" + PORTALTARGETWINDOWNAME + "\">www.youtube.com</a> " + "for help with establishing a free account.<br/>"); helpLab.setWidth("100%"); mainVL.addComponent(helpLab); HorizontalLayout mainHL = new HorizontalLayout(); mainHL.setMargin(false); mainHL.setSpacing(true); mainVL.addComponent(mainHL); holder = new AbsoluteLayout(); mainHL.addComponent(holder); holder.addStyleName("m-darkgreyborder"); holder.setWidth("150px"); holder.setHeight("150px"); holder.addComponent(new Label("Test video display"), "top:0px;left:0px;"); VerticalLayout rightVL = new VerticalLayout(); mainHL.addComponent(rightVL); rightVL.setMargin(false); rightVL.setSpacing(true); rightVL.addComponent(new Label("YouTube video address")); HorizontalLayout tfHL = new HorizontalLayout(); tfHL.setSpacing(true); rightVL.addComponent(tfHL); addrTf = new TextField(); tfHL.addComponent(addrTf); addrTf.setColumns(21); tfHL.addComponent(testButt = new Button("Test")); rightVL.addComponent(new Label("Using the test button will set the")); rightVL.addComponent(new Label("default title and description.")); Label sp; rightVL.addComponent(sp = new Label()); sp.setHeight("15px"); HorizontalLayout bottomHL = new HorizontalLayout(); rightVL.addComponent(bottomHL); rightVL.setComponentAlignment(bottomHL, Alignment.TOP_RIGHT); bottomHL.setSpacing(true); bottomHL.setWidth("100%"); Label spacer; bottomHL.addComponent(spacer = new Label()); spacer.setWidth("100%"); bottomHL.setExpandRatio(spacer, 1.0f); bottomHL.addComponent(cancelButt = new Button("Cancel")); bottomHL.addComponent(submitButt = new Button("Add")); testButt.addClickListener(new TestVidHandler()); submitButt.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { UI.getCurrent().removeWindow(AddVideoDialog.this); if (closer != null) closer.windowClose(null); } }); cancelButt.addClickListener(new ClickListener() { public void buttonClick(ClickEvent event) { media = null; UI.getCurrent().removeWindow(AddVideoDialog.this); if (closer != null) closer.windowClose(null); } }); }