Example usage for com.vaadin.ui AbsoluteLayout addLayoutClickListener

List of usage examples for com.vaadin.ui AbsoluteLayout addLayoutClickListener

Introduction

In this page you can find the example usage for com.vaadin.ui AbsoluteLayout addLayoutClickListener.

Prototype

@Override
    public Registration addLayoutClickListener(LayoutClickListener listener) 

Source Link

Usage

From source file:edu.nps.moves.mmowgli.components.CardSummaryListHeader.java

License:Open Source License

@SuppressWarnings("serial")
@Override//  w ww.  ja  v a  2s. c o m
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");
}