Example usage for com.google.gwt.user.client.ui DockLayoutPanel setWidgetSize

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

Introduction

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

Prototype

public void setWidgetSize(Widget widget, double size) 

Source Link

Document

Updates the size of the widget passed in as long as it is not the center widget and updates the layout of the dock.

Usage

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

License:Open Source License

@UiHandler("splitter")
void handleSplitterClick(ClickEvent e) {
    directoryHidden = !directoryHidden;//  w  w  w  .  j  av  a 2 s.  com
    DockLayoutPanel parent = (DockLayoutPanel) this.getWidget();
    if (directoryHidden) {
        parent.setWidgetSize(directory, 0);
        splitter.removeStyleName(shellStyle.left());
        splitter.addStyleName(shellStyle.right());
    } else {
        parent.setWidgetSize(directory, DIRECTORY_WIDTH);
        splitter.removeStyleName(shellStyle.right());
        splitter.addStyleName(shellStyle.left());
    }
    parent.animate(ANIMATE_DURATION);
}

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

License:Open Source License

@Override
public void showDetail(int width) {
    DockLayoutPanel parent = (DockLayoutPanel) this.getWidget();
    parent.setWidgetSize(detail, width);
}

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

License:Open Source License

@Override
public void hideDetail() {
    LOG.log(Level.INFO, "Hiding detail pane.");
    DockLayoutPanel parent = (DockLayoutPanel) this.getWidget();
    parent.setWidgetSize(detail, 0);
}

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

License:Open Source License

@Override
public void showLogConsole() {
    DockLayoutPanel parent = (DockLayoutPanel) this.getWidget();
    parent.setWidgetSize(this.log, LOG_HEIGHT);
    parent.animate(ANIMATE_DURATION);//from  w w  w .  j  a va  2 s  .  c o m
}

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

License:Open Source License

@Override
public void hideLogConsole() {
    DockLayoutPanel parent = (DockLayoutPanel) this.getWidget();
    parent.setWidgetSize(this.log, 0);
    parent.animate(ANIMATE_DURATION);//ww w  .  ja v  a 2 s .  c  om
}

From source file:org.iplantc.phyloviewer.viewer.client.Phyloviewer.java

License:Creative Commons License

/**
 * This is the entry point method.//from w w  w  . j  a  v  a  2  s.  co m
 */
public void onModuleLoad() {

    widget = new TreeWidget(searchService, eventBus);

    Style highlight = new Style("highlight");
    highlight.setNodeStyle(new NodeStyle("#C2C2F5", Double.NaN, null));
    highlight.setLabelStyle(new LabelStyle(null));
    highlight.setGlyphStyle(new GlyphStyle(null, "#C2C2F5", Double.NaN));
    highlight.setBranchStyle(new BranchStyle("#C2C2F5", Double.NaN));

    RenderPreferences rp = new RenderPreferences();
    rp.setHighlightStyle(highlight);
    widget.setRenderPreferences(rp);

    MenuBar fileMenu = new MenuBar(true);
    fileMenu.addItem("Open...", new Command() {

        @Override
        public void execute() {
            Phyloviewer.this.displayTrees();
        }

    });

    Command openURL = new Command() {
        @Override
        public void execute() {
            Window.open(widget.exportImageURL(), "_blank", "");
        }
    };

    fileMenu.addItem("Get image (opens in a popup window)", openURL);

    Command showSVG = new Command() {
        @Override
        public void execute() {
            String svg = getSVG();
            String url = "data:image/svg+xml;charset=utf-8," + svg;
            Window.open(url, "_blank", "");
        }
    };
    fileMenu.addItem("Export to SVG", showSVG);

    MenuBar layoutMenu = new MenuBar(true);
    layoutMenu.addItem("Rectangular Cladogram", new Command() {
        @Override
        public void execute() {
            ITree tree = widget.getDocument().getTree();
            byte[] treeID = ((RemoteTree) tree).getHash();
            widget.setDocument(null);
            widget.setViewType(TreeWidget.ViewType.VIEW_TYPE_CLADOGRAM);
            layoutType = "LAYOUT_TYPE_CLADOGRAM";

            loadTree(null, treeID, layoutType);
        }
    });
    layoutMenu.addItem("Rectangular Phylogram", new Command() {
        @Override
        public void execute() {
            ITree tree = widget.getDocument().getTree();
            byte[] treeID = ((RemoteTree) tree).getHash();
            widget.setDocument(null);
            widget.setViewType(TreeWidget.ViewType.VIEW_TYPE_CLADOGRAM);
            layoutType = "LAYOUT_TYPE_PHYLOGRAM";

            loadTree(null, treeID, layoutType);
        }
    });
    layoutMenu.addItem("Circular", new Command() {
        @Override
        public void execute() {
            ITree tree = widget.getDocument().getTree();
            byte[] treeID = ((RemoteTree) tree).getHash();
            widget.setDocument(null);
            widget.setViewType(TreeWidget.ViewType.VIEW_TYPE_RADIAL);
            layoutType = "LAYOUT_TYPE_CLADOGRAM";

            loadTree(null, treeID, layoutType);
        }
    });

    MenuBar styleMenu = new MenuBar(true);
    final TextInputPopup styleTextPopup = new TextInputPopup();
    styleTextPopup.addValueChangeHandler(new ValueChangeHandler<String>() {
        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            String style = event.getValue();

            try {
                IStyleMap styleMap = StyleServiceClient.parseJSON(style);
                widget.getDocument().setStyleMap(styleMap);
                widget.render();
            } catch (StyleServiceException e) {
                Window.alert(
                        "Unable to parse style document. See https://pods.iplantcollaborative.org/wiki/display/iptol/Using+Phyloviewer+GWT+client+library#UsingPhyloviewerGWTclientlibrary-Addingstylingmarkuptoviewer for help.");
            }
        }
    });

    styleTextPopup.setModal(true);

    styleMenu.addItem("Import Tree Styling", new Command() {
        @Override
        public void execute() {
            styleTextPopup.setPopupPositionAndShow(new PopupPanel.PositionCallback() {
                @Override
                public void setPosition(int offsetWidth, int offsetHeight) {
                    int left = (Window.getClientWidth() - offsetWidth) / 3;
                    int top = (Window.getClientHeight() - offsetHeight) / 3;
                    styleTextPopup.setPopupPosition(left, top);
                }
            });
        }
    });

    // Make a search box
    final SuggestBox searchBox = new SuggestBox(searchService);
    searchBox.setLimit(10); // TODO make scrollable?
    searchBox.addSelectionHandler(new SelectionHandler<Suggestion>() {
        @Override
        public void onSelection(SelectionEvent<Suggestion> event) {
            Box2D box = ((RemoteNodeSuggestion) event.getSelectedItem()).getResult().layout.boundingBox;
            widget.show(box);
        }
    });

    // create some styling widgets for the context menu
    NodeStyleWidget nodeStyleWidget = new NodeStyleWidget(widget.getDocument());
    BranchStyleWidget branchStyleWidget = new BranchStyleWidget(widget.getDocument());
    GlyphStyleWidget glyphStyleWidget = new GlyphStyleWidget(widget.getDocument());
    LabelStyleWidget labelStyleWidget = new LabelStyleWidget(widget.getDocument());

    // replace their default TextBoxes with ColorBoxes, which jscolor.js will add a color picker to
    nodeStyleWidget.setColorWidget(createColorBox());
    branchStyleWidget.setStrokeColorWidget(createColorBox());
    glyphStyleWidget.setStrokeColorWidget(createColorBox());
    glyphStyleWidget.setFillColorWidget(createColorBox());
    labelStyleWidget.setColorWidget(createColorBox());

    // add the widgets to separate panels on the context menu
    final ContextMenu contextMenuPanel = new ContextMenu(widget);
    contextMenuPanel.add(new NodeTable(), "Node details", 3);
    contextMenuPanel.add(nodeStyleWidget, "Node", 3);
    contextMenuPanel.add(branchStyleWidget, "Branch", 3);
    contextMenuPanel.add(glyphStyleWidget, "Glyph", 3);
    contextMenuPanel.add(labelStyleWidget, "Label", 3);

    HorizontalPanel searchPanel = new HorizontalPanel();
    searchPanel.add(new Label("Search:"));
    searchPanel.add(searchBox);

    // Make the UI.
    MenuBar menu = new MenuBar();
    final DockLayoutPanel mainPanel = new DockLayoutPanel(Unit.EM);
    mainPanel.addNorth(menu, 2);
    mainPanel.addSouth(searchPanel, 2);
    mainPanel.addWest(contextMenuPanel, 0);
    mainPanel.add(widget);
    RootLayoutPanel.get().add(mainPanel);

    MenuBar viewMenu = new MenuBar(true);
    viewMenu.addItem("Layout", layoutMenu);
    viewMenu.addItem("Style", styleMenu);

    contextMenuPanel.setVisible(false);
    viewMenu.addItem("Toggle Context Panel", new Command() {
        @Override
        public void execute() {
            if (contextMenuPanel.isVisible()) {
                contextMenuPanel.setVisible(false);
                mainPanel.setWidgetSize(contextMenuPanel, 0);
                mainPanel.forceLayout();
            } else {
                contextMenuPanel.setVisible(true);
                mainPanel.setWidgetSize(contextMenuPanel, 20);
                mainPanel.forceLayout();
            }
        }
    });

    menu.addItem("File", fileMenu);
    menu.addItem("View", viewMenu);

    // Draw for the first time.
    RootLayoutPanel.get().forceLayout();
    mainPanel.forceLayout();
    widget.setViewType(ViewType.VIEW_TYPE_CLADOGRAM);
    widget.render();

    initColorPicker();

    String[] splitPath = Window.Location.getPath().split("/");
    String treeIdString = null;
    for (int i = 0; i < splitPath.length; i++) {
        if (splitPath[i].equalsIgnoreCase("tree")) {
            treeIdString = splitPath[i + 1];
        }
    }

    if (treeIdString != null && !treeIdString.equals("")) {
        try {
            final byte[] treeId = Hex.decodeHex(treeIdString.toCharArray());
            this.loadTree(null, treeId, layoutType);
        } catch (Exception e) {
            Window.alert("Unable to parse tree ID string from URL");
        }
    } else {
        // Present the user the dialog to load a tree.
        this.displayTrees();
    }

    updateStyle();
    History.addValueChangeHandler(new ValueChangeHandler<String>() {
        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            updateStyle();
        }
    });
}

From source file:uk.ac.ebi.fg.annotare2.web.gwt.editor.client.view.widget.MinimizableScrollPanel.java

License:Apache License

@Override
public void setWidget(Widget w) {
    Widget parent = getParent();//  ww  w. j a v a 2  s . co  m
    if (parent instanceof DockLayoutPanel) {
        DockLayoutPanel layoutPanel = (DockLayoutPanel) parent;
        if (w == null) {
            layoutPanel.setWidgetSize(this, 0);
        } else {
            layoutPanel.setWidgetSize(this, size);
        }
    }
    super.setWidget(w);
}