From 795cd1ae440b540b14f07d800de48de90cf68c3e Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Tue, 17 Feb 2009 14:24:36 +0000 Subject: [PATCH] SplitPanel sample + icon updated. svn changeset:6877/svn branch:trunk --- .../features/layouts/75-SplitPanelBasic.png | Bin 3628 -> 10390 bytes .../features/layouts/SplitPanelBasic.java | 10 +- .../layouts/SplitPanelBasicExample.java | 139 +++++------------- 3 files changed, 40 insertions(+), 109 deletions(-) diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/75-SplitPanelBasic.png b/src/com/itmill/toolkit/demo/sampler/features/layouts/75-SplitPanelBasic.png index 39d75a319fd65f6f818b7835a8a1b71f5fb669fa..562d6af32bd978518770793fc3ed938cc3c3cd8d 100644 GIT binary patch literal 10390 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 AssI20 literal 3628 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 a0L#LjUupAJP?E8h{I|Dpwl2kClick the button for a demo in a new window."; + return "The SplitPanel has two resizable component areas, either" + + " vertically or horizontally oriented. The split position" + + " can optionally be locked.
By nesting split panels," + + " one can make quite complicated, dynamic layouts."; } @Override diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java index 0fe365b84f..442a9763c2 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java @@ -1,119 +1,50 @@ package com.itmill.toolkit.demo.sampler.features.layouts; -import java.net.URL; - -import com.itmill.toolkit.demo.sampler.ExampleUtil; -import com.itmill.toolkit.terminal.ExternalResource; -import com.itmill.toolkit.ui.AbstractSelect; import com.itmill.toolkit.ui.Button; import com.itmill.toolkit.ui.Label; import com.itmill.toolkit.ui.SplitPanel; -import com.itmill.toolkit.ui.TabSheet; -import com.itmill.toolkit.ui.Tree; import com.itmill.toolkit.ui.VerticalLayout; -import com.itmill.toolkit.ui.Window; import com.itmill.toolkit.ui.Button.ClickEvent; public class SplitPanelBasicExample extends VerticalLayout { - private URL nativeWindowURL = null; - private Button b1; + public static final String brownFox = "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. "; public SplitPanelBasicExample() { - setSpacing(true); - - b1 = new Button("Open a new window with a SplitPanel", this, - "openButtonClick"); - addComponent(b1); - - } - - public void openButtonClick(ClickEvent event) { - if (nativeWindowURL == null) { - getApplication().addWindow(createWindow()); - } - getApplication().getMainWindow().open( - new ExternalResource(nativeWindowURL), "_blank"); - } - - /* - * Create new window which contains the layout obtained from - * createDemoLayout() - */ - private Window createWindow() { - // Create a new window for the SplitPanel - final Window w = new Window("SplitPanel Demo"); - getApplication().addWindow(w); - w.setLayout(createDemoLayout()); - nativeWindowURL = w.getURL(); - return w; - } - - /* - * Creates the actual Layout with two SplitPanels and some content - */ - private SplitPanel createDemoLayout() { - // Create a new SplitPanel - SplitPanel demoSP = new SplitPanel(); - // Set orientation - demoSP.setOrientation(SplitPanel.ORIENTATION_HORIZONTAL); - // Set split position (from left edge) in pixels - demoSP.setSplitPosition(200, UNITS_PIXELS); - - // Create an example tree component, set to full size - Tree t = new Tree("Hardware Inventory", ExampleUtil - .getHardwareContainer()); - t.setItemCaptionPropertyId(ExampleUtil.hw_PROPERTY_NAME); - t.setItemCaptionMode(AbstractSelect.ITEM_CAPTION_MODE_PROPERTY); - t.setSizeFull(); - - // Add the Tree component to the SplitPanel - demoSP.addComponent(t); - - // Create a second SplitPanel - SplitPanel subSP = new SplitPanel(); - // Set orientation - subSP.setOrientation(SplitPanel.ORIENTATION_VERTICAL); - // Set split position in percentage - subSP.setSplitPosition(80); - // Set the split locked (= not resizeable) - subSP.setLocked(true); - - // Create an example tabsheet component with some content - final TabSheet ts = new TabSheet(); - final Label l1 = new Label( - "This window shows an example of a SplitPanel component." - + " A second SplitPanel is inserted into the first one" - + " to allow a split into three regions."); - final Label l2 = new Label( - "Try resizing the window (horizontally) and you will" - + " notice that the leftmost region does not resize because" - + " the split position is set in pixels." - + " If you resize the window vertically you will see" - + " how the split position ratio works."); - final Label l3 = new Label( - "You may resize the left and right regions by dragging the" - + " vertical split handle left or right. Resizing the" - + " upper and lower regions has been disabled."); - ts.addTab(l1); - ts.setTabCaption(l1, "SplitPanel demo"); - ts.addTab(l2); - ts.setTabCaption(l2, "Resizing"); - ts.addTab(l3); - ts.setTabCaption(l3, "Resizing the regions"); - ts.setSizeFull(); - - // Add the components to the sub-SplitPanel - subSP.addComponent(ts); - subSP.addComponent(new Label("Comment area")); - - // Add sub-SplitPanel to main SplitPanel - demoSP.addComponent(subSP); - - // Enable margins in both SplitPanels - demoSP.setMargin(true); - subSP.setMargin(true); + // First a vertical SplitPanel + final SplitPanel vert = new SplitPanel(); + vert.setHeight("450px"); + vert.setWidth("100%"); + // vert.setOrientation(SplitPanel.ORIENTATION_VERTICAL); // default + vert.setSplitPosition(150, SplitPanel.UNITS_PIXELS); + addComponent(vert); + + // add a label to the upper area + vert.addComponent(new Label(brownFox)); + + // Add a horizontal SplitPanel to the lower area + final SplitPanel horiz = new SplitPanel(); + horiz.setOrientation(SplitPanel.ORIENTATION_HORIZONTAL); + horiz.setSplitPosition(50); // percent + vert.addComponent(horiz); + + // left component: + horiz.addComponent(new Label(brownFox)); + + // right component: + horiz.addComponent(new Label(brownFox)); + + // Lock toggle button + Button toggleLocked = new Button("Splits locked", + new Button.ClickListener() { + // inline click.listener + public void buttonClick(ClickEvent event) { + vert.setLocked(event.getButton().booleanValue()); + horiz.setLocked(event.getButton().booleanValue()); + } + }); + toggleLocked.setSwitchMode(true); + addComponent(toggleLocked); - return demoSP; } } \ No newline at end of file -- 2.39.5