private void fillLayout(LayoutConstraints<?>[] oldConstraints) { RADVisualComponent<?>[] radComps = radContainer.getSubComponents(); int componentCount = radComps.length; Component[] primaryComps = new Component[componentCount]; LayoutConstraints<?>[] newConstraints = new LayoutConstraints<?>[componentCount]; for (int i = 0; i < componentCount; i++) { primaryComps[i] = radComps[i].getBeanInstance(); newConstraints[i] = radComps[i].getLayoutConstraints(layoutDelegate.getClass()); } layoutDelegate.convertConstraints(oldConstraints, newConstraints, primaryComps); if (componentCount > 0) { layoutDelegate.acceptNewComponents(radComps, newConstraints, 0); layoutDelegate.addComponents(radComps, newConstraints, 0); for (int i = 0; i < componentCount; i++) { radComps[i].resetConstraintsProperties(); } } // setup primary container Container cont = getPrimaryContainer(); Container contDel = getPrimaryContainerDelegate(); layoutDelegate.setLayoutToContainer(cont, contDel); if (componentCount > 0) { layoutDelegate.addComponentsToContainer(cont, contDel, primaryComps, 0); } }
// components adding/removing public void injectComponents( RADVisualComponent<?>[] components, LayoutConstraints<?>[] aConstraints, int index) { if (index <= -1) { index = layoutDelegate.getComponentCount(); } layoutDelegate.addComponents(components, aConstraints, index); for (RADVisualComponent<?> component : components) { component.resetConstraintsProperties(); } }