|
From: JP <j-...@us...> - 2007-03-20 01:48:23
|
Update of /cvsroot/swixat/swixat/src/main/java/org/swixat/framework In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv31351/src/main/java/org/swixat/framework Modified Files: Tag: B0_6_0 AbstractFrame.java Log Message: Added code to remove invisible components from the Swing GUI after SwiXML rendering and SwiXAT initialization, but prior to actual display. This prevents display problems with certain Swing layout managers that assign layout space to these invisible components. Better to remove them altogether. Index: AbstractFrame.java =================================================================== RCS file: /cvsroot/swixat/swixat/src/main/java/org/swixat/framework/AbstractFrame.java,v retrieving revision 1.14 retrieving revision 1.14.2.1 diff -C2 -d -r1.14 -r1.14.2.1 *** AbstractFrame.java 2 Oct 2006 21:48:35 -0000 1.14 --- AbstractFrame.java 20 Mar 2007 01:26:46 -0000 1.14.2.1 *************** *** 25,28 **** --- 25,30 ---- import org.swixat.script.Scripting; import org.swixat.SwiXAT; + import org.swixat.databinding.DataSource; + import org.swixat.events.AbstractModelEvents; import org.swixat.util.ArrayToArrayListConverter; import org.swixat.util.wizards.WizardPanel; *************** *** 378,388 **** Application app = (Application)SwiXAT.getFactory().getBean("application"); ! xulView = app.completePath(view.getXmlView(), app.getBaseDir()); ! setXmlEngine(new SwiXMLEngine()); ! getXmlEngine().setParentFrame(this); getActualContext().setFrame(this); ! getXmlEngine().render(xulView); ! getActualContext().setIdMap(getXmlEngine().getIdMap()); ! return getXmlEngine().getRootComponent(); } catch (Exception e) { log.warn("Error during init of: " + view.getXmlView(), e); --- 380,401 ---- Application app = (Application)SwiXAT.getFactory().getBean("application"); ! xulView = Application.completePath(view.getXmlView(), app.getBaseDir()); ! ! SwiXMLEngine engine = new SwiXMLEngine(); ! setXmlEngine(engine); ! engine.setParentFrame(this); getActualContext().setFrame(this); ! engine.render(xulView); ! ! // after SwiXML rendering but prior to display, remove invisible components from GUI to prevent layout problems ! for (Iterator i = engine.getAllComponentItertor(); i.hasNext();) { ! Component c = (Component) i.next(); ! if (c instanceof DataSource || c instanceof AbstractModelEvents) { ! c.getParent().remove(c); ! } ! } ! ! getActualContext().setIdMap(engine.getIdMap()); ! return engine.getRootComponent(); } catch (Exception e) { log.warn("Error during init of: " + view.getXmlView(), e); |