private void handleCanCreate() { if (markedAsNoCreate) { markedAsNoCreate = false; setTooltip("Click to add card"); CardSummaryListHeader.this.addStyleName("m-cursor-pointer"); title.addStyleName("m-cursor-pointer"); content.addStyleName("m-cursor-pointer"); } }
BuilderDrawer() { if (drawerResource != null) { Embedded drawerBkg = new Embedded(null, drawerResource); addComponent(drawerBkg, "top:0px;left:0px"); } content = new TextArea(); // only shows if no focus, and if we don't have focus, it's not normally showing // content.setInputPrompt("Type here to add to this card chain."); content.setWordwrap(true); content.setImmediate(true); content.setTextChangeEventMode(TextChangeEventMode.LAZY); content.setTextChangeTimeout(500); // cause exception w/ 2 windows? // content.setDebugId(CardTypeManager.getCardContentDebugId(ct)); content.setId( CardDebug.getCardContentDebugId(ct)); // CardTypeManager.getCardContentDebugId(ct)); content.addTextChangeListener(new characterTypedHandler()); content.setWidth(CARDLISTHEADER_DRAWER_TEXT_W); content.setHeight(CARDLISTHEADER_DRAWER_TEXT_H); content.addStyleName("m-white-background"); addComponent(content, CARDLISTHEADER_DRAWER_TEXT_POS); count = new Label("0/140"); count.setWidth(CARDLISTHEADER_DRAWER_COUNT_W); count.setHeight(CARDLISTHEADER_DRAWER_COUNT_H); count.addStyleName("m-cardbuilder-count-text"); addComponent(count, CARDLISTHEADER_DRAWER_COUNT_POS); cancelButt = new NativeButton("cancel"); cancelButt.setWidth(CARDLISTHEADER_DRAWER_CANCEL_W); cancelButt.setHeight(CARDLISTHEADER_DRAWER_CANCEL_H); cancelButt.addStyleName("borderless"); cancelButt.addStyleName("m-cardbuilder-button-text"); cancelButt.addClickListener(new CancelHandler()); addComponent(cancelButt, CARDLISTHEADER_DRAWER_CANCEL_POS); submitButt = new NativeButton("submit"); // cause exception w/ 2 windows? // submitButt.setDebugId(CardTypeManager.getCardSubmitDebugId(ct)); submitButt.setId( CardDebug.getCardSubmitDebugId(ct)); // CardTypeManager.getCardSubmitDebugId(ct)); submitButt.setWidth(CARDLISTHEADER_DRAWER_OKBUTT_W); submitButt.setHeight(CARDLISTHEADER_DRAWER_OKBUTT_H); submitButt.addStyleName("borderless"); submitButt.addStyleName("m-cardbuilder-button-text"); submitButt.addClickListener(new CardPlayHandler()); addComponent(submitButt, CARDLISTHEADER_DRAWER_OKBUTT_POS); setWidth(CARDLISTHEADER_DRAWER_W); setHeight(CARDLISTHEADER_DRAWER_H); }
private void handleNoCreate(String msg) { if (!markedAsNoCreate) { markedAsNoCreate = true; if (msg == null) { MmowgliSessionGlobals globs = Mmowgli2UI.getGlobals(); setTooltip(globs.whyCantCreateCard(ct.isIdeaCard())); } else setTooltip(msg); CardSummaryListHeader.this.removeStyleName("m-cursor-pointer"); title.removeStyleName("m-cursor-pointer"); content.removeStyleName("m-cursor-pointer"); } }
@SuppressWarnings("serial") @HibernateRead private void adminSwitchAuthorsTL(Button butt, final CardPlayHandler coroutine) { ArrayList<User> meLis = new ArrayList<User>(1); meLis.add(coroutine.author); User me = User.getTL(Mmowgli2UI.getGlobals().getUserID()); final AddAuthorDialog dial = new AddAuthorDialog(meLis, true); StringBuilder sb = new StringBuilder("As adminstrator, <b>"); sb.append(me.getUserName()); sb.append("</b>, you may choose another player to be card author."); dial.infoLabel.setValue(sb.toString()); dial.setCaption("Select Proxy Author"); dial.setMultiSelect(false); dial.cancelButt.setCaption("Use myself"); dial.addButt.setCaption("Use selected"); // Rearrange buttons, add real cancel butt. // ------------------- HorizontalLayout buttonHL = dial.getButtonHorizontalLayout(); Iterator<Component> itr = buttonHL.iterator(); Vector<Component> v = new Vector<Component>(); while (itr.hasNext()) { Component component = itr.next(); if (component instanceof Button) v.add(component); } buttonHL.removeAllComponents(); itr = v.iterator(); while (itr.hasNext()) { buttonHL.addComponent(itr.next()); } Label sp = null; buttonHL.addComponent(sp = new Label()); sp.setWidth("1px"); buttonHL.setExpandRatio(sp, 1.0f); Button cancelButt = null; buttonHL.addComponent(cancelButt = new Button("Cancel")); cancelButt.addClickListener( new ClickListener() { @Override public void buttonClick(ClickEvent event) { UI.getCurrent().removeWindow(dial); // dial.getParent().removeWindow(dial); coroutine.resetCoroutine(); } }); // ------------------- dial.selectItemAt(0); dial.addListener( new CloseListener() { @Override @MmowgliCodeEntry @HibernateOpened @HibernateClosed @HibernateUserRead public void windowClose(CloseEvent e) { HSess.init(); if (dial.addClicked) { Object o = dial.getSelected(); if (o instanceof User) { coroutine.author = (User) o; } else if (o instanceof QuickUser) { QuickUser qu = (QuickUser) o; coroutine.author = User.getTL(qu.id); } } coroutine.run(); // finish up HSess.close(); } }); UI.getCurrent().addWindow(dial); dial.center(); }
private void setTooltip(String tt) { setDescription(tt); // abslay if (titleImage != null) titleImage.setDescription(tt); if (title != null) title.setDescription(tt); content.setDescription(tt); }
@SuppressWarnings("serial") @Override public void initGui() { addStyleName("m-cursor-pointer"); if (bckgrndResource != null) { Embedded bkgnd = new Embedded(null, bckgrndResource); addComponent(bkgnd, "top:0px;left:0px"); } final MmowgliSessionGlobals globs = Mmowgli2UI.getGlobals(); ct = CardType.getTL(ctId); String textColorStyle = CardStyler.getCardTextColorOverBaseStyle(ct); // nested abslay for the click handler AbsoluteLayout topHalfLay = new AbsoluteLayout(); topHalfLay.setWidth(CARDLISTHEADER_W); topHalfLay.setHeight(HEIGHT_NODRAWER); addComponent(topHalfLay, "top:0px;left:0px"); title.setValue(ct.getTitle()); // .toUpperCase()); title.setHeight(CARDLISTHEADER_TITLE_H); title.setWidth(CARDLISTHEADER_TITLE_W); title.addStyleName("m-cardsummarylist-header-title"); title.addStyleName("m-cursor-pointer"); title.addStyleName("m-vagabond-font"); if (textColorStyle != null) title.addStyleName(textColorStyle); topHalfLay.addComponent(title, CARDLISTHEADER_TITLE_POS); content.setValue(ct.getPrompt()); content.setHeight(CARDLISTHEADER_CONTENT_H); content.setWidth(CARDLISTHEADER_CONTENT_W); content.addStyleName("m-cardsummarylist-header-content"); content.addStyleName("m-cursor-pointer"); if (textColorStyle != null) content.addStyleName(textColorStyle); // cause exception w/ 2 windows? content.setId(CardDebug.getCardCreateClickDebugId(ct)); topHalfLay.addComponent(content, CARDLISTHEADER_CONTENT_POS); boolean cantCreateBecauseHiddenParent = checkNoCreateBecauseHiddenTL(parent); boolean cantCreateBecauseParentMarkedNoChild = false; // todo enable with gameswitch checkNoCreateBecauseParentMarkedNoChild(parent); if (globs.canCreateCard(ct.isIdeaCard())) { markedAsNoCreate = false; if (!cantCreateBecauseHiddenParent && !cantCreateBecauseParentMarkedNoChild) { // Add the text at the bottom Label lab; topHalfLay.addComponent(lab = new Label("click to add new"), "top:130px;left:75px"); lab.addStyleName("m-click-to-add-new"); if (textColorStyle != null) lab.addStyleName(textColorStyle); } } else markedAsNoCreate = true; drawerComponent = new BuilderDrawer(); addComponent(drawerComponent, CARDLISTHEADER_DRAWER_POS); drawerComponent.setVisible(false); setWidth(CARDLISTHEADER_W); setHeight(HEIGHT_NODRAWER); if (!mockupOnly) topHalfLay.addLayoutClickListener( new LayoutClickListener() { @Override @MmowgliCodeEntry @HibernateOpened @HibernateClosed public void layoutClick(LayoutClickEvent event) { HSess.init(); if (checkNoCreateBecauseHiddenTL( parent)) { // todo enable with game switch || // checkNoCreateBecauseParentMarkedNoChild(parent)) { if (drawerComponent.isVisible()) closeDrawer(); HSess.close(); return; } if (drawerComponent.isVisible()) closeDrawer(); else { CardPermission cp = globs.cardPermissionsCommon(ct.isIdeaCard()); if (!cp.canCreate) { if (!markedAsNoCreate) handleNoCreate(); Notification.show(cp.whyNot); } else { showDrawer(); handleCanCreate(); // reset tt, etc. if (newCardListener != null) newCardListener.drawerOpenedTL(ctId); } } HSess.close(); } }); if (cantCreateBecauseHiddenParent) handleNoCreate("Can't add card to hidden parent"); else if (cantCreateBecauseParentMarkedNoChild) handleNoCreate("New child cards cannot be added to this card"); else if (!globs.canCreateCard(ct.isIdeaCard())) handleNoCreate(); else setTooltip("Click to add card"); }