Example usage for com.google.gwt.user.client.ui FormPanel setAction

List of usage examples for com.google.gwt.user.client.ui FormPanel setAction

Introduction

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

Prototype

public void setAction(SafeUri url) 

Source Link

Document

Sets the 'action' associated with this form.

Usage

From source file:cc.alcina.framework.gwt.client.util.ClientUtils.java

License:Apache License

public static void submitForm(Map<String, String> params, String url) {
    FormPanel p = new FormPanel("_self");
    p.setAction(url);
    p.setMethod(FormPanel.METHOD_POST);//from   ww  w  . j  a v a  2  s  .c  o  m
    FlowPanel fp = new FlowPanel();
    p.add(fp);
    for (String key : params.keySet()) {
        addHidden(fp, key, params.get(key));
    }
    RootPanel.get().add(p);
    p.submit();
    p.removeFromParent();
}

From source file:com.edgenius.wiki.gwt.client.space.SpaceLogoForm.java

License:Open Source License

public SpaceLogoForm() {
    final FormPanel form = new FormPanel();
    form.setAction(GwtClientUtils.getBaseUrl() + "space/logo.do");
    form.setMethod(FormPanel.METHOD_POST);
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.addSubmitHandler(this);
    form.addSubmitCompleteHandler(this);

    VerticalPanel panel = new VerticalPanel();
    panel.add(message);/*ww  w .j  a  va 2 s . co m*/
    panel.add(spaceUname);
    HorizontalPanel h1 = new HorizontalPanel();
    Label uploadLabel = new Label(Msg.consts.logo());
    uploadLabel.setStyleName(Css.FORM_LABEL);
    FileUpload upload = new FileUpload();
    upload.setName("file");
    h1.add(uploadLabel);
    h1.add(upload);
    panel.add(h1);

    form.setWidget(panel);

    //
    Button update = new Button(Msg.consts.update());
    update.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            form.submit();
        }
    });
    Button cancel = new Button(Msg.consts.cancel());
    cancel.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            //return to link panel
            for (Iterator<SpaceUpdateListener> iter = listener.iterator(); iter.hasNext();) {
                iter.next().spaceUpdateCancelled();
            }
        }
    });

    ButtonBar btnBar = new ButtonBar();
    btnBar.add(update);
    btnBar.add(cancel);

    VerticalPanel main = new VerticalPanel();
    main.add(form);
    main.add(btnBar);
    setWidget(main);
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EditScreen.java

License:Apache License

/**
 * buildEmptyUploadTile0 Initiates a tile in the EditScreen to represent a file that is uploading
 * @param idPrefix String id assigned to the new tile
 *//*from  ww w.  jav a2 s  . c o m*/
private void buildEmptyUploadTile0(final String idPrefix) {
    final FormPanel formPanel = (FormPanel) PageAssembler.elementToWidget("addFileForm", PageAssembler.FORM);
    final FileUpload fileUpload = (FileUpload) PageAssembler.elementToWidget("addFileData", PageAssembler.FILE);
    formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    formPanel.setAction(RusselApi.getESBActionURL("addResource") + "?inline=true");
    FileHandler.pendingFileUploads++;
    final StatusRecord status = StatusHandler.createMessage(StatusHandler.getFileMessageBusy(""),
            StatusRecord.ALERT_BUSY);
    formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            ESBPacket node = new ESBPacket(event.getResults());
            RUSSELFileRecord fr = new RUSSELFileRecord();
            fr.setGuid(node.getPayloadString());
            String filename = fileUpload.getFilename();
            final String justFileName = filename.substring(filename.lastIndexOf("\\") + 1);
            fr.setFilename(justFileName);
            if (DOM.getElementById(idPrefix + "-objectDescription") != null) {
                RootPanel.get(idPrefix + "-objectDescription").getElement().setInnerText("");
                fillTemplateDetails0(fr, idPrefix);
                DOM.getElementById(idPrefix + "-objectDetailButton").removeAttribute("hidden");
            }
            FileHandler.pendingFileUploads--;
            status.setState(StatusRecord.ALERT_SUCCESS);
            status.setMessage(StatusHandler.getFileMessageDone(justFileName));
            StatusHandler.alterMessage(status);
            //                                       if (justFileName.substring(justFileName.lastIndexOf(".")+1).equalsIgnoreCase("rpf"))
            //                                          ProjectRecord.updatePfmNodeId(fr);

            thumbIDs.put(idPrefix + "-object", fr);
            //checkIEAndPromptServerDisaggregation0(fr);
            refreshInformation0();
        }
    });
    formPanel.addSubmitHandler(new SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            String fn = fileUpload.getFilename();
            String justFileName = fn.substring(fn.lastIndexOf("\\") + 1);
            PageAssembler.attachHandler(idPrefix + "-objectDetail", Event.ONCLICK, new EventCallback() {
                @Override
                public void onEvent(Event event) {
                    toggleSelection0(idPrefix + "-object");
                }
            });
            if (fn == "") {
                status.setState(StatusRecord.ALERT_WARNING);
                status.setMessage(StatusHandler.INVALID_FILENAME);
                StatusHandler.alterMessage(status);
                fileUpload.setName("data");
                DOM.getElementById(idPrefix + "-object").removeFromParent();
                FileHandler.pendingFileUploads--;
                event.cancel();
            } else {
                DOM.getElementById(idPrefix + "-objectDetailButton").setAttribute("hidden", "hidden");
                status.setMessage(StatusHandler.getFileMessageBusy(justFileName));
                StatusHandler.alterMessage(status);
                DOM.getElementById("addFileData").setAttribute("name", justFileName);
                DOM.getElementById("session").setAttribute("value",
                        "{ \"sessionid\":\"" + RusselApi.sessionId + "\" }");
                if (justFileName.indexOf(".") != -1 && justFileName.substring(justFileName.lastIndexOf(".") + 1)
                        .toLowerCase().equals("zip")) {
                    if (!Browser.isBadIE()) {
                        File file = BlobUtils.getFile("addFileData");
                        String filename = file.getName();
                        if (filename.substring(filename.lastIndexOf(".") + 1).equalsIgnoreCase("zip") && Window
                                .confirm("Do you wish to disaggregate the zip " + filename + " package?")) {
                            Zip.grabEntries(file, new AsyncCallback<Vector<ZipRecord>>() {
                                @Override
                                public void onFailure(Throwable caught) {
                                }

                                @Override
                                public void onSuccess(Vector<ZipRecord> zipRecords) {
                                    for (int x = 0; x < zipRecords.size(); x++) {
                                        FileHandler.pendingZipUploads.add(zipRecords.get(x));
                                    }
                                    doPendingUploads0();
                                }
                            });
                        }
                    }
                }
                RootPanel.get(idPrefix + "-objectDescription").add(new Image("images/orbit/loading.gif"));
                DOM.getElementById(idPrefix + "-objectTitle").setInnerText(justFileName);
                DOM.getElementById(idPrefix + "-objectDescription").setAttribute("style", "text-align:center");
            }
        }
    });
    formPanel.submit();
    refreshInformation0();
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EPSSEditScreen.java

License:Apache License

/**
 * display Renders the EPSS Edit screen using appropriate templates and assigns handlers
 *///from   w w w .j  av  a 2s.c  o  m
@Override
public void display() {
    PageAssembler.ready(new HTML(templates().getEPSSEdit().getText()));
    PageAssembler.buildContents();
    populateTemplate();
    assetSearchHandler = new ESBSearchHandler();

    assetSearchHandler.hook("r-projectAssetSearch", "epssAssetPanel", ESBSearchHandler.ASSET_TYPE);

    PageAssembler.attachHandler("epssExportButton", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            RootPanel.get("epssDownloadArea").clear();
        }
    });

    PageAssembler.attachHandler("epssUpdate", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            saveProject0();
        }
    });

    PageAssembler.attachHandler("epssCancel", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            dispatcher().loadFeatureScreen(FeatureScreen.PROJECTS_TYPE);
        }
    });

    PageAssembler.attachHandler("epssSaveProperties", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            saveProject0();
            PageAssembler.closePopup("projectProperties");
        }
    });

    PageAssembler.attachHandler("epssCancelProperties", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            fillPropData0();
            PageAssembler.closePopup("projectProperties");
        }
    });

    PageAssembler.attachHandler("epssCloseProperties", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            fillPropData0();
            PageAssembler.closePopup("projectProperties");
        }
    });

    PageAssembler.attachHandler("epssSaveAs", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            Window.alert(Constants.INCOMPLETE_FEATURE_MESSAGE);
        }
    });

    for (int sectionIndex = 1; sectionIndex <= pfmNow.projectSections.size(); sectionIndex++) {
        final int lockedSectionIndex = sectionIndex;
        PageAssembler.attachHandler("section" + lockedSectionIndex, Event.ONCLICK, new EventCallback() {
            @Override
            public void onEvent(Event event) {
                fillSectionNotes0("section" + lockedSectionIndex, lockedSectionIndex - 1);
            }
        });
    }

    PageAssembler.attachHandler("epssExportSCORM", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            saveProject0();
            EPSSPackBuilder epb = new EPSSPackBuilder(pfmNow);
            FormPanel fp = ((FormPanel) PageAssembler.elementToWidget("epssExportSCORMForm",
                    PageAssembler.FORM));
            fp.setAction(RusselApi.getESBActionURL("exportToZip"));
            fp.setMethod(CommunicationHub.POST);
            fp.setEncoding(FormPanel.ENCODING_MULTIPART);
            ESBPacket postData = epb.buildPackIE();
            postData.put("sessionId", RusselApi.sessionId);
            ((Hidden) PageAssembler.elementToWidget("epssExportSCORMPayload", PageAssembler.HIDDEN))
                    .setValue(postData.toString());
            fp.addSubmitHandler(new SubmitHandler() {
                @Override
                public void onSubmit(SubmitEvent event) {
                    StatusWindowHandler.createMessage(
                            StatusWindowHandler
                                    .getZipExportMessageDone(pfmNow.projectTitle.replaceAll(" ", "_") + ".zip"),
                            StatusRecord.ALERT_SUCCESS);
                    RootPanel.get("epssDownloadArea").clear();
                    PageAssembler.closePopup("exportProjectModal");
                }
            });
            fp.submit();
            RootPanel.get("epssDownloadArea").add(new Image("images/orbit/loading.gif"));
        }
    });

    PageAssembler.attachHandler("epssActiveAddAsset", Event.ONCHANGE, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            addAssetTrigger();
        }
    });

    PageAssembler.attachHandler("epssActiveRemoveAsset", Event.ONCHANGE, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            removeAssetTrigger();
        }
    });

    fillData0();
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EPSSScreen.java

License:Apache License

/**
 * display Renders the EPSS Edit screen using appropriate templates and assigns handlers
 *//*w  w  w  .j  a  v  a2  s. c  o m*/
@Override
public void display() {
    PageAssembler.ready(new HTML(Russel.htmlTemplates.getEPSSEdit().getText()));
    PageAssembler.buildContents();

    DOM.getElementById("r-menuWorkspace").getParentElement().removeClassName("active");
    DOM.getElementById("r-menuCollections").getParentElement().removeClassName("active");
    DOM.getElementById("r-menuProjects").getParentElement().addClassName("active");

    DOM.getElementById("template-name").setInnerText(currentProject.getTemplateName());

    for (int sectionIndex = 0; sectionIndex < currentProject.getSections().size(); sectionIndex++)
        insertSection0(DOM.getElementById("template-sections-area"),
                new ESBPacket(currentProject.getSections().get(sectionIndex).isObject())
                        .getString(ProjectRecord.TEMPLATE_SECTION_SHORT_TITLE),
                sectionIndex);

    PageAssembler.inject("flowContainer", "x", new HTML(Russel.htmlTemplates.getDetailModal().getText()), true);
    PageAssembler.inject("objDetailPanelWidget", "x", new HTML(Russel.htmlTemplates.getDetailPanel().getText()),
            true);
    assetSearchHandler = new SearchHandler(this, true);

    assetSearchHandler.hookAndClear("r-projectAssetSearch", "epssAssetPanel", SearchHandler.TYPE_ASSET);

    PageAssembler.attachHandler("r-projectAssetSearch", Event.ONKEYUP, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            generateQuery();
        }
    });

    PageAssembler.attachHandler("epssExportButton", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            RootPanel.get("epssDownloadArea").clear();
        }
    });

    PageAssembler.attachHandler("epssUpdate", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            saveProject0();
        }
    });

    PageAssembler.attachHandler("epssCancel", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            Russel.screen.loadScreen(new FeatureScreen(FeatureScreen.PROJECTS_TYPE), true);
        }
    });

    PageAssembler.attachHandler("epssSaveProperties", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            saveProject0();
            PageAssembler.closePopup("projectProperties");
        }
    });

    PageAssembler.attachHandler("epssCancelProperties", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            fillPropData0();
            PageAssembler.closePopup("projectProperties");
        }
    });

    PageAssembler.attachHandler("epssCloseProperties", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            fillPropData0();
            PageAssembler.closePopup("projectProperties");
        }
    });

    for (int sectionIndex = 0; sectionIndex < currentProject.getSections().size(); sectionIndex++) {
        final int lockedSectionIndex = sectionIndex;
        PageAssembler.attachHandler("section" + lockedSectionIndex, Event.ONCLICK, new EventCallback() {
            @Override
            public void onEvent(Event event) {
                fillSectionNotes0("section" + lockedSectionIndex, lockedSectionIndex);
            }
        });
    }

    PageAssembler.attachHandler("epssExportSCORM", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            saveProject0();
            ESBPacket postData = new ESBPacket();
            FormPanel fp = ((FormPanel) PageAssembler.elementToWidget("epssExportSCORMForm",
                    PageAssembler.FORM));
            fp.setAction(RusselApi.getESBActionURL("zipResources"));
            fp.setMethod(CommunicationHub.POST);
            fp.setEncoding(FormPanel.ENCODING_MULTIPART);
            postData.put("sessionid", RusselApi.sessionId);
            JSONArray ja = new JSONArray();
            int c = 0;
            for (String key : currentProject.getAssets().keySet())
                ja.set(c++, new JSONString(key));
            ja.set(c++, new JSONString(currentProject.getGuid()));
            postData.put("resourcemetadata", ja);
            postData.put("resourceid", currentProject.getTitle().replaceAll(" ", "_") + ".zip");
            ((Hidden) PageAssembler.elementToWidget("epssExportSCORMPayload", PageAssembler.HIDDEN))
                    .setValue(postData.toString());
            ((Hidden) PageAssembler.elementToWidget("epssExportImsmanifestPayload", PageAssembler.HIDDEN))
                    .setValue(SCORMTemplates.INSTANCE.getImsmanifest().getText());
            ((Hidden) PageAssembler.elementToWidget("epssExportInitPagePayload", PageAssembler.HIDDEN))
                    .setValue(SCORMTemplates.INSTANCE.getInitPage().getText());
            fp.addSubmitHandler(new SubmitHandler() {
                @Override
                public void onSubmit(SubmitEvent event) {
                    StatusHandler.createMessage(
                            StatusHandler.getZipExportMessageDone(
                                    currentProject.getTitle().replaceAll(" ", "_") + ".zip"),
                            StatusRecord.ALERT_SUCCESS);
                    RootPanel.get("epssDownloadArea").clear();
                    PageAssembler.closePopup("exportProjectModal");
                }
            });
            fp.submit();
            RootPanel.get("epssDownloadArea").add(new Image("images/orbit/loading.gif"));
        }
    });

    fillData0();
}

From source file:com.eucalyptus.webui.client.view.LoginViewImpl.java

License:Open Source License

private void injectLoginForm() {
    // Inject style first. After the form is wrapped, it is too late (IDs are gone)
    injectLoginFormStyle();/*from   w  w w .j a v  a  2  s  .  c  o m*/
    FormPanel form = FormPanel.wrap(Document.get().getElementById(LOGINFORM_ID), false);
    form.setAction("javascript:__gwt_login()");
    loginArea.appendChild(form.getElement());
    injectLoginFormAction(this);
}

From source file:com.google.gwt.examples.FormPanelExample.java

License:Apache License

public void onModuleLoad() {
    // Create a FormPanel and point it at a service.
    final FormPanel form = new FormPanel();
    form.setAction("/myFormHandler");

    // Because we're going to add a FileUpload widget, we'll need to set the
    // form to use the POST method, and multipart MIME encoding.
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);

    // Create a panel to hold all of the form widgets.
    VerticalPanel panel = new VerticalPanel();
    form.setWidget(panel);//  w  ww.  j av  a  2 s  .c  o m

    // Create a TextBox, giving it a name so that it will be submitted.
    final TextBox tb = new TextBox();
    tb.setName("textBoxFormElement");
    panel.add(tb);

    // Create a ListBox, giving it a name and some values to be associated with
    // its options.
    ListBox lb = new ListBox();
    lb.setName("listBoxFormElement");
    lb.addItem("foo", "fooValue");
    lb.addItem("bar", "barValue");
    lb.addItem("baz", "bazValue");
    panel.add(lb);

    // Create a FileUpload widget.
    FileUpload upload = new FileUpload();
    upload.setName("uploadFormElement");
    panel.add(upload);

    // Add a 'submit' button.
    panel.add(new Button("Submit", new ClickHandler() {
        public void onClick(ClickEvent event) {
            form.submit();
        }
    }));

    // Add an event handler to the form.
    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            // This event is fired just before the form is submitted. We can take
            // this opportunity to perform validation.
            if (tb.getText().length() == 0) {
                Window.alert("The text box must not be empty");
                event.cancel();
            }
        }
    });
    form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        public void onSubmitComplete(SubmitCompleteEvent event) {
            // When the form submission is successfully completed, this event is
            // fired. Assuming the service returned a response of type text/html,
            // we can get the result text here (see the FormPanel documentation for
            // further explanation).
            Window.alert(event.getResults());
        }
    });

    RootPanel.get().add(form);
}

From source file:com.google.gwt.maps.sample.hellomaps.client.Geocoder2Demo.java

License:Apache License

public Geocoder2Demo() {
    Panel panel = new FlowPanel();
    final FormPanel form = new FormPanel();
    form.setAction("#");
    Panel formElements = new FlowPanel();
    Label label = new Label("Search for an address:");
    formElements.add(label);/* w  w  w  . j av a 2 s . c o  m*/
    final TextBox addressBox = new TextBox();
    addressBox.setVisibleLength(40);
    formElements.add(addressBox);
    Button submit = new Button("Search");
    submit.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            form.submit();
        }
    });
    formElements.add(submit);
    form.add(formElements);
    form.addFormHandler(new FormHandler() {
        public void onSubmit(FormSubmitEvent event) {
            showAddress(addressBox.getText());
            event.setCancelled(true);
        }

        public void onSubmitComplete(FormSubmitCompleteEvent event) {
        }
    });
    panel.add(form);

    map = new MapWidget(LatLng.newInstance(34, 0), 1);
    map.setSize("100%", "480px");
    panel.add(map);

    Grid grid = new Grid((sampleAddresses.length / NUM_ADDRESS_COLUMNS) + 1, NUM_ADDRESS_COLUMNS);

    for (int i = 0; i < sampleAddresses.length; i++) {
        final String address = sampleAddresses[i];
        Button link = new Button(address);
        // Hyperlink link = new Hyperlink(address, true,
        // "Extracting Structured Address Information");
        link.addClickListener(new ClickListener() {
            public void onClick(Widget sender) {
                addressBox.setText(address);
                form.submit();
            }
        });
        grid.setWidget(i / NUM_ADDRESS_COLUMNS, i % NUM_ADDRESS_COLUMNS, link);
    }
    panel.add(grid);

    initWidget(panel);
    geocoder = new Geocoder();
}

From source file:com.google.gwt.maps.sample.hellomaps.client.GeocoderDemo.java

License:Apache License

public GeocoderDemo() {
    Panel panel = new FlowPanel();
    final FormPanel form = new FormPanel();
    form.setAction("#");

    Panel formElements = new FlowPanel();
    final TextBox address = new TextBox();
    address.setVisibleLength(60);/*from w w  w .  ja va 2s. c o  m*/
    address.setText("10 10th Street, Atlanta, GA");
    formElements.add(address);
    formElements.add(buildLatLngPanel());
    this.displayLatLng(ATLANTA);

    Button submit = new Button("Go!");
    submit.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            form.submit();
        }
    });
    formElements.add(submit);
    form.add(formElements);
    form.addFormHandler(new FormHandler() {
        public void onSubmit(FormSubmitEvent event) {
            showAddress(address.getText());
            event.setCancelled(true);
        }

        public void onSubmitComplete(FormSubmitCompleteEvent event) {
        }
    });
    panel.add(form);

    map = new MapWidget(ATLANTA, 13);
    map.setSize("500px", "300px");
    panel.add(map);
    initWidget(panel);
    geocoder = new Geocoder();
}

From source file:com.GTDF.client.GWT_Transxchange2GoogleTransit.java

License:Apache License

public void onModuleLoad() {

    String wikiUserName = readUsername();

    //Service Start
    final TextBox textBoxServiceStartGz = new TextBox();

    TabPanel tabs = new TabPanel();
    tabs.setStyleName(".gwt-TabBar");

    tabs.setWidth("100%");
    tabs.setHeight("100%");

    //-------------------------EDJ ----------------
    DockPanel dock = new DockPanel();
    dock.setSize("663px", "220px");
    dock.setStyleName("gwt-TabBar");
    VerticalPanel TransformWindow = new VerticalPanel();
    TransformWindow.setStyleName("weather-input-panel");

    //Agency URL//from  ww  w.  j  av a  2  s .  c  o m
    HorizontalPanel AgencyURL = new HorizontalPanel();
    Label url_lbl = new Label("Agency URL:");
    url_lbl.setWidth("90");
    final TextBox textBoxUrl = new TextBox();
    textBoxUrl.setText("http://www.agency.org");
    textBoxUrl.setVisibleLength(40);
    AgencyURL.add(url_lbl);
    AgencyURL.add(textBoxUrl);
    //-----------

    //Route Type
    HorizontalPanel RType = new HorizontalPanel();
    Label rt_lbl = new Label("Route Type:");
    rt_lbl.setWidth("90");
    final ListBox listBoxDefaultRouteType = new ListBox();
    listBoxDefaultRouteType.setVisibleItemCount(1);
    listBoxDefaultRouteType.addItem("Tram");
    listBoxDefaultRouteType.addItem("Subway");
    listBoxDefaultRouteType.addItem("Rail");
    listBoxDefaultRouteType.addItem("Bus");
    listBoxDefaultRouteType.addItem("Ferry");
    listBoxDefaultRouteType.addItem("Cable car");
    listBoxDefaultRouteType.addItem("Gondola");
    listBoxDefaultRouteType.addItem("Funicular");
    listBoxDefaultRouteType.setSelectedIndex(0);
    RType.add(rt_lbl);
    RType.add(listBoxDefaultRouteType);
    //-----------

    //Time Zone
    VerticalPanel TZ = new VerticalPanel();
    Label tz_lbl = new Label("Time Zone:");
    tz_lbl.setWidth("90");

    HorizontalPanel Continent = new HorizontalPanel();
    Label continent_lbl = new Label("Continent:");
    continent_lbl.setWidth("90");
    final ListBox listBoxTimezoneP = new ListBox();
    listBoxTimezoneP.addItem("Africa");
    listBoxTimezoneP.addItem("America");
    listBoxTimezoneP.addItem("Antarctica");
    listBoxTimezoneP.addItem("Artic");
    listBoxTimezoneP.addItem("Asia");
    listBoxTimezoneP.addItem("Atlantic");
    listBoxTimezoneP.addItem("Australia");
    listBoxTimezoneP.addItem("Europe");
    listBoxTimezoneP.addItem("Indian");
    listBoxTimezoneP.addItem("Pacific");
    listBoxTimezoneP.setVisibleItemCount(1);
    listBoxTimezoneP.setSelectedIndex(0);

    Continent.add(continent_lbl);
    Continent.add(listBoxTimezoneP);

    HorizontalPanel Region = new HorizontalPanel();
    Label region_lbl = new Label("Region:");
    region_lbl.setWidth("90");
    final ListBox listBoxTimezoneS = new ListBox();
    switchTimezone(listBoxTimezoneS, 0);
    Region.add(region_lbl);
    Region.add(listBoxTimezoneS);

    TZ.add(tz_lbl);
    TZ.add(Continent);
    TZ.add(Region);
    //-----------

    Button dialogButton = new Button("Show Dialog", new ClickListener() {
        public void onClick(Widget sender) {
            //EDJ
            DialogBox dlg = new MyDialog();
            int left = 120;
            int top = 300;
            dlg.setPopupPosition(left, top);
            dlg.show();
        }
    });

    final Label labelOutdir = new Label(); // Displays wikiuser
    final Label labelResultGz = new Label();
    final Label labelResult = new Label();
    final Label labelResultUser = new Label();

    final FormPanel uploadFormGz = new FormPanel();
    uploadFormGz.setAction(GWT.getModuleBaseURL() + "upload");
    uploadFormGz.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadFormGz.setMethod(FormPanel.METHOD_POST);
    //Upload
    final HorizontalPanel uploadPanelGz = new HorizontalPanel();
    Label upload_lbl = new Label("Upload File:");
    upload_lbl.setWidth("90");
    uploadPanelGz.add(upload_lbl);
    //uploadPanelGz.add(upload_tb);
    //uploadPanelGz.add(upload_btn);
    //--------------

    // Add hidden widget to pass user name to FileUploadServlet for verification against wiki user table
    final Hidden hwGz = new Hidden("username", wikiUserName);
    uploadPanelGz.add(hwGz);

    // Add hidden widget to pass service start to FileUploadServlet
    final Hidden ssGz = new Hidden("prefix");
    uploadPanelGz.add(ssGz);

    final FileUpload uploadGz = new FileUpload();
    uploadGz.setName("uploadFormElement");
    uploadPanelGz.add(uploadGz);

    //final VerticalPanel uploadPanelGz = new VerticalPanel();
    uploadFormGz.setWidget(uploadPanelGz);

    /*
     * Add Transxchange2GoogleTransit file upload
     */
    final FormPanel uploadForm = new FormPanel();
    uploadForm.setAction(GWT.getModuleBaseURL() + "upload");
    uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadForm.setMethod(FormPanel.METHOD_POST);
    final VerticalPanel uploadPanel = new VerticalPanel();
    uploadForm.setWidget(uploadPanel);

    // Add hidden widget to pass user name to FileUploadServlet for verification against wiki user table
    final Hidden hw = new Hidden("username", wikiUserName);
    uploadPanel.add(hw);

    final FileUpload upload = new FileUpload();
    upload.setName("uploadFormElement");
    uploadPanel.add(upload);

    /*
    * Verify user and enable action buttons if user exists
    */
    WikiUserServiceAsync wikiUserService = (WikiUserServiceAsync) GWT.create(WikiUserService.class);

    ServiceDefTarget endpoint = (ServiceDefTarget) wikiUserService;
    String moduleRelativeURL = GWT.getModuleBaseURL() + "WikiUser";
    endpoint.setServiceEntryPoint(moduleRelativeURL);

    AsyncCallback callback = new AsyncCallback() {
        public void onSuccess(Object result) {
            Button buttonGz = new Button("Upload", new ClickListener() {
                public void onClick(Widget sender) {
                    // Extract service start and pass as prefix
                    String serviceStart = textBoxServiceStartGz.getText();
                    ssGz.setValue(serviceStart);
                    // Upload selected infile to server
                    uploadFormGz.submit();

                    //EDJ
                    DialogBox dlg = new MyDialog();
                    int left = 120;
                    int top = 300;
                    dlg.setPopupPosition(left, top);
                    dlg.show();
                }
            });
            Button button = new Button("Transform", new ClickListener() {
                public void onClick(Widget sender) {
                    // Upload selected infile to server
                    uploadForm.submit();
                }
            });

            if (result != "LOGGED") {
                button.setEnabled(false);
                buttonGz.setEnabled(false);
                labelResultUser.setText((String) result);
            }
            uploadPanel.add(button);
            uploadPanelGz.add(buttonGz);
        }

        public void onFailure(Throwable caught) {
            try {
                throw caught;
            } catch (InvocationException e) {
                labelResult.setText("InvocationException: " + e.getMessage());
            } catch (Throwable e) {
                labelResult.setText("callback failed: " + e.getMessage());
            }
        }
    };
    wikiUserService.wikiUserVerify(wikiUserName, callback);

    /*
     * Upload google_transit.zip file
     */
    uploadFormGz.addFormHandler(new FormHandler() {
        public void onSubmitComplete(FormSubmitCompleteEvent event) {

            labelResultGz.setText((String) event.getResults());

        }

        public void onSubmit(FormSubmitEvent event) {
            // Upload infile to server
            String inFilename = uploadGz.getFilename();
            if (inFilename.length() == 0) {
                Window.alert("Infile required");
                return;
            }
        }
    });

    /*
     * Upload TransXChange file and call Transxchange2GoogleTransit servlet when "transform" button is pushed
     */
    uploadForm.addFormHandler(new FormHandler() {
        public void onSubmitComplete(FormSubmitCompleteEvent event) {

            labelResult.setText((String) event.getResults());

            // Start transformation
            String parseArgs = upload.getFilename();
            parseArgs = parseArgs + " " + textBoxUrl.getText();
            parseArgs = parseArgs + " " + listBoxTimezoneP.getItemText(listBoxTimezoneP.getSelectedIndex());
            String helpString = listBoxTimezoneS.getItemText(listBoxTimezoneS.getSelectedIndex());
            parseArgs = parseArgs + "/" + helpString.substring(0, helpString.indexOf(' '));
            parseArgs = parseArgs + " " + listBoxDefaultRouteType.getSelectedIndex();
            parseArgs = parseArgs + " " + labelOutdir.getText();

            // call server through GWT asynchronous RPC
            Transxchange2GoogleTransitServiceAsync transxchange2GoogleTransitService = (Transxchange2GoogleTransitServiceAsync) GWT
                    .create(Transxchange2GoogleTransitService.class);

            ServiceDefTarget endpoint = (ServiceDefTarget) transxchange2GoogleTransitService;
            String moduleRelativeURL = GWT.getModuleBaseURL() + "GTDF";
            endpoint.setServiceEntryPoint(moduleRelativeURL);

            AsyncCallback callback = new AsyncCallback() {
                public void onSuccess(Object result) {
                    labelResult.setText((String) result);
                }

                public void onFailure(Throwable caught) {
                    try {
                        throw caught;
                    } catch (InvocationException e) {
                        labelResult.setText("InvocationException: " + e.getMessage());
                    } catch (Throwable e) {
                        labelResult.setText("callback failed: " + e.getMessage());
                    }
                }
            };
            transxchange2GoogleTransitService.transxchange2GoogleTransit_transform(parseArgs, callback);
        }

        public void onSubmit(FormSubmitEvent event) {
            // Upload infile to server
            String inFilename = upload.getFilename();
            if (inFilename.length() == 0) {
                Window.alert("Infile required");
                return;
            }
        }
    });

    /*
     * Add UI elements
     *       Better practice (for future reference): use CSS
     */
    TransformWindow.add(AgencyURL);
    TransformWindow.add(RType);
    TransformWindow.add(TZ);
    TransformWindow.add(uploadPanelGz);
    TransformWindow.add(uploadPanel);
    TransformWindow.add(dialogButton);
    tabs.add(TransformWindow, "TransXChange");
    //tabs.add(TZ, "Transformation2");
    tabs.selectTab(0);
    dock.add(tabs, DockPanel.CENTER);
    RootPanel.get("tab_area").add(dock);

    /*
    RootPanel.get("gz_servicestart").add(textBoxServiceStartGz);    
     RootPanel.get("gz_infile").add(uploadFormGz);    
    RootPanel.get("url").add(textBoxUrl);
    RootPanel.get("timezoneP").add(listBoxTimezoneP);
    RootPanel.get("timezoneS").add(listBoxTimezoneS);
    RootPanel.get("defaultroutetype").add(listBoxDefaultRouteType);
    RootPanel.get("outdir").add(labelOutdir);
    labelOutdir.setText(wikiUserName);
    RootPanel.get("user_result").add(labelResultUser);
    RootPanel.get("gz_result").add(labelResultGz);
    RootPanel.get("result").add(labelResult);
     RootPanel.get("infile").add(uploadForm);    */

    // Primary time zone (Africa, Europe, ...) selected
    listBoxTimezoneP.addChangeListener(new ChangeListener() {
        public void onChange(Widget sender) {
            switchTimezone(listBoxTimezoneS, listBoxTimezoneP.getSelectedIndex());
        }
    });

    //----------------------------------------------------------------------------------------------
    //----------------------------------------EDJ---------------------------------------------------

}