@SuppressWarnings("unchecked") public void testWidgetBuilderExample() throws Exception { Person person = new Person(); SwingMetawidget metawidget = new SwingMetawidget(); metawidget.setWidgetBuilder( new CompositeWidgetBuilder<JComponent, SwingMetawidget>( new CompositeWidgetBuilderConfig<JComponent, SwingMetawidget>() .setWidgetBuilders(new ExcludingWidgetBuilder(), new SwingWidgetBuilder()))); metawidget.putClientProperty("exclude", new String[] {"age", "retired"}); metawidget.setToInspect(person); assertTrue(metawidget.getComponent(0) instanceof JLabel); assertTrue(metawidget.getComponent(1) instanceof JTextField); assertTrue(metawidget.getComponent(2) instanceof JPanel); assertTrue(3 == metawidget.getComponentCount()); }
public void testAlignment() { SwingMetawidget metawidget = new SwingMetawidget(); metawidget.setToInspect(new Foo()); JPanel panel = (JPanel) metawidget.getComponent(0); assertEquals("Section", ((JLabel) panel.getComponent(0)).getText()); assertEquals( 0, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.left); assertEquals( 5, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.right); assertTrue(panel.getComponent(1) instanceof JSeparator); assertEquals("Bar:", ((JLabel) metawidget.getComponent(1)).getText()); assertTrue(metawidget.getComponent(2) instanceof JTextField); assertTrue(metawidget.getComponent(3) instanceof JPanel); assertEquals(4, metawidget.getComponentCount()); metawidget.setMetawidgetLayout( new SeparatorLayoutDecorator( new SeparatorLayoutDecoratorConfig() .setAlignment(SwingConstants.RIGHT) .setLayout(new org.metawidget.swing.layout.GridBagLayout()))); panel = (JPanel) metawidget.getComponent(0); assertEquals("Section", ((JLabel) panel.getComponent(0)).getText()); assertEquals( 1, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).gridx); assertEquals( 5, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.left); assertEquals( 0, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(0)).insets.right); assertTrue(panel.getComponent(1) instanceof JSeparator); assertEquals( 0, ((GridBagLayout) panel.getLayout()).getConstraints(panel.getComponent(1)).gridx); assertEquals("Bar:", ((JLabel) metawidget.getComponent(1)).getText()); assertTrue(metawidget.getComponent(2) instanceof JTextField); assertTrue(metawidget.getComponent(3) instanceof JPanel); assertEquals(4, metawidget.getComponentCount()); }
public void testNestedSeparators() { SwingMetawidget metawidget = new SwingMetawidget(); metawidget.setMetawidgetLayout( new SeparatorLayoutDecorator( new SeparatorLayoutDecoratorConfig() .setLayout( new SeparatorLayoutDecorator( new SeparatorLayoutDecoratorConfig() .setLayout(new org.metawidget.swing.layout.GridBagLayout()))))); metawidget.setToInspect(new Bar()); assertEquals("Abc:", ((JLabel) metawidget.getComponent(0)).getText()); assertTrue(metawidget.getComponent(1) instanceof JTextField); JPanel outerSeparator = (JPanel) metawidget.getComponent(2); assertEquals("Foo", ((JLabel) outerSeparator.getComponent(0)).getText()); JPanel innerSeparator = (JPanel) metawidget.getComponent(3); assertEquals("Bar", ((JLabel) innerSeparator.getComponent(0)).getText()); assertEquals("Def:", ((JLabel) metawidget.getComponent(4)).getText()); assertTrue(metawidget.getComponent(5) instanceof JCheckBox); assertEquals("Ghi:", ((JLabel) metawidget.getComponent(6)).getText()); assertTrue(metawidget.getComponent(7) instanceof JScrollPane); innerSeparator = (JPanel) metawidget.getComponent(8); assertEquals("Baz", ((JLabel) innerSeparator.getComponent(0)).getText()); assertEquals("Jkl:", ((JLabel) metawidget.getComponent(9)).getText()); assertTrue(metawidget.getComponent(10) instanceof JTextField); assertEquals("Mno:", ((JLabel) metawidget.getComponent(11)).getText()); assertTrue(metawidget.getComponent(12) instanceof JCheckBox); innerSeparator = (JPanel) metawidget.getComponent(13); assertEquals("Moo", ((JLabel) innerSeparator.getComponent(0)).getText()); assertEquals("Pqr:", ((JLabel) metawidget.getComponent(14)).getText()); assertTrue(metawidget.getComponent(15) instanceof JTextField); innerSeparator = (JPanel) metawidget.getComponent(16); assertEquals("Zoo", ((JLabel) innerSeparator.getComponent(0)).getText()); assertEquals("Zoo:", ((JLabel) metawidget.getComponent(17)).getText()); SwingMetawidget nestedMetawidget = (SwingMetawidget) metawidget.getComponent(18); assertEquals("Name:", ((JLabel) nestedMetawidget.getComponent(0)).getText()); assertEquals("Stu:", ((JLabel) metawidget.getComponent(19)).getText()); assertTrue(metawidget.getComponent(20) instanceof JTextField); assertEquals(21, metawidget.getComponentCount()); }