Example usage for com.google.gwt.user.client.ui Composite Composite

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

Introduction

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

Prototype

Composite

Source Link

Usage

From source file:com.vaadin.tests.widgetset.client.grid.GridBasicClientFeaturesWidget.java

License:Apache License

@SuppressWarnings("unchecked")
public GridBasicClientFeaturesWidget() {
    super(new Grid<List<Data>>());

    // Initialize data source
    data = createData(ROWS);/*from w  w w . j av a 2 s .c o  m*/

    ds = new ListDataSource<List<Data>>(data);
    grid = getTestedWidget();
    grid.getElement().setId("testComponent");
    grid.setDataSource(ds);
    grid.addSelectAllHandler(ds.getSelectAllHandler());
    grid.setSelectionMode(SelectionMode.NONE);
    grid.setEditorHandler(new TestEditorHandler());

    sorter = new ListSorter<List<Data>>(grid);

    // Create a bunch of grid columns

    // Data source layout:
    // text (String) * (COLUMNS - MANUALLY_FORMATTED_COLUMNS + 1) |
    // rownumber (Integer) | some date (Date) | row number as HTML (String)
    // | random value (Integer)

    int col = 0;

    // Text times COLUMNS - MANUALLY_FORMATTED_COLUMNS
    for (col = 0; col < COLUMNS - MANUALLY_FORMATTED_COLUMNS; ++col) {

        final int c = col;

        Grid.Column<String, List<Data>> column = new Grid.Column<String, List<Data>>(
                createRenderer(Renderers.TEXT_RENDERER)) {
            @Override
            public String getValue(List<Data> row) {
                return (String) row.get(c).value;
            }
        };

        column.setWidth(50 + c * 25);
        column.setHeaderCaption("Header (0," + c + ")");

        grid.addColumn(column);
    }

    // Integer row number
    {
        final int c = col++;
        Grid.Column<Integer, List<Data>> column = new Grid.Column<Integer, List<Data>>(
                createRenderer(Renderers.NUMBER_RENDERER)) {
            @Override
            public Integer getValue(List<Data> row) {
                return (Integer) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Some date
    {
        final int c = col++;
        Grid.Column<Date, List<Data>> column = new Grid.Column<Date, List<Data>>(
                createRenderer(Renderers.DATE_RENDERER)) {
            @Override
            public Date getValue(List<Data> row) {
                return (Date) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Row number as a HTML string
    {
        final int c = col++;
        Grid.Column<String, List<Data>> column = new Grid.Column<String, List<Data>>(
                createRenderer(Renderers.HTML_RENDERER)) {
            @Override
            public String getValue(List<Data> row) {
                return (String) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Random integer value
    {
        final int c = col++;
        Grid.Column<Integer, List<Data>> column = new Grid.Column<Integer, List<Data>>(
                createRenderer(Renderers.NUMBER_RENDERER)) {
            @Override
            public Integer getValue(List<Data> row) {
                return (Integer) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Random integer value between 0 and 5
    {
        final int c = col++;
        Grid.Column<Integer, List<Data>> column = new Grid.Column<Integer, List<Data>>(
                createRenderer(Renderers.NUMBER_RENDERER)) {
            @Override
            public Integer getValue(List<Data> row) {
                return (Integer) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    grid.getColumn(3).setEditable(false);

    HeaderRow row = grid.getDefaultHeaderRow();
    for (int i = 0; i < col; ++i) {
        String caption = "Header (0," + i + ")";
        Grid.Column<?, ?> column = grid.getColumn(i);
        // Lets use some different cell types
        if (i % 3 == 0) {
            // No-op
        } else if (i % 2 == 0) {
            row.getCell(column).setHtml("<b>" + caption + "</b>");
        } else {
            row.getCell(column).setWidget(new HTML(caption));
        }
    }
    ++headerCounter;

    //
    // Populate the menu
    //

    createStateMenu();
    createColumnsMenu();
    createHeaderMenu();
    createFooterMenu();
    createEditorMenu();
    createInternalsMenu();
    createDataSourceMenu();
    createDetailsMenu();
    createSidebarMenu();

    grid.getElement().getStyle().setZIndex(0);

    //
    // Composite wrapping for grid.
    //
    boolean isComposite = Window.Location.getParameter("composite") != null;
    if (isComposite) {
        addNorth(new Composite() {
            {
                initWidget(grid);
            }
        }, 400);
    } else {
        addNorth(grid, 400);
    }

    createKeyHandlers();
}

From source file:com.vaadin.tests.widgetset.client.v7.grid.GridBasicClientFeaturesWidget.java

License:Apache License

@SuppressWarnings("unchecked")
public GridBasicClientFeaturesWidget() {
    super(new Grid<List<Data>>());

    // Initialize data source
    data = createData(ROWS);/*  www  .  j ava  2s.co  m*/

    ds = new ListDataSource<>(data);
    grid = getTestedWidget();
    grid.getElement().setId("testComponent");
    grid.setDataSource(ds);
    grid.addSelectAllHandler(ds.getSelectAllHandler());
    grid.setSelectionMode(SelectionMode.NONE);
    grid.setEditorHandler(new TestEditorHandler());

    sorter = new ListSorter<>(grid);

    // Create a bunch of grid columns

    // Data source layout:
    // text (String) * (COLUMNS - MANUALLY_FORMATTED_COLUMNS + 1) |
    // rownumber (Integer) | some date (Date) | row number as HTML (String)
    // | random value (Integer)

    int col = 0;

    // Text times COLUMNS - MANUALLY_FORMATTED_COLUMNS
    for (col = 0; col < COLUMNS - MANUALLY_FORMATTED_COLUMNS; ++col) {

        final int c = col;

        Grid.Column<String, List<Data>> column = new Grid.Column<String, List<Data>>(
                createRenderer(Renderers.TEXT_RENDERER)) {
            @Override
            public String getValue(List<Data> row) {
                return (String) row.get(c).value;
            }
        };

        column.setWidth(50 + c * 25);
        column.setHeaderCaption("Header (0," + c + ")");

        grid.addColumn(column);
    }

    // Integer row number
    {
        final int c = col++;
        Grid.Column<Integer, List<Data>> column = new Grid.Column<Integer, List<Data>>(
                createRenderer(Renderers.NUMBER_RENDERER)) {
            @Override
            public Integer getValue(List<Data> row) {
                return (Integer) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Some date
    {
        final int c = col++;
        Grid.Column<Date, List<Data>> column = new Grid.Column<Date, List<Data>>(
                createRenderer(Renderers.DATE_RENDERER)) {
            @Override
            public Date getValue(List<Data> row) {
                return (Date) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Row number as a HTML string
    {
        final int c = col++;
        Grid.Column<String, List<Data>> column = new Grid.Column<String, List<Data>>(
                createRenderer(Renderers.HTML_RENDERER)) {
            @Override
            public String getValue(List<Data> row) {
                return (String) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Random integer value
    {
        final int c = col++;
        Grid.Column<Integer, List<Data>> column = new Grid.Column<Integer, List<Data>>(
                createRenderer(Renderers.NUMBER_RENDERER)) {
            @Override
            public Integer getValue(List<Data> row) {
                return (Integer) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    // Random integer value between 0 and 5
    {
        final int c = col++;
        Grid.Column<Integer, List<Data>> column = new Grid.Column<Integer, List<Data>>(
                createRenderer(Renderers.NUMBER_RENDERER)) {
            @Override
            public Integer getValue(List<Data> row) {
                return (Integer) row.get(c).value;
            }
        };
        grid.addColumn(column);
        column.setHeaderCaption("Header (0," + c + ")");
    }

    grid.getColumn(3).setEditable(false);

    HeaderRow row = grid.getDefaultHeaderRow();
    for (int i = 0; i < col; ++i) {
        String caption = "Header (0," + i + ")";
        Grid.Column<?, ?> column = grid.getColumn(i);
        // Lets use some different cell types
        if (i % 3 == 0) {
            // No-op
        } else if (i % 2 == 0) {
            row.getCell(column).setHtml("<b>" + caption + "</b>");
        } else {
            row.getCell(column).setWidget(new HTML(caption));
        }
    }
    ++headerCounter;

    //
    // Populate the menu
    //

    createStateMenu();
    createColumnsMenu();
    createHeaderMenu();
    createFooterMenu();
    createEditorMenu();
    createInternalsMenu();
    createDataSourceMenu();
    createDetailsMenu();
    createSidebarMenu();

    grid.getElement().getStyle().setZIndex(0);

    //
    // Composite wrapping for grid.
    //
    boolean isComposite = Window.Location.getParameter("composite") != null;
    if (isComposite) {
        addNorth(new Composite() {
            {
                initWidget(grid);
            }
        }, 400);
    } else {
        addNorth(grid, 400);
    }

    createKeyHandlers();
}

From source file:com.xemantic.tadedon.gwt.user.client.ui.OneWidgetDeckPanel.java

License:Apache License

private void addWidget(final Widget widget) {
    // wrap widget in composite with lifecycle controlled by setVisible method
    m_panel.add(new Composite() {
        {//  w ww.j  a  v a  2s . c o m
            initWidget(widget);
        }

        @Override
        public void setVisible(boolean visible) {
            if (!visible) {
                if (!added) { // first invocation, see DeckPanel#finishWidgetInitialization()
                    added = true;
                } else { // last invocation
                    m_panel.remove(this);
                }
            }
            super.setVisible(visible);
        }

        boolean added = false;
    });
}

From source file:javawars.client.pages.LeaguePage.java

License:Open Source License

public LeaguePage(final League league, Leagues leagues) {
    super(league.getName());
    this.league = league;
    this.leagues = leagues;

    final Button subscribeButton = new Button("zapisz si");

    final AsyncCallback subscriptionResult = new AsyncCallback() {
        public void onFailure(Throwable throwable) {
            subscribeButton.setEnabled(true);
            if (throwable instanceof AuthenticationException) {
                Window.alert(/*from w  ww  .  ja  va2  s . co  m*/
                        "Brak moliwoci zapisania si do ligi - sprawd wymagan liczb punktw i wolne miejsca");
            } else {
                Window.alert("Wystpi nieznany bd.");
            }
        }

        public void onSuccess(Object arg0) {
            subscribeButton.setEnabled(true);
            History.newItem("Leagues");
        }
    };

    subscribeButton.addClickListener(new ClickListener() {
        public void onClick(Widget arg0) {
            subscribeButton.setEnabled(false);
            DataProvider.getInstance().getService().subscribeToLeague(league.getName(), subscriptionResult);
        }
    });

    final Button unsubscribeButton = new Button("wypisz mnie z tej ligi");

    final AsyncCallback unsubscriptionResult = new AsyncCallback() {
        public void onFailure(Throwable throwable) {
            unsubscribeButton.setEnabled(true);
            Window.alert("Wystpi nieznany bd.");
        }

        public void onSuccess(Object arg0) {
            unsubscribeButton.setEnabled(true);
            History.newItem("Leagues");
        }
    };

    unsubscribeButton.addClickListener(new ClickListener() {
        public void onClick(Widget arg0) {
            unsubscribeButton.setEnabled(false);
            DataProvider.getInstance().getService().unsubscribeFromLeague(unsubscriptionResult);
        }
    });
    tableComposite = new Composite() {
        private VerticalPanel mainPanel = new VerticalPanel();
        {
            mainPanel.add(new HTML("<h2>Tabela punktacji dla ligi " + league.getName() + ":"));

            if (league.getUsers().isEmpty() == true) {
                mainPanel.add(new Label("Nie ma uytkownikw zapisanych do tej ligi."));
            } else {
                FlexTable table = new FlexTable();
                SpacerFactory.adjustFlexTable(table, 10, 150, 10, 150, 10, 150, 10, 150);
                table.setText(1, 1, "Uytkownik:");
                table.setText(1, 3, "Punkty w tej lidze:");
                table.setText(1, 5, "Wszystkie punkty:");
                table.setText(1, 7, "Aktualny robot:");

                User[] users = league.getUsers().toArray(new User[] {});

                // sorting the table 
                for (int a = 0; a < users.length; a++) {
                    for (int b = a; b < users.length; b++) {
                        if (a != b && (users[a].getScore() - users[a].getStartScore()) < (users[b].getScore()
                                - users[b].getStartScore())) {
                            User c = users[a];
                            users[a] = users[b];
                            users[b] = c;
                        }
                    }
                }

                for (int counter = 0; counter < users.length; counter++) {
                    table.setText(2 + counter, 0, "" + (counter + 1) + ".");
                    table.setText(2 + counter, 1, users[counter].getLogin());
                    table.setText(2 + counter, 3,
                            "" + (users[counter].getScore() - users[counter].getStartScore()));
                    table.setText(2 + counter, 5, "" + (users[counter].getScore()));
                    table.setText(2 + counter, 7, "" + users[counter].getSelectedRobot());
                }

                mainPanel.add(table);
            }

            mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20));
            AsyncCallback<SessionConstants> addButton = new AsyncCallback<SessionConstants>() {

                public void onFailure(Throwable arg0) {

                }

                public void onSuccess(SessionConstants sessionConstants) {
                    for (User u : league.getUsers()) {
                        if (u.getLogin().equals(sessionConstants.getCurrentuser().getLogin())) {
                            // user already in the league; no need
                            // to display the subscribe button.
                            mainPanel.add(unsubscribeButton);
                            return;
                        }
                    }
                    mainPanel.add(subscribeButton);
                }

            };

            if (league.getUsers().isEmpty() == true) {
                mainPanel.add(subscribeButton);
            } else {
                DataProvider.getInstance().getSessionConstants(addButton);
            }

            initWidget(mainPanel);
        }
    };

    aboutComposite = new Composite() {
        private VerticalPanel mainPanel = new VerticalPanel();
        {
            mainPanel.add(new HTML("<h2>Liga " + league.getName() + ":"));
            mainPanel.add(new Label(league.getDescription()));
            mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20));

            FlexTable table = new FlexTable();
            SpacerFactory.adjustFlexTable(table, 150, 10, 50, 10, 150, 10, 50, 10, 150);
            table.setText(1, 0, "Trawa:");
            table.setText(1, 2, league.getGrasslandPercentage() + "%");
            table.setText(1, 4, "Wzniesienia:");
            table.setText(1, 6, league.getHillsPercentage() + "%");
            table.setText(1, 8, "Gry:");
            table.setText(1, 10, league.getMountainsPercentage() + "%");
            table.setWidget(2, 0, SpacerFactory.getHTMLSpacer(10, 10));
            table.setText(3, 0, "Uycie ognia (akcja 'strza'):");
            table.setText(3, 2, league.getShootingAllowed() ? "TAK" : "NIE");
            table.setWidget(4, 0, SpacerFactory.getHTMLSpacer(10, 10));
            table.setText(5, 0, "Minimalna liczba punktw:");
            table.setText(5, 2, "" + league.getMinScore());
            table.setText(6, 0, "Mnonik otrzymywanych punktw:");
            table.setText(6, 2, "x" + league.getScoreMultiplier());

            mainPanel.add(table);
            initWidget(mainPanel);
        }
    };

    matchesComposite = new Composite() {
        private final List<MatchReport> matches = new ArrayList<MatchReport>();
        private VerticalPanel mainPanel = new VerticalPanel();
        {

            AsyncCallback<List<MatchReport>> processMatches = new AsyncCallback<List<MatchReport>>() {

                public void onFailure(Throwable arg0) {
                    Window.alert("Wystpi bd.");
                }

                public void onSuccess(final List<MatchReport> matchReports) {
                    mainPanel.clear();
                    mainPanel.add(new HTML("<h3>Ostatnie dziesi pojedynkw: </h3>"));
                    mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20));
                    final ListBox matchesListBox = new ListBox();

                    matchesListBox.setVisibleItemCount(5);
                    for (MatchReport m : matchReports) {
                        matchesListBox.addItem(DateFormatter.extractDateAndHour(m.getDate()));
                    }

                    mainPanel.add(matchesListBox);
                    mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20));

                    final VerticalPanel viewerPanel = new VerticalPanel();

                    final Button showMatch = new Button("wywietl");
                    showMatch.addClickListener(new ClickListener() {

                        public void onClick(Widget arg0) {
                            if (matchesListBox.getSelectedIndex() == -1)
                                Window.alert("nie wybrano pojedynku");
                            showMatch.setEnabled(false);
                            showMatch.setText("prosz czeka...");
                            viewerPanel.clear();
                            // viewerPanel.add(new Label("Prosz czeka"));
                            MatchViewer mv = new MatchViewerFast();
                            viewerPanel.add(mv);
                            mv.show(matchReports.get(matchesListBox.getSelectedIndex()).getXmlDescription());
                            //viewerPanel.getWidget(0).removeFromParent();
                            showMatch.setText("wywietl");
                            showMatch.setEnabled(true);
                        }

                    });

                    mainPanel.add(showMatch);
                    mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20));
                    mainPanel.add(viewerPanel);

                }

            };

            mainPanel.add(new Label("prosz czeka..."));

            DataProvider.getInstance().getService().fetchLeagueMatchReports(league.getName(), processMatches);

            initWidget(mainPanel);
        }
    };

    this.addChild(new LeagueTable());
    this.addChild(new LeagueDetails());
    this.addChild(new LeagueMatches());

}

From source file:javawars.client.pages.RobotPage.java

License:Open Source License

RobotPage(final Robot robot, final Workshop workshop) {
    super(robot.getName());
    this.robot = robot;
    this.workshop = workshop;

    /**/*from   ww w . ja  v a2 s .c  o  m*/
     * The robot label - displayed in a side menu.
     */
    robotLabel = new Composite() {

        private VerticalPanel mainPanel = new VerticalPanel();

        {
            FlexTable table = new FlexTable();

            table.setWidget(0, 0, SpacerFactory.getHTMLSpacer(100, 0));
            table.setWidget(0, 1, SpacerFactory.getHTMLSpacer(100, 0));
            Label robotName = new Label(robot.getName());
            robotName.setStyleName("RobotName");
            table.setWidget(1, 0, robotName);
            table.setText(1, 1, "" + robot.getScore());
            table.setText(2, 0, "" + DateFormatter.extractDate(robot.getCreationDate()));
            table.setText(2, 1, "" + DateFormatter.extractDate(robot.getModificationDate()));

            mainPanel.add(table);
            table.setStyleName("Table");
            mainPanel.setStyleName("RobotLabel");
            initWidget(mainPanel);
        }
    };

    /**
     * Content of the statistics subpage
     */
    statisticsContent = new Composite() {

        private VerticalPanel mainPanel = new VerticalPanel();

        {

            mainPanel.add(new HTML("<h2>" + robot.getName() + "</h2>"));

            final FlexTable table = new FlexTable();
            SpacerFactory.adjustFlexTable(table, 120, 50, 50, 120, 50, 50);
            table.setText(1, 0, "Data utworzenia:");
            table.setText(1, 1, "" + DateFormatter.extractDateAndHour(robot.getCreationDate()));
            table.setText(1, 3, "Ostatnia modyfikacja: ");
            table.setText(1, 4, "" + DateFormatter.extractDateAndHour(robot.getModificationDate()));
            table.setText(2, 0, "Punkty: ");
            table.setText(2, 1, "" + robot.getScore());

            // temporary commenting out - the 'choose' button doesn't get back 
            // when another robot is chosen as a representant
            //if (robot.isRepresentant() == false) {
            table.setWidget(3, 0, SpacerFactory.getHTMLSpacer(1, 15));

            table.setText(4, 0, "Ustaw jako reprezentanta:");

            final Button representButton = new Button("reprezentant");
            table.setWidget(4, 1, representButton);

            final AsyncCallback representCallback = new AsyncCallback() {

                public void onFailure(Throwable arg0) {
                    representButton.setEnabled(true);
                }

                public void onSuccess(Object arg0) {
                    representButton.setEnabled(true);
                }
            };
            representButton.addClickListener(new ClickListener() {

                public void onClick(Widget arg0) {
                    representButton.setEnabled(false);
                    DataProvider.getInstance().getService().selectAsRepresentant(robot.getName(),
                            representCallback);
                }
            });

            //  }

            table.setWidget(5, 0, SpacerFactory.getHTMLSpacer(1, 15));

            table.setText(6, 0, "Usu robota:  ");

            final Button deleteButton = new Button("usu");
            table.setWidget(6, 1, deleteButton);

            final AsyncCallback deleteCallback = new AsyncCallback() {

                public void onFailure(Throwable arg0) {
                    Window.alert("Wystpi nieznany bd.");
                    deleteButton.setEnabled(true);
                }

                public void onSuccess(Object arg0) {
                    History.newItem("Workshop");
                    workshop.removeChildPage(getUrl());
                    deleteButton.setEnabled(true);
                }
            };
            deleteButton.addClickListener(new ClickListener() {

                public void onClick(Widget arg0) {
                    deleteButton.setEnabled(false);
                    DataProvider.getInstance().getService().deleteRobot(robot.getName(), deleteCallback);
                }
            });

            mainPanel.add(table);
            initWidget(mainPanel);
        }
    };

    /**
     * The composite which will be used as a content in the Edit subpage
     */
    editContent = new Composite() {

        private final HTML codeTextArea;
        private VerticalPanel mainPanel = new VerticalPanel();

        {

            codeTextArea = new HTML("<textarea id='codeTextArea' " + "class='codepress java' "
                    + "style='width: " + Math.max(300, Window.getClientWidth() - 250) + "px; " + "height: "
                    + Math.max(300, Window.getClientHeight() - 300) + "px; '" + ">" + robot.getCode()
                    + "</textarea>");

            mainPanel.add(codeTextArea);

            final FlowPanel editors = new FlowPanel();

            CheckBox useVi = new CheckBox("Edytor VI  ", false);
            useVi.addClickListener(new ClickListener() {

                private boolean enabled = false;

                public void onClick(Widget arg0) {
                    if (enabled == false) {
                        enabled = true;
                        DOM.getElementById("codeTextArea").setAttribute("onfocus", "editor(this);");
                    } else {
                        enabled = false;
                        DOM.getElementById("codeTextArea").setAttribute("onfocus", ";");
                    }
                }
            });
            editors.add(useVi);
            // editors.add(SpacerFactory.getHTMLSpacer(20, 20));

            final Button launchCodepress = new Button("Edytor CodePress");
            launchCodepress.addClickListener(new ClickListener() {

                public void onClick(Widget arg0) {
                    editors.setVisible(false);
                    initializeCodePress();
                }
            });

            editors.add(launchCodepress);
            mainPanel.add(editors);

            final Button save = new Button("Zapisz");
            final HTML compilerOutput = new HTML();

            final AsyncCallback<String> processOutput = new AsyncCallback<String>() {

                String startingCode;

                {
                    startingCode = robot.getCode();
                }

                public void onFailure(Throwable arg0) {
                    compilerOutput.setText("Bd poczenia z serwerem!");
                    save.setEnabled(true);
                }

                public void onSuccess(String output) {
                    compilerOutput.setHTML("<pre>" + output + "</pre>");
                    robot.setCode(startingCode);
                    save.setEnabled(true);
                }
            };

            save.addClickListener(new ClickListener() {

                public native String getRobotCode() /*-{
                                                    return $wnd.codeTextArea.getCode();
                                                    }-*/;

                public native String storeRobotCode() /*-{
                                                      return $doc.getElementById("codeTextArea_cp").value = $wnd.codeTextArea.getCode()
                                                      }-*/;

                public void onClick(Widget arg0) {
                    save.setEnabled(false);
                    if (editors.isVisible()) {
                        DataProvider.getInstance().getService().updateRobotCode(robot.getName(),
                                DOM.getElementById("codeTextArea").getPropertyString("value"), processOutput);
                    } else {
                        storeRobotCode();
                        DataProvider.getInstance().getService().updateRobotCode(robot.getName(), getRobotCode(),
                                processOutput);
                    }
                }
            });

            mainPanel.add(save);
            mainPanel.add(compilerOutput);

            initWidget(mainPanel);
        }
        boolean initialized = false;

        @Override
        protected void onLoad() {
            ;
        }

        public native void initializeCodePress() /*-{
                                                 $wnd.CodePress.run();
                                                 }-*/;
    };

    // content of the test subpage...

    testContent = new Composite() {

        private final ListBox robotList = new ListBox(true);
        private final VerticalPanel mainPanel = new VerticalPanel();
        private final VerticalPanel matchViewerPanel = new VerticalPanel();
        private final ListBox leaguesList = new ListBox();

        {
            HTML testHeadline = new HTML("<h2>Testuj:</h2>");
            Label testDescription = new Label("Wybierz z listy roboty, ktre "
                    + "chcesz przetestowa na jednej planszy; Ctrl+klik - zaznaczenie wicej ni jednego robota. "
                    + "Po dokonaniu wyboru nacini przycisk.");
            mainPanel.add(testHeadline);
            mainPanel.add(testDescription);
            mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10));
            mainPanel.add(robotList);

            mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10));
            HTML leagueHeadline = new HTML("<h3>Liga:</h3>");
            Label leagueDescription = new Label("Wybierz w jakiej lidze chcesz dokona testu:");

            mainPanel.add(leagueHeadline);
            mainPanel.add(leagueDescription);
            mainPanel.add(leaguesList);
            mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10));

            final Button testButton = new Button("Testuj");

            final AsyncCallback<MatchReport> testCallback = new AsyncCallback<MatchReport>() {

                public void onFailure(Throwable arg0) {
                    Window.alert(("Wystpi nieznany bd."));
                    testButton.setEnabled(true);
                }

                public void onSuccess(MatchReport matchReport) {
                    try {
                        matchViewerPanel.clear();
                        MatchViewer matchViewer = new MatchViewerFast();
                        matchViewerPanel.add(matchViewer);
                        matchViewer.show(matchReport.getXmlDescription());
                        testButton.setEnabled(true);
                    } catch (Exception exception) {
                        Window.alert("Wystpi nieznany bd podczas wywietlania przebiegu pojedynku!");
                    }
                }
            };

            testButton.addClickListener(new ClickListener() {

                public void onClick(Widget arg0) {
                    if (robotList.getSelectedIndex() == -1) {
                        Window.alert("Prosz wybra przynajmniej jednego robota");
                        return;
                    }
                    testButton.setEnabled(false);

                    // adding all the selected items of the listbox to one list
                    List<String> robotNames = new LinkedList<String>();
                    int counter = 0;
                    while (counter < robotList.getItemCount()) {
                        if (robotList.isItemSelected(counter) == true) {
                            robotNames.add(robotList.getItemText(counter));
                        }
                        counter++;
                    }

                    // invoking the method on server
                    DataProvider.getInstance().getService().testRobots(leaguesList.getSelectedIndex(),
                            robotNames, testCallback);
                }
            });

            mainPanel.add(SpacerFactory.getHTMLSpacer(10, 10));
            mainPanel.add(testButton);
            mainPanel.add(matchViewerPanel);
            initWidget(mainPanel);
        } // a boolean that provides us a lock for the listbox
        boolean robotListLocked = false;
        boolean leaguesListLocked = false;

        /**
         * Refreshes the content of the listBox;
         */
        private void populateRobotListBox(List<Robot> list) {
            // if the list is locked, it means there already is an update 
            // in progress; we don't need to update it after such a short
            // time, so we quit updating completely.
            if (robotListLocked == false) {
                robotListLocked = true;
                robotList.clear();
                for (Robot r : list) {
                    robotList.addItem(r.getName());
                }
                robotListLocked = false;
            }
        }

        /**
         * Refreshes the content of the leaguesListBox;
         */
        private void populateLeaguesListBox(List<League> list) {
            // if the list is locked, it means there already is an update 
            // in progress; we don't need to update it after such a short
            // time, so we quit updating completely.
            if (leaguesListLocked == false) {
                leaguesListLocked = true;
                leaguesList.clear();
                for (League l : list) {
                    leaguesList.addItem(l.getName());
                }
                leaguesListLocked = false;
            }
        }

        private final AsyncCallback<List<League>> processLeagueCallback = new AsyncCallback<List<League>>() {

            public void onFailure(Throwable exception) {
                Window.alert("Error, couldn't update leagues list.");
            }

            public void onSuccess(List<League> list) {
                populateLeaguesListBox(list);
            }

        };

        @Override
        protected void onLoad() {
            populateRobotListBox(workshop.getRobotList());
            DataProvider.getInstance().getService().getLeagues(processLeagueCallback);
        }
    };

    // matchesContent

    matchesContent = new Composite() {

        private final List<MatchReport> matches = new ArrayList<MatchReport>();
        private VerticalPanel mainPanel = new VerticalPanel();

        {

            AsyncCallback<List<MatchReport>> processMatches = new AsyncCallback<List<MatchReport>>() {

                public void onFailure(Throwable arg0) {
                    Window.alert("Wystpi bd.");
                }

                public void onSuccess(final List<MatchReport> matchReports) {
                    mainPanel.clear();
                    mainPanel.add(new HTML("<h3>Ostatnie dziesi pojedynkw: </h3>"));
                    mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20));
                    final ListBox matchesListBox = new ListBox();

                    matchesListBox.setVisibleItemCount(5);
                    for (MatchReport m : matchReports) {
                        matchesListBox.addItem(DateFormatter.extractDateAndHour(m.getDate()));
                    }

                    mainPanel.add(matchesListBox);
                    mainPanel.add(SpacerFactory.getHTMLSpacer(20, 20));

                    final VerticalPanel viewerPanel = new VerticalPanel();
                    mainPanel.add(viewerPanel);

                    matchesListBox.addClickListener(new ClickListener() {

                        public void onClick(Widget arg0) {
                            matchesListBox.setEnabled(false);
                            viewerPanel.clear();
                            viewerPanel.add(new Label("Prosz czeka"));
                            MatchViewer mv = new MatchViewerFast();
                            viewerPanel.add(mv);
                            mv.show(matchReports.get(matchesListBox.getSelectedIndex()).getXmlDescription());
                            viewerPanel.getWidget(0).removeFromParent();
                            matchesListBox.setEnabled(true);
                        }
                    });

                }
            };

            mainPanel.add(new Label("prosz czeka..."));

            DataProvider.getInstance().getService().fetchRobotMatchReports(robot.getName(), processMatches);

            initWidget(mainPanel);
        }
    };

    // adding the subpages...
    addChild(new Statistics());
    addChild(new Edit());
    addChild(new Test());
    addChild(new MatchReports());

}

From source file:org.jboss.errai.workspaces.client.widgets.WSLoginPanel.java

License:Apache License

public WSLoginPanel() {
    this.widget = new Composite() {
        {// w w  w.  ja  v  a2  s .c  o  m
            VerticalPanel mainPanel = new VerticalPanel();
            HorizontalPanel login = new HorizontalPanel();
            HorizontalPanel password = new HorizontalPanel();
            HorizontalPanel buttons = new HorizontalPanel();

            mainPanel.add(login);
            mainPanel.add(password);
            mainPanel.add(buttons);

            Label userNameLabel = new Label("User:");
            Label passwordLabel = new Label("Password:");

            userNameInput = new TextBox();
            passwordInput = new PasswordTextBox();

            login.add(userNameLabel);
            login.add(userNameInput);
            login.setWidth("100%");
            login.setCellHorizontalAlignment(userNameInput, HasAlignment.ALIGN_RIGHT);
            password.add(passwordLabel);

            password.add(passwordInput);
            password.setWidth("100%");
            password.setCellHorizontalAlignment(passwordInput, HasAlignment.ALIGN_RIGHT);

            loginButton = new Button("Login");
            buttons.add(loginButton);
            buttons.setWidth("100%");
            buttons.setCellHorizontalAlignment(loginButton, HasAlignment.ALIGN_RIGHT);

            // clickhandler comes form presenter

            KeyDownHandler formSubmit = new KeyDownHandler() {
                public void onKeyDown(KeyDownEvent event) {
                    if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                        loginButton.click();
                    }
                }
            };

            userNameInput.addKeyDownHandler(formSubmit);
            passwordInput.addKeyDownHandler(formSubmit);

            initWidget(mainPanel);
        }
    };
}