Example usage for com.google.gwt.user.client.ui StackLayoutPanel addSelectionHandler

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

Introduction

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

Prototype

public HandlerRegistration addSelectionHandler(SelectionHandler<Integer> handler) 

Source Link

Usage

From source file:com.mashery.examples.api.client.Examples.java

License:Open Source License

@Override
public void onModuleLoad() {
    DockLayoutPanel mainPanel = new DockLayoutPanel(Unit.PX);
    RootLayoutPanel.get().add(mainPanel);

    DockLayoutPanel headerPanel = new DockLayoutPanel(Unit.PX);
    mainPanel.addNorth(headerPanel, 80d);

    FlexTable rightPanel = new FlexTable();
    headerPanel.addEast(rightPanel, 250d);
    rightPanel.setCellPadding(4);/*w ww. ja  v a  2 s.co  m*/
    rightPanel.setSize("100%", "100%");
    rightPanel.getCellFormatter().setHeight(0, 0, "100%");
    rightPanel.getCellFormatter().setWidth(1, 0, "100%");
    rightPanel.getCellFormatter().setAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT,
            HasVerticalAlignment.ALIGN_TOP);
    ((FlexTable.FlexCellFormatter) rightPanel.getCellFormatter()).setColSpan(0, 0, 2);

    final FlowPanel userPanel = new FlowPanel();
    rightPanel.setWidget(0, 0, userPanel);

    LoginServiceAsync loginSvc = GWT.create(LoginService.class);
    loginSvc.getUserEmail(new AsyncCallback<String>() {

        @Override
        public void onSuccess(final String email) {
            final Anchor loginLink = new Anchor();
            loginLink.setHref(email == null ? "/examples/login" : "/examples/login?logout=true");
            loginLink.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    String callbackURL = Window.Location.createUrlBuilder().buildString();
                    StringBuilder buf = new StringBuilder("/examples/login?callbackURL=");
                    buf.append(URL.encodeQueryString(callbackURL));
                    if (email != null)
                        buf.append("&logout=true");

                    loginLink.setHref(buf.toString());
                }
            });

            if (email == null) {
                loginLink.setHTML("Sign&nbsp;in");
            } else {
                loginLink.setHTML("Sign&nbsp;out");
                userPanel.add(new InlineLabel(email));
                userPanel.add(new InlineHTML("&nbsp;|&nbsp;"));
            }

            userPanel.add(loginLink);
        }

        @Override
        public void onFailure(Throwable caught) {
            userPanel.add(new Label(caught.getLocalizedMessage()));
        }
    });

    mapWidget = new PopupMapWidget();
    rightPanel.setWidget(1, 1, mapWidget);

    Grid logoPanel = new Grid(1, 2);
    logoPanel.setCellSpacing(8);
    logoPanel.getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);
    headerPanel.add(logoPanel);

    Image masheryLogoImg = new Image("resources/img/mashery.gif");
    Anchor masheryLink = new Anchor();
    masheryLink.setTitle("Mashery, Inc.");
    masheryLink.setHref("http://developer.mashery.com");
    masheryLink.getElement().appendChild(masheryLogoImg.getElement());
    logoPanel.setWidget(0, 0, masheryLink);

    InlineLabel logoLabel = new InlineLabel("Mashery Examples");
    logoLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD);
    logoLabel.getElement().getStyle().setFontSize(28d, Unit.PT);
    logoLabel.getElement().getStyle().setColor("#c1080a");
    logoPanel.setWidget(0, 1, logoLabel);

    SplitLayoutPanel centerPanel = new SplitLayoutPanel();
    mainPanel.add(centerPanel);

    final StackLayoutPanel examplesPanel = new StackLayoutPanel(Unit.PX);
    centerPanel.addWest(examplesPanel, 200d);

    contentPanel = new DeckPanel();
    centerPanel.add(contentPanel);
    contentPanel.getElement().getStyle().setPaddingLeft(8d, Unit.PX);
    contentPanel.setAnimationEnabled(true);

    addExample(new Example("quova", "Quova") {
        @Override
        public Widget createContent() {
            return new QuovaExample(mapWidget);
        }
    }, examplesPanel);

    addExample(new Example("etsy", "Etsy") {
        @Override
        public Widget createContent() {
            return new EtsyExample(mapWidget);
        }
    }, examplesPanel);

    addExample(new Example("weatherbug", "WeatherBug") {
        @Override
        public Widget createContent() {
            return new WeatherBugExample(mapWidget);
        }
    }, examplesPanel);

    addExample(new Example("hotwire", "Hotwire") {
        @Override
        public Widget createContent() {
            return new HotwireExample(mapWidget);
        }
    }, examplesPanel);

    addExample(new Example("active", "Active") {
        @Override
        public Widget createContent() {
            return new ActiveExample(mapWidget);
        }
    }, examplesPanel);

    String historyToken = History.getToken();
    Integer index = exampleIndex.get(historyToken);
    if (index == null)
        index = 0;

    examplesPanel.showWidget(index);
    showExample(index);

    examplesPanel.addSelectionHandler(new SelectionHandler<Integer>() {
        @Override
        public void onSelection(SelectionEvent<Integer> event) {
            int index = event.getSelectedItem();
            Example example = examples.get(index);
            if (example != null)
                History.newItem(example.getId());
        }
    });

    History.addValueChangeHandler(new ValueChangeHandler<String>() {
        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            String historyToken = event.getValue();
            Integer index = exampleIndex.get(historyToken);
            if (index != null) {
                examplesPanel.showWidget(index);
                showExample(index);
            }
        }
    });
}

From source file:com.ponysdk.ui.terminal.ui.PTStackLayoutPanel.java

License:Apache License

@Override
public void addHandler(final PTInstruction addHandler, final UIService uiService) {
    final String handlerType = addHandler.getString(HANDLER.KEY);

    if (handlerType.equals(HANDLER.KEY_.SELECTION_HANDLER)) {
        final StackLayoutPanel stackLayoutPanel = uiObject;
        stackLayoutPanel.addSelectionHandler(new SelectionHandler<Integer>() {

            @Override/*w  w  w .  j  ava2 s . c  o  m*/
            public void onSelection(final SelectionEvent<Integer> event) {
                final PTInstruction eventInstruction = new PTInstruction();
                eventInstruction.setObjectID(addHandler.getObjectID());
                eventInstruction.put(TYPE.KEY, TYPE.KEY_.EVENT);
                eventInstruction.put(HANDLER.KEY, HANDLER.KEY_.SELECTION_HANDLER);
                eventInstruction.put(PROPERTY.VALUE, event.getSelectedItem());
                uiService.triggerEvent(eventInstruction);
            }
        });
        return;
    }

    if (handlerType.equals(HANDLER.KEY_.BEFORE_SELECTION_HANDLER)) {
        uiObject.addBeforeSelectionHandler(new BeforeSelectionHandler<Integer>() {

            @Override
            public void onBeforeSelection(final BeforeSelectionEvent<Integer> event) {
                final PTInstruction eventInstruction = new PTInstruction();
                eventInstruction.setObjectID(addHandler.getObjectID());
                eventInstruction.put(TYPE.KEY, TYPE.KEY_.EVENT);
                eventInstruction.put(HANDLER.KEY, HANDLER.KEY_.BEFORE_SELECTION_HANDLER);
                eventInstruction.put(PROPERTY.VALUE, event.getItem());
                uiService.triggerEvent(eventInstruction);
            }
        });
        return;
    }

    super.addHandler(addHandler, uiService);
}