public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display, SWT.DIALOG_TRIM | SWT.RESIZE); shell.setLayout(new FillLayout()); SwtMetawidget metawidget = new SwtMetawidget(shell, SWT.NONE); metawidget.setMetawidgetLayout( new SeparatorLayoutDecorator( new SeparatorLayoutDecoratorConfig() .setLayout( new TabFolderLayoutDecorator( new TabFolderLayoutDecoratorConfig().setLayout(new GridLayout()))))); metawidget.setToInspect(new Baz()); shell.setVisible(true); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
public void testFlatSectionAroundNestedSectionLayoutDecorator() { SwtMetawidget metawidget = new SwtMetawidget(new Shell(SwtMetawidgetTests.TEST_DISPLAY, SWT.NONE), SWT.NONE); metawidget.setMetawidgetLayout( new SeparatorLayoutDecorator( new SeparatorLayoutDecoratorConfig() .setLayout( new TabFolderLayoutDecorator( new TabFolderLayoutDecoratorConfig().setLayout(new GridLayout()))))); metawidget.setToInspect(new Baz()); Composite composite = (Composite) metawidget.getChildren()[0]; assertEquals(((org.eclipse.swt.layout.GridLayout) composite.getLayout()).marginWidth, 0); assertEquals("Foo", ((Label) composite.getChildren()[0]).getText()); assertEquals((composite.getChildren()[1].getStyle() & SWT.SEPARATOR), SWT.SEPARATOR); TabFolder innerTabFolder = (TabFolder) metawidget.getChildren()[1]; assertEquals("Bar", innerTabFolder.getItem(0).getText()); Composite innerPanel = (Composite) innerTabFolder.getChildren()[0]; assertEquals("Abc:", ((Label) innerPanel.getChildren()[0]).getText()); assertTrue(innerPanel.getChildren()[1] instanceof Text); assertEquals(2, innerPanel.getChildren().length); composite = (Composite) metawidget.getChildren()[2]; assertEquals(((org.eclipse.swt.layout.GridLayout) composite.getLayout()).marginWidth, 0); assertEquals("Baz", ((Label) composite.getChildren()[0]).getText()); assertEquals((composite.getChildren()[1].getStyle() & SWT.SEPARATOR), SWT.SEPARATOR); assertEquals("Def:", ((Label) metawidget.getChildren()[3]).getText()); assertTrue(metawidget.getChildren()[4] instanceof Button); assertEquals((metawidget.getChildren()[4].getStyle() & SWT.CHECK), SWT.CHECK); assertEquals(5, metawidget.getChildren().length); }
public void testNestedTabs() { SwtMetawidget metawidget = new SwtMetawidget(new Shell(SwtMetawidgetTests.TEST_DISPLAY, SWT.NONE), SWT.NONE); metawidget.setMetawidgetLayout( new TabFolderLayoutDecorator( new TabFolderLayoutDecoratorConfig() .setLayout( new TabFolderLayoutDecorator( new TabFolderLayoutDecoratorConfig().setLayout(new GridLayout()))))); metawidget.setToInspect(new Bar()); assertEquals("Abc:", ((Label) metawidget.getChildren()[0]).getText()); assertTrue(metawidget.getChildren()[1] instanceof Text); TabFolder outerTabFolder = (TabFolder) metawidget.getChildren()[2]; assertEquals("Foo", outerTabFolder.getItem(0).getText()); Composite outerPanel = (Composite) outerTabFolder.getChildren()[0]; assertEquals(4, outerPanel.getChildren().length); TabFolder innerTabFolder = (TabFolder) outerPanel.getChildren()[0]; assertEquals("Bar", innerTabFolder.getItem(0).getText()); Composite barComposite = (Composite) innerTabFolder.getChildren()[0]; assertEquals("Def:", ((Label) barComposite.getChildren()[0]).getText()); assertTrue(barComposite.getChildren()[1] instanceof Button); assertEquals((barComposite.getChildren()[1].getStyle() & SWT.CHECK), SWT.CHECK); assertEquals("Ghi:", ((Label) barComposite.getChildren()[2]).getText()); assertEquals((barComposite.getChildren()[3].getStyle() & SWT.MULTI), SWT.MULTI); assertEquals((barComposite.getChildren()[3].getStyle() & SWT.BORDER), SWT.BORDER); assertEquals((barComposite.getChildren()[3].getStyle() & SWT.V_SCROLL), SWT.V_SCROLL); assertEquals((barComposite.getChildren()[3].getStyle() & SWT.WRAP), SWT.WRAP); assertEquals(4, barComposite.getChildren().length); assertEquals("Baz", innerTabFolder.getItem(1).getText()); Composite bazComposite = (Composite) innerTabFolder.getChildren()[1]; assertEquals("Jkl:", ((Label) bazComposite.getChildren()[0]).getText()); assertTrue(bazComposite.getChildren()[1] instanceof Text); assertEquals(2, bazComposite.getChildren().length); assertEquals("Mno:", ((Label) outerPanel.getChildren()[1]).getText()); assertTrue(outerPanel.getChildren()[2] instanceof Button); assertEquals((outerPanel.getChildren()[2].getStyle() & SWT.CHECK), SWT.CHECK); innerTabFolder = (TabFolder) outerPanel.getChildren()[3]; assertEquals("Moo", innerTabFolder.getItem(0).getText()); Composite mooComposite = (Composite) innerTabFolder.getChildren()[0]; assertEquals("Pqr:", ((Label) mooComposite.getChildren()[0]).getText()); assertTrue(mooComposite.getChildren()[1] instanceof Text); assertEquals(2, mooComposite.getChildren().length); assertEquals("Stu:", ((Label) metawidget.getChildren()[3]).getText()); assertTrue(metawidget.getChildren()[4] instanceof Text); assertEquals(5, metawidget.getChildren().length); // Test components within nested tabs still accessible by name assertEquals(metawidget.getChildren()[1], metawidget.getControl("abc")); assertEquals(barComposite.getChildren()[1], metawidget.getControl("def")); assertEquals(barComposite.getChildren()[3], metawidget.getControl("ghi")); assertEquals(bazComposite.getChildren()[1], metawidget.getControl("jkl")); assertEquals(outerPanel.getChildren()[2], metawidget.getControl("mno")); assertEquals(mooComposite.getChildren()[1], metawidget.getControl("pqr")); assertEquals(metawidget.getChildren()[4], metawidget.getControl("stu")); }