Example usage for com.google.gwt.user.client.ui HorizontalPanel setCellVerticalAlignment

List of usage examples for com.google.gwt.user.client.ui HorizontalPanel setCellVerticalAlignment

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui HorizontalPanel setCellVerticalAlignment.

Prototype

public void setCellVerticalAlignment(IsWidget w, VerticalAlignmentConstant align) 

Source Link

Document

Overloaded version for IsWidget.

Usage

From source file:org.overlord.sramp.ui.client.widgets.dialogs.GrowlDialog.java

License:Apache License

/**
 * Constructor.//from   w  w  w.  ja v  a2 s.  c o m
 * @param title
 * @param message
 * @param type
 */
public GrowlDialog(String title, String message, GrowlType type) {
    super(false, false); // auto-hide=false, modal=false

    this.title = new Label(title);
    this.title.setStyleName("growlTitle");
    closeButton = new Anchor("X");
    closeButton.setStyleName("close");

    HorizontalPanel titlePanel = new HorizontalPanel();
    titlePanel.setWidth("100%");
    titlePanel.setStyleName("growlTitleBar");
    titlePanel.add(this.title);
    titlePanel.add(closeButton);
    titlePanel.setCellHorizontalAlignment(closeButton, HasHorizontalAlignment.ALIGN_RIGHT);
    titlePanel.setCellVerticalAlignment(closeButton, HasVerticalAlignment.ALIGN_MIDDLE);

    main = new VerticalPanel();
    main.setStyleName("growlContent");
    main.add(titlePanel);

    setMessage(message, type);

    setWidget(main);
    setStyleName("growlDialog");

    closeButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            hide();
        }
    });
}

From source file:org.overlord.sramp.ui.client.widgets.dialogs.GrowlDialog.java

License:Apache License

/**
 * Sets the dialog's message (directly as a {@link Widget}).  This variant allows clients
 * to set rich HTML as the growl content, complete with behavior (event handlers).
 * @param message// w  ww  .j  av a 2  s.  c  o  m
 */
public void setMessage(Widget message, GrowlType type) {
    if (this.message != null) {
        main.remove(this.message);
    }
    FlowPanel messageWrapper = new FlowPanel();
    messageWrapper.setStyleName("growlMessage");
    if (type == GrowlType.error) {
        HorizontalPanel errorPanel = new HorizontalPanel();
        Widget icon = new InlineLabel(" ");
        icon.setStyleName("errorMessage");

        errorPanel.add(icon);
        errorPanel.add(message);

        errorPanel.setCellWidth(icon, "1%");
        errorPanel.setCellVerticalAlignment(icon, HasVerticalAlignment.ALIGN_MIDDLE);

        messageWrapper.add(errorPanel);
    } else {
        messageWrapper.add(message);
    }
    this.message = messageWrapper;
    main.add(messageWrapper);
    setGrowlType(type);
}

From source file:org.pentaho.gwt.widgets.client.listbox.DefaultListItem.java

License:Open Source License

private void formatWidget(HorizontalPanel panel) {
    panel.sinkEvents(Event.MOUSEEVENTS);

    if (img != null) {
        Image i = new Image(img.getUrl(), img.getOriginLeft(), img.getOriginTop(), img.getWidth(),
                img.getHeight());// w  w  w  . ja  va  2  s . c  om
        panel.add(i);
        panel.setCellVerticalAlignment(i, HasVerticalAlignment.ALIGN_MIDDLE);
        i.getElement().getStyle().setProperty("marginRight", "5px"); //$NON-NLS-1$ //$NON-NLS-2$
    } else if (extraWidget != null) {
        Element ele = DOM.clone(extraWidget.getElement(), true);
        Widget w = new WrapperWidget(ele);
        panel.add(w);
        panel.setCellVerticalAlignment(w, HasVerticalAlignment.ALIGN_MIDDLE);
        w.getElement().getStyle().setProperty("marginRight", "5px"); //$NON-NLS-1$ //$NON-NLS-2$
    }

    Label label = new Label(text);
    label.getElement().getStyle().setProperty("cursor", "pointer"); //$NON-NLS-1$ //$NON-NLS-2$
    label.setWidth("100%"); //$NON-NLS-1$
    SimplePanel sp = new SimplePanel();
    sp.getElement().getStyle().setProperty("overflowX", "auto"); //$NON-NLS-1$ //$NON-NLS-2$
    sp.add(label);

    panel.add(sp);
    panel.setCellWidth(sp, "100%"); //$NON-NLS-1$
    panel.setCellVerticalAlignment(label, HasVerticalAlignment.ALIGN_MIDDLE);

    ElementUtils.preventTextSelection(panel.getElement());

    //    label.setStylePrimaryName("custom-list-item"); //$NON-NLS-1$
    panel.setWidth("100%"); //$NON-NLS-1$
}

From source file:org.pentaho.gwt.widgets.client.utils.ButtonHelper.java

License:Open Source License

public static String createButtonLabel(Image img, String text, ButtonLabelType type, String cssName) {
    final HTML html = new HTML(text, false);
    if (cssName != null) {
        html.addStyleDependentName(cssName);
        img.addStyleDependentName(cssName);
    }//from   w  ww  .j av a 2 s . c  o m
    if (type == ButtonLabelType.TEXT_ONLY) {
        return text;
    } else if (type == ButtonLabelType.TEXT_ON_LEFT || type == ButtonLabelType.TEXT_ON_RIGHT) {
        HorizontalPanel hpanel = new HorizontalPanel();
        if (cssName != null) {
            hpanel.addStyleName(cssName);
        }
        if (type == ButtonLabelType.TEXT_ON_LEFT) {
            hpanel.add(html);
            hpanel.add(new HTML(" ")); //$NON-NLS-1$
            hpanel.add(img);
        } else {
            hpanel.add(img);
            hpanel.add(new HTML(" ")); //$NON-NLS-1$
            hpanel.add(html);
        }
        hpanel.setCellVerticalAlignment(html, HasVerticalAlignment.ALIGN_MIDDLE);
        hpanel.setCellVerticalAlignment(img, HasVerticalAlignment.ALIGN_MIDDLE);
        return hpanel.getElement().getString();
    } else {
        VerticalPanel vpanel = new VerticalPanel();
        if (type == ButtonLabelType.TEXT_ON_TOP) {
            vpanel.add(html);
            vpanel.add(img);
        } else {
            vpanel.add(img);
            vpanel.add(html);
        }
        vpanel.setCellHorizontalAlignment(html, HasHorizontalAlignment.ALIGN_CENTER);
        vpanel.setCellHorizontalAlignment(img, HasHorizontalAlignment.ALIGN_CENTER);
        return vpanel.getElement().getString();
    }
}

From source file:org.pentaho.gwt.widgets.client.utils.ButtonHelper.java

License:Open Source License

public static Panel createButtonElement(Image img, String text, ButtonLabelType type, String cssName) {
    final HTML html = new HTML(text, false);
    if (cssName != null) {
        html.addStyleDependentName(cssName);
        img.addStyleDependentName(cssName);
    }/*from   ww  w . j a  v  a  2 s.  c om*/
    if (type == ButtonLabelType.TEXT_ONLY) {
        SimplePanel sp = new SimplePanel();
        sp.add(html);
        return sp;
    } else if (type == ButtonLabelType.TEXT_ON_LEFT || type == ButtonLabelType.TEXT_ON_RIGHT) {
        HorizontalPanel hpanel = new HorizontalPanel();
        if (cssName != null) {
            hpanel.addStyleName(cssName);
        }
        if (type == ButtonLabelType.TEXT_ON_LEFT) {
            hpanel.add(html);
            hpanel.add(new HTML(" ")); //$NON-NLS-1$
            hpanel.add(img);
        } else {
            hpanel.add(img);
            hpanel.add(new HTML(" ")); //$NON-NLS-1$
            hpanel.add(html);
        }
        hpanel.setCellVerticalAlignment(html, HasVerticalAlignment.ALIGN_MIDDLE);
        hpanel.setCellVerticalAlignment(img, HasVerticalAlignment.ALIGN_MIDDLE);
        return hpanel;
    } else {
        VerticalPanel vpanel = new VerticalPanel();
        if (type == ButtonLabelType.TEXT_ON_TOP) {
            vpanel.add(html);
            vpanel.add(img);
        } else {
            vpanel.add(img);
            vpanel.add(html);
        }
        vpanel.setCellHorizontalAlignment(html, HasHorizontalAlignment.ALIGN_CENTER);
        vpanel.setCellHorizontalAlignment(img, HasHorizontalAlignment.ALIGN_CENTER);
        return vpanel;
    }
}

From source file:org.pentaho.mantle.client.dialogs.scheduling.NewScheduleDialog.java

License:Open Source License

private void createUI() {
    VerticalPanel content = new VerticalPanel();

    HorizontalPanel scheduleNameLabelPanel = new HorizontalPanel();
    Label scheduleNameLabel = new Label(Messages.getString("scheduleNameColon"));
    scheduleNameLabel.addStyleName("schedule-name");
    scheduleNameLabel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);

    Label scheduleNameInfoLabel = new Label(Messages.getString("scheduleNameInfo"));
    scheduleNameInfoLabel.setStyleName("msg-Label");
    scheduleNameInfoLabel.addStyleName("schedule-name-info");

    scheduleNameLabelPanel.add(scheduleNameLabel);
    scheduleNameLabelPanel.add(scheduleNameInfoLabel);

    String defaultName = filePath.substring(filePath.lastIndexOf("/") + 1, filePath.lastIndexOf("."));
    scheduleNameTextBox.getElement().setId("schedule-name-input");
    scheduleNameTextBox.setText(defaultName);

    content.add(scheduleNameLabelPanel);
    content.add(scheduleNameTextBox);//w  w w  . j av  a 2 s.  c o m

    Label scheduleLocationLabel = new Label(Messages.getString("generatedContentLocation"));
    scheduleLocationLabel.setStyleName(ScheduleEditor.SCHEDULE_LABEL);
    content.add(scheduleLocationLabel);

    Button browseButton = new Button(Messages.getString("select"));
    browseButton.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent event) {
            final SelectFolderDialog selectFolder = new SelectFolderDialog();
            selectFolder.setCallback(new IDialogCallback() {
                public void okPressed() {
                    scheduleLocationTextBox.setText(selectFolder.getSelectedPath());
                }

                public void cancelPressed() {
                }
            });
            selectFolder.center();
        }
    });
    browseButton.setStyleName("pentaho-button");
    browseButton.getElement().setId("schedule-dialog-select-button");

    ChangeHandler ch = new ChangeHandler() {
        public void onChange(ChangeEvent event) {
            updateButtonState();
        }
    };
    KeyUpHandler kh = new KeyUpHandler() {
        public void onKeyUp(KeyUpEvent event) {
            updateButtonState();
        }
    };

    if (keyHandlerReg != null) {
        keyHandlerReg.removeHandler();
    }
    if (changeHandlerReg != null) {
        changeHandlerReg.removeHandler();
    }
    keyHandlerReg = scheduleNameTextBox.addKeyUpHandler(kh);
    changeHandlerReg = scheduleLocationTextBox.addChangeHandler(ch);
    scheduleNameTextBox.addChangeHandler(ch);

    scheduleLocationTextBox.getElement().setId("generated-content-location");
    HorizontalPanel locationPanel = new HorizontalPanel();
    scheduleLocationTextBox.setEnabled(false);
    locationPanel.add(scheduleLocationTextBox);
    locationPanel.setCellVerticalAlignment(scheduleLocationTextBox, HasVerticalAlignment.ALIGN_MIDDLE);
    locationPanel.add(browseButton);

    content.add(locationPanel);

    if (jsJob != null) {
        scheduleNameTextBox.setText(jsJob.getJobName());
        scheduleLocationTextBox.setText(jsJob.getOutputPath());
    }

    setContent(content);
    content.getElement().getParentElement().addClassName("schedule-dialog-content");
    content.getElement().getParentElement().addClassName("schedule-dialog-content-crystal");
    content.getElement().getParentElement().addClassName("schedule-dialog-content-onyx");
    content.getElement().getParentElement().removeClassName("dialog-content");
    content.getElement().getParentElement().getStyle().clearPadding();
    content.getElement().getStyle().clearHeight();
    content.getParent().setHeight("100%");
    content.getElement().getParentElement().getStyle().setVerticalAlign(VerticalAlign.TOP);

    okButton.getParent().getParent().setStyleName("button-panel");

    updateButtonState();
    setSize("650px", "450px");

    validateScheduleLocationTextBox();
    addStyleName("new-schedule-dialog");
}

From source file:org.pentaho.mantle.client.dialogs.scheduling.ScheduleOutputLocationDialog.java

License:Open Source License

private void createUI() {
    VerticalPanel content = new VerticalPanel();

    HorizontalPanel scheduleNameLabelPanel = new HorizontalPanel();
    scheduleNameLabel = new Label(Messages.getString("scheduleNameColon"));
    scheduleNameLabel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);

    Label scheduleNameInfoLabel = new Label(Messages.getString("scheduleNameInfo"));
    scheduleNameInfoLabel.setStyleName("msg-Label");

    scheduleNameLabelPanel.add(scheduleNameLabel);
    scheduleNameLabelPanel.add(scheduleNameInfoLabel);

    String defaultName = filePath.substring(filePath.lastIndexOf("/") + 1, filePath.lastIndexOf("."));
    scheduleNameTextBox.getElement().setId("schedule-name-input");
    scheduleNameTextBox.setText(defaultName);

    content.add(scheduleNameLabelPanel);
    content.add(scheduleNameTextBox);//  w  w w.  ja va2  s  .  c o  m

    Label scheduleLocationLabel = new Label(Messages.getString("generatedContentLocation"));
    scheduleLocationLabel.setStyleName(ScheduleEditor.SCHEDULE_LABEL);
    content.add(scheduleLocationLabel);

    Button browseButton = new Button(Messages.getString("select"));
    browseButton.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent event) {
            final SelectFolderDialog selectFolder = new SelectFolderDialog();
            selectFolder.setCallback(new IDialogCallback() {
                public void okPressed() {
                    scheduleLocationTextBox.setText(selectFolder.getSelectedPath());
                }

                public void cancelPressed() {
                }
            });
            selectFolder.center();
        }
    });
    browseButton.setStyleName("pentaho-button");

    ChangeHandler ch = new ChangeHandler() {
        public void onChange(ChangeEvent event) {
            updateButtonState();
        }
    };
    KeyUpHandler kh = new KeyUpHandler() {
        public void onKeyUp(KeyUpEvent event) {
            updateButtonState();
        }
    };

    if (keyHandlerReg != null) {
        keyHandlerReg.removeHandler();
    }
    if (changeHandlerReg != null) {
        changeHandlerReg.removeHandler();
    }
    keyHandlerReg = scheduleNameTextBox.addKeyUpHandler(kh);
    changeHandlerReg = scheduleLocationTextBox.addChangeHandler(ch);
    scheduleNameTextBox.addChangeHandler(ch);

    scheduleLocationTextBox.getElement().setId("generated-content-location");
    HorizontalPanel locationPanel = new HorizontalPanel();
    scheduleLocationTextBox.setEnabled(false);
    locationPanel.add(scheduleLocationTextBox);
    locationPanel.setCellVerticalAlignment(scheduleLocationTextBox, HasVerticalAlignment.ALIGN_MIDDLE);
    locationPanel.add(browseButton);

    content.add(locationPanel);

    setContent(content);
    content.getElement().getStyle().clearHeight();
    content.getElement().getParentElement().getStyle().setVerticalAlign(VerticalAlign.TOP);
    content.getParent().setHeight("100%");

    okButton.getParent().getParent().setStyleName("button-panel");

    updateButtonState();
    setSize("650px", "450px");

    validateScheduleLocationTextBox();
}

From source file:org.pentaho.pac.client.AdminConsoleToolbar.java

License:Open Source License

public AdminConsoleToolbar(final IRefreshableAdminConsole console, final String helpUrlOverride) {
    super();/*from w ww.j  a  va2  s. c om*/

    setStyleName("adminconsole-toolbar"); //$NON-NLS-1$

    //Left end-cap
    SimplePanel leftCap = new SimplePanel();
    leftCap.setStyleName("adminconsole-toolbar_left"); //$NON-NLS-1$
    add(leftCap);
    this.setCellWidth(leftCap, "5px"); //$NON-NLS-1$

    //the body of the toolbar
    HorizontalPanel centerPanel = new HorizontalPanel();
    centerPanel.setStyleName("adminconsole-toolbar_center"); //$NON-NLS-1$
    add(centerPanel);

    //Right end-cap
    SimplePanel rightCap = new SimplePanel();
    rightCap.setStyleName("adminconsole-toolbar_right"); //$NON-NLS-1$
    add(rightCap);
    this.setCellWidth(rightCap, "6px"); //$NON-NLS-1$

    SimplePanel indicatorsPanel = new SimplePanel();
    indicatorsPanel.setStyleName("toolBarIndicators"); //$NON-NLS-1$
    centerPanel.add(indicatorsPanel);

    SimplePanel indicatorsLeft = new SimplePanel();
    indicatorsLeft.setStyleName("indicators_left"); //$NON-NLS-1$
    indicatorsPanel.add(indicatorsLeft);

    indicatorsRight.setStyleName("indicators_right"); //$NON-NLS-1$
    indicatorsLeft.add(indicatorsRight);
    contructToolbarIndicator();
    setIndicators(toolbarIndicator);

    Image refreshConsoleImage = PacImageBundle.getBundle().refreshIcon().createImage();
    refreshConsoleImage.setTitle(Messages.getString("resetServer")); //$NON-NLS-1$
    refreshConsoleImage.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            console.refresh();
        }
    });

    addImageButton(refreshConsoleImage);

    Image helpImage = PacImageBundle.getBundle().helpIcon().createImage();
    helpImage.setTitle(Messages.getString("help")); //$NON-NLS-1$
    helpImage.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            if (helpUrlOverride != null && helpUrlOverride.length() > 0) {
                Window.open(helpUrlOverride, Messages.getString("userGuide"), ""); //$NON-NLS-1$ //$NON-NLS-2$
            } else {
                PacServiceFactory.getPacService().getHelpUrl(new AsyncCallback<String>() {

                    public void onFailure(Throwable arg0) {
                        //TODO show error message
                    }

                    public void onSuccess(String helpUrl) {
                        Window.open(helpUrl, Messages.getString("userGuide"), ""); //$NON-NLS-1$ //$NON-NLS-2$ 
                    }
                });
            }
        }
    });

    addImageButton(helpImage);

    centerPanel.add(buttonsPanel);
    centerPanel.setCellHorizontalAlignment(buttonsPanel, HorizontalPanel.ALIGN_RIGHT);
    centerPanel.setCellVerticalAlignment(buttonsPanel, HorizontalPanel.ALIGN_MIDDLE);

    statusTimer = new Timer() {
        public void run() {
            PacServiceFactory.getPacService().isBiServerAlive(new AsyncCallback<Object>() {
                public void onSuccess(Object isAlive) {
                    toolbarIndicator.displayServerAlive();
                }

                public void onFailure(Throwable caught) {
                    toolbarIndicator.displayServerDead();
                }
            });
        }
    };

    PacServiceFactory.getPacService().getBiServerStatusCheckPeriod(new AsyncCallback<Integer>() {
        public void onSuccess(Integer checkPeriod) {
            if (checkPeriod > 0) {
                statusTimer.scheduleRepeating(checkPeriod);
            }
        }

        public void onFailure(Throwable caught) {
            // otherwise we don't know what the status check period is, so don't schedule anything
        }
    });
}

From source file:org.rstudio.studio.client.common.rpubs.ui.RPubsUploadDialog.java

License:Open Source License

@Override
protected Widget createMainWidget() {
    Styles styles = RESOURCES.styles();//from w ww  . j  a va  2 s  .  c  o m

    SimplePanel mainPanel = new SimplePanel();
    mainPanel.addStyleName(styles.mainWidget());

    VerticalPanel verticalPanel = new VerticalPanel();

    HorizontalPanel headerPanel = new HorizontalPanel();
    headerPanel.addStyleName(styles.headerPanel());
    headerPanel.add(new Image(RESOURCES.publishLarge()));

    Label headerLabel = new Label("Publish to RPubs");
    headerLabel.addStyleName(styles.headerLabel());
    headerPanel.add(headerLabel);
    headerPanel.setCellVerticalAlignment(headerLabel, HasVerticalAlignment.ALIGN_MIDDLE);

    verticalPanel.add(headerPanel);

    String msg;
    if (!isPublished_) {
        msg = "RPubs is a free service from RStudio for sharing "
                + "documents on the web. Click Publish to get " + "started.";
    } else {
        msg = "This document has already been published on RPubs. You can "
                + "choose to either update the existing RPubs document, or " + "create a new one.";
    }
    Label descLabel = new Label(msg);
    descLabel.addStyleName(styles.descLabel());
    verticalPanel.add(descLabel);

    // if we have a generator then show title and comment UI
    if (htmlGenerator_ != null) {
        Label titleLabel = new Label("Title (optional):");
        titleLabel.addStyleName(styles.fieldLabel());
        verticalPanel.add(titleLabel);
        titleTextBox_ = new TextBox();
        titleTextBox_.addStyleName(styles.titleTextBox());
        titleTextBox_.getElement().setAttribute("spellcheck", "false");
        verticalPanel.add(titleTextBox_);

        Label commentLabel = new Label("Comment (optional):");
        commentLabel.addStyleName(styles.fieldLabel());
        verticalPanel.add(commentLabel);
        commentTextArea_ = new FixedTextArea(6);
        commentTextArea_.addStyleName(styles.commentTextArea());
        verticalPanel.add(commentTextArea_);

        // not using either for now
        titleLabel.setVisible(false);
        titleTextBox_.setVisible(false);
        commentLabel.setVisible(false);
        commentTextArea_.setVisible(false);

        previewButton_ = new ThemedButton("Preview");
        previewButton_.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                htmlGenerator_.generateRPubsHtml(titleTextBox_.getText().trim(),
                        commentTextArea_.getText().trim(), new CommandWithArg<String>() {
                            @Override
                            public void execute(String rpubsFile) {
                                globalDisplay_.showHtmlFile(rpubsFile);
                            }
                        });
            }
        });
        addLeftButton(previewButton_);
    }

    HTML warningLabel = new HTML("<strong>IMPORTANT: All documents published to RPubs are "
            + "publicly visible.</strong> You should "
            + "only publish documents that you wish to share publicly.");
    warningLabel.addStyleName(styles.warningLabel());
    verticalPanel.add(warningLabel);

    ThemedButton cancelButton = createCancelButton(new Operation() {
        @Override
        public void execute() {
            // if an upload is in progress then terminate it
            if (uploadInProgress_) {
                server_.rpubsTerminateUpload(contextId_, new VoidServerRequestCallback());

                if (uploadProgressWindow_ != null)
                    uploadProgressWindow_.close();
            }
        }

    });

    continueButton_ = new ThemedButton("Publish", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            performUpload(false);
        }
    });

    updateButton_ = new ThemedButton("Update Existing", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            performUpload(true);
        }
    });

    createButton_ = new ThemedButton("Create New", new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            performUpload(false);
        }
    });

    if (!isPublished_) {
        addOkButton(continueButton_);
        addCancelButton(cancelButton);
    } else {
        addOkButton(updateButton_);
        addButton(createButton_);
        addCancelButton(cancelButton);
    }

    mainPanel.setWidget(verticalPanel);
    return mainPanel;
}

From source file:org.tagaprice.client.features.startmanagement.desktopView.StartViewImpl.java

License:Creative Commons License

public StartViewImpl() {
    initWidget(frame);//from ww  w  .  j ava 2s  .c  o m
    frame.setHeader(title);

    //body
    vePa.setWidth("100%");
    frame.setBody(vePa);

    //get invite
    vePa.add(getInvitation);
    getInvitation.setStyleName("startInviteButton");
    getInvitation.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent arg0) {
            _presenter.onInvieteMe();
        }
    });

    //key
    HorizontalPanel inviteKeyHoPa = new HorizontalPanel();
    inviteationKeyText.setStyleName("startRegisterKeyText");

    inviteationKeyText.setText("Your Invitation Code");
    inviteKeyHoPa.add(inviteationKeyText);
    Button startRegisterButton = new Button("Register", new ClickHandler() {

        @Override
        public void onClick(ClickEvent arg0) {
            _presenter.onRegisterWithKey();

        }
    });
    startRegisterButton.setStyleName("startRegisterKeyButton");
    inviteKeyHoPa.add(startRegisterButton);
    inviteKeyHoPa.setCellVerticalAlignment(startRegisterButton, VerticalPanel.ALIGN_MIDDLE);

    vePa.add(inviteKeyHoPa);
    vePa.setCellHorizontalAlignment(inviteKeyHoPa, HorizontalPanel.ALIGN_CENTER);

    inviteationKeyText.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent arg0) {
            if (inviteationKeyText.getText().equals("Your Invitation Code"))
                inviteationKeyText.setText("");

        }
    });

    vePa.add(new HTML("<hr />"));

    vePa.add(new HTML(
            "<h1>The Idea</h1>A consumer-created location-aware price comparison site.<h1>Why do we need that?</h1><ul>   <li>There is no transparent market for food.</li>   <li>The prices between shops and bars are drifting apart.</li>   <li>Extreme price differences between bars (even those close to each other)</li>   <li>The EU stopped package size standards, causing some producers to try to sell smaller packages for the same price.</li></ul><h1>What's your benefit?</h1><ul>   <li>compare prices and save money</li>   <li>finding menus for restaurants that don't put them online themselves.</li>   <li>a transparent market</li>   <li>quality and quantity comparison of shops and product. (price, ingredients, pics, user comments, labels...)</li>   <li>free household account management</li>   <li>open shop database (location-aware)</li>   <li>open product database</li>   <li>open bar code and ISBN database</li>   <li>everything has a history (it's possible to compare prices not only between shops but also over time)</li></ul><h1>How can we implement this vision?</h1><h2>You</h2><ul>   <li>enter and update products, shops</li>   <li>enter prices<ul>   <li>bytyping in your receipt and add it to your household accounts</li>   <li>by taking a picture of your receipt with your mobile phone and TagAPrice will automatically add it to your household accounts</li></ul></li>   <li><strong>Donate</strong></li></ul><h2>Open Source</h2><ul>   <li>Working togehter to make TagAPrice more comfortable and feature-rich.</li>   <li>Code License: AGPLv3</li></ul><h2>Open Data</h2><ul>   <li>Create mashups and mobile apps<ul>   <li>bydownload a full dump of the DB</li>   <li>by using the API (json, xml, ...)</li></ul></li>   <li>Use the API to find shops (we have all shops from OpenStreetMap and maybe more)</li>   <li>Use the API to find a product at the nearest shop</li>   <li>Use the API to find the price of a product at the nearest shop</li>   <li>Use the API to find a menu and the price in a special restaurante</li>   <li>Use the API to insert the menu in your restaurant</li>   <li>Share products, shops, prices via twitter, facebook, ...</li>   <li>Data License: <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\">Creative Commons Attribution-ShareAlike 3.0 Unported License</a></li></ul><h2>The Team</h2><ul>   <li>We are a team of students at Technical University of Vienna, and University Copenhagen</li>   <li>contributors from all over the world.</li></ul>"));

}