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

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

Introduction

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

Prototype

@Override
    public void add(Widget w) 

Source Link

Usage

From source file:com.google.appinventor.client.TopPanel.java

License:Open Source License

/**
 * Initializes and assembles all UI elements shown in the top panel.
 *//* www .j a  va 2 s. co  m*/
public TopPanel() {
    /*
     * The layout of the top panel is as follows:
     *
     *  +-- topPanel ------------------------------------+
     *  |+-- logo --++-----tools-----++--links/account--+|
     *  ||          ||               ||                 ||
     *  |+----------++---------------++-----------------+|
     *  +------------------------------------------------+
     */
    HorizontalPanel topPanel = new HorizontalPanel();
    topPanel.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);

    // Create the Tools
    TopToolbar tools = new TopToolbar();
    ode.setTopToolbar(tools);

    // Create the Links
    HorizontalPanel links = new HorizontalPanel();
    links.setStyleName("ode-TopPanelLinks");
    links.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);

    if (Ode.getInstance().isReadOnly()) {
        Label readOnly = new Label(MESSAGES.readOnlyMode());
        readOnly.setStyleName("ode-TopPanelWarningLabel");
        links.add(readOnly);
    }

    // My Projects Link
    TextButton myProjects = new TextButton(MESSAGES.myProjectsTabName());
    myProjects.setStyleName("ode-TopPanelButton");

    myProjects.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            ode.switchToProjectsView();
        }
    });

    myProjects.setStyleName("ode-TopPanelButton");
    links.add(myProjects);

    // Code on gallerydev branch
    // Gallery Link
    gallery = new TextButton(MESSAGES.tabNameGallery());
    gallery.setStyleName("ode-TopPanelButton");
    gallery.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            ode.switchToGalleryView();
        }
    });
    links.add(gallery);

    Config config = ode.getSystemConfig();
    String guideUrl = config.getGuideUrl();
    if (!Strings.isNullOrEmpty(guideUrl)) {
        TextButton guideLink = new TextButton(MESSAGES.guideTabName());
        guideLink.addClickHandler(new WindowOpenClickHandler(guideUrl));
        guideLink.setStyleName("ode-TopPanelButton");
        links.add(guideLink);
    }

    // Feedback Link
    String feedbackUrl = config.getFeedbackUrl();
    if (!Strings.isNullOrEmpty(feedbackUrl)) {
        TextButton feedbackLink = new TextButton(MESSAGES.feedbackTabName());
        feedbackLink.addClickHandler(new WindowOpenClickHandler(feedbackUrl));
        feedbackLink.setStyleName("ode-TopPanelButton");
        links.add(feedbackLink);
    }

    /*
    // Code on master branch
      // Gallery Link
      if (Ode.getInstance().getUser().getIsAdmin()) {
        TextButton gallery = new TextButton(MESSAGES.galleryTabName());
        gallery.addClickHandler(new ClickHandler() {
          @Override
          public void onClick(ClickEvent clickEvent) {
            Window.open("http://gallery.appinventor.mit.edu", "_blank", "scrollbars=1");
          }
        });
            
        gallery.setStyleName("ode-TopPanelButton");
        links.add(gallery);
      }
      */

    moderation = new TextButton(MESSAGES.tabNameModeration());
    moderation.setStyleName("ode-TopPanelButton");
    moderation.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent clickEvent) {
            ode.switchToModerationPageView();
        }
    });
    moderation.setVisible(false);
    links.add(moderation);

    // Create the Account Information
    rightPanel = new VerticalPanel();
    rightPanel.setHeight("100%");
    rightPanel.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE);

    HorizontalPanel account = new HorizontalPanel();
    account.setStyleName("ode-TopPanelAccount");

    // Account Drop Down Button
    List<DropDownItem> userItems = Lists.newArrayList();

    // Sign Out
    userItems.add(new DropDownItem(WIDGET_NAME_SIGN_OUT, MESSAGES.signOutLink(), new SignOutAction()));

    accountButton = new DropDownButton(WIDGET_NAME_USER, " ", userItems, true);
    accountButton.setItemEnabled(WIDGET_NAME_MESSAGES, false);
    accountButton.setStyleName("ode-TopPanelButton");

    // Language
    List<DropDownItem> languageItems = Lists.newArrayList();
    String[] localeNames = LocaleInfo.getAvailableLocaleNames();
    String nativeName;
    for (String localeName : localeNames) {
        if (!localeName.equals("default")) {
            SelectLanguage lang = new SelectLanguage();
            lang.setLocale(localeName);
            nativeName = getDisplayName(localeName);
            languageItems.add(new DropDownItem(WIDGET_NAME_LANGUAGE, nativeName, lang));
        }
    }
    String currentLang = LocaleInfo.getCurrentLocale().getLocaleName();
    String nativeDisplayName = getDisplayName(currentLang);
    languageDropDown = new DropDownButton(WIDGET_NAME_LANGUAGE, nativeDisplayName, languageItems, true);
    languageDropDown.setStyleName("ode-TopPanelButton");

    account.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE);
    account.add(links);
    account.add(languageDropDown);
    account.add(accountButton);

    rightPanel.add(account);

    // Add the Logo, Tools, Links to the TopPanel
    addLogo(topPanel);
    topPanel.add(tools);
    topPanel.add(rightPanel);
    topPanel.setCellVerticalAlignment(rightPanel, HorizontalPanel.ALIGN_MIDDLE);
    rightPanel.setCellHorizontalAlignment(account, HorizontalPanel.ALIGN_RIGHT);
    topPanel.setCellHorizontalAlignment(rightPanel, HorizontalPanel.ALIGN_RIGHT);

    initWidget(topPanel);

    setStyleName("ode-TopPanel");
    setWidth("100%");
}

From source file:com.google.appinventor.client.TopPanel.java

License:Open Source License

private void addLogo(HorizontalPanel panel) {
    // Logo should be a link to App Inv homepage. Currently, after the user
    // has logged in, the top level *is* ODE; so for now don't make it a link.
    // Add timestamp to logo url to get around browsers that agressively cache
    // the image! This same trick is used in StorageUtil.getFilePath().
    Image logo = new Image(LOGO_IMAGE_URL + "?t=" + System.currentTimeMillis());
    logo.setSize("40px", "40px");
    logo.setStyleName("ode-Logo");
    String logoUrl = ode.getSystemConfig().getLogoUrl();
    if (!Strings.isNullOrEmpty(logoUrl)) {
        logo.addClickHandler(new WindowOpenClickHandler(logoUrl));
    }/*from   w  ww.  j a v  a2 s .  com*/
    panel.add(logo);
    panel.setCellWidth(logo, "50px");
    Label title = new Label("MIT App Inventor 2");
    Label version = new Label("Beta");
    title.setStyleName("ode-LogoText");
    version.setStyleName("ode-LogoVersion");
    VerticalPanel titleContainer = new VerticalPanel();
    titleContainer.add(title);
    titleContainer.add(version);
    titleContainer.setCellHorizontalAlignment(version, HorizontalPanel.ALIGN_RIGHT);
    panel.add(titleContainer);
    panel.setCellWidth(titleContainer, "180px");
    panel.setCellHorizontalAlignment(logo, HorizontalPanel.ALIGN_LEFT);
    panel.setCellVerticalAlignment(logo, HorizontalPanel.ALIGN_MIDDLE);
}

From source file:com.google.appinventor.client.TopToolbar.java

License:Open Source License

public TopToolbar() {
    /*/*from   w w  w  .j ava 2  s . c o m*/
     * Layout is as follows:
     * +--------------------------------------------------+
     * | Project  | Connect  | Build | Help | Admin  |
     * +--------------------------------------------------+
     */
    HorizontalPanel toolbar = new HorizontalPanel();
    toolbar.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);

    List<DropDownItem> fileItems = Lists.newArrayList();
    List<DropDownItem> componentItems = Lists.newArrayList();
    List<DropDownItem> connectItems = Lists.newArrayList();
    List<DropDownItem> buildItems = Lists.newArrayList();
    List<DropDownItem> helpItems = Lists.newArrayList();

    // Should the UI be in read only mode?
    isReadOnly = Ode.getInstance().isReadOnly();

    // File -> {New Project; Save; Save As; Checkpoint; |; Delete this Project; My Projects;}
    fileItems.add(
            new DropDownItem(WIDGET_NAME_MY_PROJECTS, MESSAGES.projectMenuItem(), new SwitchToProjectAction()));
    fileItems.add(null);
    if (!isReadOnly) {
        fileItems.add(new DropDownItem(WIDGET_NAME_NEW, MESSAGES.newProjectMenuItem(), new NewAction()));
        fileItems.add(new DropDownItem(WIDGET_NAME_IMPORTPROJECT, MESSAGES.importProjectMenuItem(),
                new ImportProjectAction()));
        fileItems.add(new DropDownItem(WIDGET_NAME_IMPORTTEMPLATE, MESSAGES.importTemplateButton(),
                new ImportTemplateAction()));
        fileItems.add(new DropDownItem(WIDGET_NAME_DELETE, MESSAGES.deleteProjectButton(), new DeleteAction()));
        fileItems.add(null);
        fileItems.add(new DropDownItem(WIDGET_NAME_SAVE, MESSAGES.saveMenuItem(), new SaveAction()));
        fileItems.add(new DropDownItem(WIDGET_NAME_SAVE_AS, MESSAGES.saveAsMenuItem(), new SaveAsAction()));
        fileItems.add(new DropDownItem(WIDGET_NAME_CHECKPOINT, MESSAGES.checkpointMenuItem(),
                new CheckpointAction()));
        fileItems.add(null);
    }
    fileItems.add(new DropDownItem(WIDGET_NAME_EXPORTPROJECT, MESSAGES.exportProjectMenuItem(),
            new ExportProjectAction()));
    fileItems.add(new DropDownItem(WIDGET_NAME_EXPORTALLPROJECTS, MESSAGES.exportAllProjectsMenuItem(),
            new ExportAllProjectsAction()));
    fileItems.add(null);
    if (!isReadOnly) {
        fileItems.add(new DropDownItem(WIDGET_NAME_UPLOAD_KEYSTORE, MESSAGES.uploadKeystoreMenuItem(),
                new UploadKeystoreAction()));
    }
    fileItems.add(new DropDownItem(WIDGET_NAME_DOWNLOAD_KEYSTORE, MESSAGES.downloadKeystoreMenuItem(),
            new DownloadKeystoreAction()));
    if (!isReadOnly) {
        fileItems.add(new DropDownItem(WIDGET_NAME_DELETE_KEYSTORE, MESSAGES.deleteKeystoreMenuItem(),
                new DeleteKeystoreAction()));
    }

    // Connect -> {Connect to Companion; Connect to Emulator; Connect to USB; Reset Connections}
    connectItems.add(new DropDownItem(WIDGET_NAME_WIRELESS_BUTTON, MESSAGES.AICompanionMenuItem(),
            new WirelessAction()));
    connectItems.add(
            new DropDownItem(WIDGET_NAME_EMULATOR_BUTTON, MESSAGES.emulatorMenuItem(), new EmulatorAction()));
    connectItems.add(new DropDownItem(WIDGET_NAME_USB_BUTTON, MESSAGES.usbMenuItem(), new UsbAction()));
    connectItems.add(null);
    connectItems.add(
            new DropDownItem(WIDGET_NAME_RESET_BUTTON, MESSAGES.resetConnectionsMenuItem(), new ResetAction()));
    connectItems.add(new DropDownItem(WIDGET_NAME_HARDRESET_BUTTON, MESSAGES.hardResetConnectionsMenuItem(),
            new HardResetAction()));

    // Build -> {Show Barcode; Download to Computer; Generate YAIL only when logged in as an admin}
    buildItems.add(
            new DropDownItem(WIDGET_NAME_BUILD_BARCODE, MESSAGES.showBarcodeMenuItem(), new BarcodeAction()));
    buildItems.add(new DropDownItem(WIDGET_NAME_BUILD_DOWNLOAD, MESSAGES.downloadToComputerMenuItem(),
            new DownloadAction()));
    if (AppInventorFeatures.hasYailGenerationOption() && Ode.getInstance().getUser().getIsAdmin()) {
        buildItems.add(null);
        buildItems.add(new DropDownItem(WIDGET_NAME_BUILD_YAIL, MESSAGES.generateYailMenuItem(),
                new GenerateYailAction()));
    }

    // Help -> {About, Library, Get Started, Tutorials, Troubleshooting, Forums, Report an Issue,
    //  Companion Information, Show Splash Screen}
    helpItems.add(new DropDownItem(WIDGET_NAME_ABOUT, MESSAGES.aboutMenuItem(), new AboutAction()));
    helpItems.add(null);
    Config config = Ode.getInstance().getSystemConfig();
    String libraryUrl = config.getLibraryUrl();
    if (!Strings.isNullOrEmpty(libraryUrl)) {
        helpItems.add(new DropDownItem(WIDGET_NAME_LIBRARY, MESSAGES.libraryMenuItem(),
                new WindowOpenAction(libraryUrl)));
    }
    String getStartedUrl = config.getGetStartedUrl();
    if (!Strings.isNullOrEmpty(getStartedUrl)) {
        helpItems.add(new DropDownItem(WIDGET_NAME_GETSTARTED, MESSAGES.getStartedMenuItem(),
                new WindowOpenAction(getStartedUrl)));
    }
    String extensionsUrl = config.getExtensionsUrl();
    if (!Strings.isNullOrEmpty(extensionsUrl)) {
        helpItems.add(new DropDownItem(WIDGET_NAME_EXTENSIONS, MESSAGES.extensionsMenuItem(),
                new WindowOpenAction(extensionsUrl)));
    }
    String tutorialsUrl = config.getTutorialsUrl();
    if (!Strings.isNullOrEmpty(tutorialsUrl)) {
        helpItems.add(new DropDownItem(WIDGET_NAME_TUTORIALS, MESSAGES.tutorialsMenuItem(),
                new WindowOpenAction(tutorialsUrl)));
    }
    String troubleshootingUrl = config.getTroubleshootingUrl();
    if (!Strings.isNullOrEmpty(troubleshootingUrl)) {
        helpItems.add(new DropDownItem(WIDGET_NAME_TROUBLESHOOTING, MESSAGES.troubleshootingMenuItem(),
                new WindowOpenAction(troubleshootingUrl)));
    }
    String forumsUrl = config.getForumsUrl();
    if (!Strings.isNullOrEmpty(forumsUrl)) {
        helpItems.add(new DropDownItem(WIDGET_NAME_FORUMS, MESSAGES.forumsMenuItem(),
                new WindowOpenAction(forumsUrl)));
    }
    helpItems.add(null);
    String feedbackUrl = config.getFeedbackUrl();
    if (!Strings.isNullOrEmpty(feedbackUrl)) {
        helpItems.add(new DropDownItem(WIDGET_NAME_FEEDBACK, MESSAGES.feedbackMenuItem(),
                new WindowOpenAction(feedbackUrl)));
        helpItems.add(null);
    }
    helpItems.add(new DropDownItem(WIDGET_NAME_COMPANIONINFO, MESSAGES.companionInformation(),
            new AboutCompanionAction()));
    helpItems.add(new DropDownItem(WIDGET_NAME_COMPANIONUPDATE, MESSAGES.companionUpdate(),
            new CompanionUpdateAction()));
    helpItems.add(
            new DropDownItem(WIDGET_NAME_SHOWSPLASH, MESSAGES.showSplashMenuItem(), new ShowSplashAction()));

    // Create the TopToolbar drop down menus.
    fileDropDown = new DropDownButton(WIDGET_NAME_PROJECT, MESSAGES.projectsTabName(), fileItems, false);
    connectDropDown = new DropDownButton(WIDGET_NAME_CONNECT_TO, MESSAGES.connectTabName(), connectItems,
            false);
    buildDropDown = new DropDownButton(WIDGET_NAME_BUILD, MESSAGES.buildTabName(), buildItems, false);
    helpDropDown = new DropDownButton(WIDGET_NAME_HELP, MESSAGES.helpTabName(), helpItems, false);

    // Set the DropDown Styles
    fileDropDown.setStyleName("ode-TopPanelButton");
    connectDropDown.setStyleName("ode-TopPanelButton");
    buildDropDown.setStyleName("ode-TopPanelButton");
    helpDropDown.setStyleName("ode-TopPanelButton");

    // Add the Buttons to the Toolbar.
    toolbar.add(fileDropDown);
    toolbar.add(connectDropDown);
    toolbar.add(buildDropDown);

    // Commented out language switching until we have a clean Chinese translation. (AFM)
    toolbar.add(helpDropDown);

    //Only if logged in as an admin, add the Admin Button
    if (Ode.getInstance().getUser().getIsAdmin()) {
        List<DropDownItem> adminItems = Lists.newArrayList();
        adminItems.add(new DropDownItem(WIDGET_NAME_DOWNLOAD_USER_SOURCE, MESSAGES.downloadUserSourceMenuItem(),
                new DownloadUserSourceAction()));
        adminItems.add(new DropDownItem(WIDGET_NAME_SWITCH_TO_DEBUG, MESSAGES.switchToDebugMenuItem(),
                new SwitchToDebugAction()));
        adminItems.add(new DropDownItem(WIDGET_NAME_USER_ADMIN, "User Admin", new SwitchToUserAdminAction()));
        adminDropDown = new DropDownButton(WIDGET_NAME_ADMIN, MESSAGES.adminTabName(), adminItems, false);
        adminDropDown.setStyleName("ode-TopPanelButton");
        toolbar.add(adminDropDown);
    }

    initWidget(toolbar);

}

From source file:com.google.appinventor.client.widgets.boxes.ColumnLayout.java

License:Open Source License

@Override
public void apply(WorkAreaPanel workArea) {

    // Clear base panel
    workArea.clear();/*ww  w .j a va 2  s  .  c o m*/

    // Horizontal panel to hold columns
    HorizontalPanel horizontalPanel = new HorizontalPanel();
    horizontalPanel.setSize("100%", "100%");
    workArea.add(horizontalPanel);

    // Initialize columns
    for (Column column : columns) {
        horizontalPanel.add(column.columnPanel);
        workArea.getWidgetDragController().registerDropController(column);

        // Add invisible dummy widget to prevent column from collapsing when it contains no boxes
        column.columnPanel.add(new Label());

        // Add boxes from layout
        List<BoxDescriptor> boxes = column.boxes;
        for (int index = 0; index < boxes.size(); index++) {
            BoxDescriptor bd = boxes.get(index);
            Box box = workArea.createBox(bd);
            if (box != null) {
                column.insert(box, index);
                box.restoreLayoutSettings(bd);
            }
        }
    }

    workArea.getWidgetDragController().addDragHandler(changeDetector);
}

From source file:com.google.appinventor.client.widgets.LabeledTextBox.java

License:Open Source License

/**
 * Creates a new TextBox with the given leading caption.
 *
 * @param caption  caption for leading label
 *//*from w w  w . j a  v  a 2 s  .  c  om*/
public LabeledTextBox(String caption) {
    HorizontalPanel panel = new HorizontalPanel();
    Label label = new Label(caption);
    panel.add(label);
    textbox = new TextBox();
    textbox.setWidth("100%");
    panel.add(textbox);
    panel.setCellWidth(label, "40%");

    initWidget(panel);

    setWidth("100%");
}

From source file:com.google.appinventor.client.widgets.LabeledTextBox.java

License:Open Source License

/**
 * Use this TextBox if you want to have text validation while a user is typing
 *
 * @param caption    caption for leading label
 * @param validator  The validator to use for a specific textBox
 */// ww  w. j  av  a  2 s  . c o  m
public LabeledTextBox(String caption, Validator validator) {
    this.validator = validator;

    HorizontalPanel panel = new HorizontalPanel();
    Label label = new Label(caption);
    panel.add(label);
    textbox = new TextBox();
    defaultTextBoxColor = textbox.getElement().getStyle().getBorderColor();
    textbox.setWidth("100%");
    panel.add(textbox);
    panel.setCellWidth(label, "40%");

    HorizontalPanel errorPanel = new HorizontalPanel();
    errorLabel = new Label("");
    errorPanel.add(errorLabel);

    VerticalPanel vp = new VerticalPanel();
    vp.add(panel);
    vp.add(errorPanel);
    vp.setHeight("85px");

    initWidget(vp);

    setWidth("100%");
}

From source file:com.google.appinventor.client.widgets.properties.AdditionalChoicePropertyEditor.java

License:Open Source License

/**
 * Initializes the additional choice panel.
 *
 * <p>This method must be called from any implementor's constructor.
 *
 * @param panel  panel containing additional choices
 *///from  w w w .  ja  va2 s. c  o m
protected void initAdditionalChoicePanel(Panel panel) {
    Button cancelButton = new Button(MESSAGES.cancelButton());
    cancelButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            closeAdditionalChoiceDialog(false);
        }
    });
    Button okButton = new Button(MESSAGES.okButton());
    okButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            closeAdditionalChoiceDialog(true);
        }
    });

    HorizontalPanel buttonPanel = new HorizontalPanel();
    buttonPanel.add(cancelButton);
    buttonPanel.add(okButton);
    buttonPanel.setWidth("100%");
    buttonPanel.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT);

    VerticalPanel contentPanel = new VerticalPanel();
    contentPanel.add(panel);
    contentPanel.add(buttonPanel);

    popup = new PopupPanel(false, true);
    popup.setAutoHideEnabled(true);
    popup.setWidget(contentPanel);
    popup.setStylePrimaryName("ode-MultipleChoicePropertyEditor");
}

From source file:com.google.appinventor.client.widgets.Toolbar.java

License:Open Source License

/**
 * Initializes and assembles all commands into buttons in the toolbar.
 *///w  ww . j a  v a 2 s  .c o m
public Toolbar() {
    buttonMap = new HashMap<String, TextButton>();
    dropDownButtonMap = new HashMap<String, DropDownButton>();

    leftButtons = new HorizontalPanel();
    leftButtons.setSpacing(4);

    rightButtons = new HorizontalPanel();
    rightButtons.setSpacing(4);
    rightButtons.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT);

    HorizontalPanel toolbar = new HorizontalPanel();
    toolbar.add(leftButtons); // this nesting keeps buttons left aligned
    toolbar.add(rightButtons);
    toolbar.setCellHorizontalAlignment(rightButtons, HorizontalPanel.ALIGN_RIGHT);
    toolbar.setWidth("100%");
    toolbar.setStylePrimaryName("ya-Toolbar");

    initWidget(toolbar);
}

From source file:com.google.appinventor.client.wizards.InputTemplateUrlWizard.java

License:Open Source License

/**
 * Creates a new YoungAndroid project wizard.
 *///  w w  w  . j  av a  2  s . c  om
public InputTemplateUrlWizard(final NewUrlDialogCallback callback) {
    super(MESSAGES.inputNewUrlCaption(), true, true);

    // Initialize the UI.
    setStylePrimaryName("ode-DialogBox");
    HorizontalPanel panel = new HorizontalPanel();

    urlTextBox = new LabeledTextBox(MESSAGES.newUrlLabel());
    urlTextBox.getTextBox().setWidth("250px");
    urlTextBox.getTextBox().addKeyUpHandler(new KeyUpHandler() {
        @Override
        public void onKeyUp(KeyUpEvent event) {
            int keyCode = event.getNativeKeyCode();
            if (keyCode == KeyCodes.KEY_ENTER) {
                handleOkClick();
            } else if (keyCode == KeyCodes.KEY_ESCAPE) {
                handleCancelClick();
            }
        }
    });

    VerticalPanel page = new VerticalPanel();
    panel.add(urlTextBox);
    page.add(panel);
    addPage(page);

    // Create finish command (create a new Young Android project).
    initFinishCommand(new Command() {
        @Override
        public void execute() {
            String hostUrl = urlTextBox.getText();
            if (TemplateUploadWizard.hasUrl(hostUrl)) {
                Window.alert("The Url " + hostUrl + " already exists.");
            } else {
                callback.updateTemplateOptions(hostUrl);
            }
        }
    });
}

From source file:com.google.appinventor.client.wizards.TemplateUploadWizard.java

License:Open Source License

/**
 * The UI consists of a vertical panel that holds a drop-down list box,
 *   a Horizontal panel that holds the templates list (cell list) plus
 *   the selected template. This is inserted in the Wizard dialog.
 *
 * @param templates should never be null
 * @return the main panel for Wizard dialog.
 *///w  w  w  .j av a  2 s  .  c  o  m
VerticalPanel createUI(final ArrayList<TemplateInfo> templates) {
    VerticalPanel panel = new VerticalPanel();
    panel.setStylePrimaryName("gwt-SimplePanel");
    panel.setVerticalAlignment(VerticalPanel.ALIGN_MIDDLE);
    panel.setHorizontalAlignment(VerticalPanel.ALIGN_CENTER);

    templatePanel = new HorizontalPanel();
    templatePanel.add(makeTemplateSelector(templates));
    if (templates.size() > 0)
        templatePanel.add(new TemplateWidget(templates.get(0), templateHostUrl));

    templatesMenu = makeTemplatesMenu();

    HorizontalPanel hPanel = new HorizontalPanel();
    hPanel.add(templatesMenu);
    removeButton = new Button("Remove this repository", new ClickHandler() {
        @Override
        public void onClick(ClickEvent arg0) {
            removeCurrentlySelectedRepository();
        }
    });
    removeButton.setVisible(false);
    hPanel.add(removeButton);
    panel.add(hPanel);
    panel.add(templatePanel);
    return panel;
}