com.appstore.yorknodelays.client.DispatcherPage.java Source code

Java tutorial

Introduction

Here is the source code for com.appstore.yorknodelays.client.DispatcherPage.java

Source

/*******************************************************************************
 * Copyright 2011 Google Inc. All Rights Reserved.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *******************************************************************************/
package com.appstore.yorknodelays.client;

import java.util.Date;

import com.appstore.yorknodelays.shared.Flight;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.event.logical.shared.SelectionHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.i18n.shared.DateTimeFormat;
import com.google.gwt.i18n.shared.DateTimeFormat.PredefinedFormat;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HasValue;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.cell.core.client.form.ComboBoxCell.TriggerAction;
import com.sencha.gxt.core.client.util.DateWrapper;
import com.sencha.gxt.core.client.util.ToggleGroup;
import com.sencha.gxt.data.shared.ListStore;
import com.sencha.gxt.widget.core.client.FramedPanel;
import com.sencha.gxt.widget.core.client.Slider;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.ParseErrorEvent;
import com.sencha.gxt.widget.core.client.event.ParseErrorEvent.ParseErrorHandler;
import com.sencha.gxt.widget.core.client.form.CheckBox;
import com.sencha.gxt.widget.core.client.form.ComboBox;
import com.sencha.gxt.widget.core.client.form.DateField;
import com.sencha.gxt.widget.core.client.form.FieldLabel;
import com.sencha.gxt.widget.core.client.form.FieldSet;
import com.sencha.gxt.widget.core.client.form.NumberField;
import com.sencha.gxt.widget.core.client.form.FormPanel.LabelAlign;
import com.sencha.gxt.widget.core.client.form.NumberPropertyEditor.DoublePropertyEditor;
import com.sencha.gxt.widget.core.client.form.NumberPropertyEditor.IntegerPropertyEditor;
//import com.sencha.gxt.widget.core.client.form.DestinationField;
import com.sencha.gxt.widget.core.client.form.Radio;
import com.sencha.gxt.widget.core.client.form.SpinnerField;
import com.sencha.gxt.widget.core.client.form.TextArea;
import com.sencha.gxt.widget.core.client.form.TextField;
import com.sencha.gxt.widget.core.client.form.TimeField;
import com.sencha.gxt.widget.core.client.form.validator.MinDateValidator;
import com.sencha.gxt.widget.core.client.form.validator.MinLengthValidator;
import com.sencha.gxt.widget.core.client.info.Info;

//List of Flights or Airports
import java.util.ArrayList;
import java.util.List;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.editor.client.Editor.Path;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.web.bindery.autobean.shared.AutoBean;
import com.google.web.bindery.autobean.shared.AutoBeanFactory;
import com.sencha.gxt.core.client.ValueProvider;
import com.sencha.gxt.data.client.editor.ListStoreEditor;
import com.sencha.gxt.data.client.loader.HttpProxy;
import com.sencha.gxt.data.shared.ListStore;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;
import com.sencha.gxt.data.shared.loader.ListLoadResultBean;
import com.sencha.gxt.data.shared.loader.JsonReader;
import com.sencha.gxt.data.shared.loader.ListLoadConfig;
import com.sencha.gxt.data.shared.loader.ListLoadResult;
import com.sencha.gxt.data.shared.loader.ListLoader;
import com.sencha.gxt.data.shared.loader.LoadResultListStoreBinding;
//import com.sencha.gxt.explorer.client.model.Example.Detail;
//import com.sencha.gxt.widget.core.client.FramedPanel;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutPack;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
import com.sencha.gxt.widget.core.client.grid.ColumnConfig;
import com.sencha.gxt.widget.core.client.grid.ColumnModel;
import com.sencha.gxt.widget.core.client.grid.Grid;
import com.sencha.gxt.widget.core.client.grid.editing.GridInlineEditing;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class DispatcherPage implements EntryPoint, IsWidget {

    private static final FlightProperties props = GWT.create(FlightProperties.class);
    private VerticalPanel vp;

    ListStore<Flight> flightStore = new ListStore<Flight>(props.id());
    ListStoreEditor<Flight> flights = new ListStoreEditor<Flight>(flightStore);

    @Override
    public Widget asWidget() {

        FlowPanel container = new FlowPanel();

        FramedPanel panel = new FramedPanel();
        panel.setHeadingText("Airport");
        panel.setWidth(350);
        panel.setBodyStyle("background: none; padding: 5px");

        VerticalLayoutContainer p = new VerticalLayoutContainer();
        panel.add(p);

        /* TextField Origin = new TextField();
         Origin.setAllowBlank(false);
         Origin.setEmptyText("");*/
        /*    Origin.addValueChangeHandler(new ValueChangeHandler<String>() {
              @Override
              public void onValueChange(ValueChangeEvent<String> event) {
                Info.display("Value Changed", "First name changed to " + event.getValue() == null ? "blank" : event.getValue());
              }
            }); */

        //Label
        TextField Origin = new TextField();
        Origin.setReadOnly(true);
        Origin.setEmptyText("");
        TextField Destination = new TextField();
        Origin.setReadOnly(true);
        Origin.setEmptyText("");
        p.add(new FieldLabel(Origin, "Origin:"), new VerticalLayoutData(1, -1));
        p.add(new FieldLabel(Destination, "or Destination:"), new VerticalLayoutData(1, -1));

        Button backButton = new Button("Back");
        panel.addButton(backButton);

        backButton.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                Login loginPage = GWT.create(Login.class);
                vp.clear();
                vp.add(loginPage.asWidget());
            }
        });

        // Search Button

        panel.addButton(new TextButton("Search"));
        container.add(panel);

        List<ColumnConfig<Flight, ?>> columns = new ArrayList<ColumnConfig<Flight, ?>>();
        ColumnConfig<Flight, String> name = new ColumnConfig<Flight, String>(props.flightId(), 200, "Fligt Name");
        columns.add(name);
        ColumnConfig<Flight, String> origin = new ColumnConfig<Flight, String>(props.origin(), 100, "Origin");
        columns.add(origin);
        ColumnConfig<Flight, String> destination = new ColumnConfig<Flight, String>(props.destination(), 100,
                "Destination");
        columns.add(destination);
        ColumnConfig<Flight, String> remarks = new ColumnConfig<Flight, String>(props.remarks(), 100, "Remarks");
        columns.add(remarks);

        Grid<Flight> grid = new Grid<Flight>(flightStore, new ColumnModel<Flight>(columns));
        grid.setBorders(true);

        grid.getView().setForceFit(true);
        GridInlineEditing<Flight> inlineEditor = new GridInlineEditing<Flight>(grid);

        grid.setWidth(382);
        grid.setHeight(200);

        FieldLabel flightContainer = new FieldLabel();
        flightContainer.setText("Flights");
        flightContainer.setLabelAlign(LabelAlign.TOP);
        flightContainer.setWidget(grid);
        container.add(flightContainer);
        return container;
    }

    @Override
    public void onModuleLoad() {
        // TODO Auto-generated method stub

    }
}