From: Roman Rolinsky Date: Fri, 16 Mar 2007 19:09:58 +0000 (+0000) Subject: default setting fix X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/37867b24f64c5ae5d6bb13bd12a34351f99cdc4b default setting fix git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/wx/tools/XRCed/xrced.py b/wxPython/wx/tools/XRCed/xrced.py index c2a5b36daf..dd60cb3142 100644 --- a/wxPython/wx/tools/XRCed/xrced.py +++ b/wxPython/wx/tools/XRCed/xrced.py @@ -105,7 +105,7 @@ class Frame(wx.Frame): self.inIdle = False # Load our own resources - self.res = xrc.XmlResource('') + self.res = xrc.EmptyXmlResource() # !!! Blocking of assert failure occurring in older unicode builds try: quietlog = wx.LogNull() diff --git a/wxPython/wx/tools/XRCed/xxx.py b/wxPython/wx/tools/XRCed/xxx.py index 39d44271c2..c0ef04012f 100644 --- a/wxPython/wx/tools/XRCed/xxx.py +++ b/wxPython/wx/tools/XRCed/xxx.py @@ -320,9 +320,11 @@ class xxxObject: try: self.params[param].update(value) except KeyError: - p = xxxParam(g.tree.dom.createElement(param)) + elem = g.tree.dom.createElement(param) + p = xxxParam(elem) p.update(value) self.params[param] = p + self.node.appendChild(elem) # Special processing for growablecols-like parameters # represented by several nodes def special(self, tag, node): @@ -856,13 +858,6 @@ class xxxSizerItem(xxxChildContainer): if 'pos' in self.child.allParams: self.child.allParams = self.child.allParams[:] self.child.allParams.remove('pos') - # Set defaults for some children types - if isinstance(self.child, xxxContainer) and not self.child.isSizer: - for param,v in self.defaults_panel.items(): - self.set(param, v) - elif isinstance(self.child, xxxObject): - for param,v in self.defaults_control.items(): - self.set(param, v) def resetChild(self, xxx): xxxChildContainer.resetChild(self, xxx) # Remove pos parameter - not needed for sizeritems @@ -1205,7 +1200,8 @@ def MakeEmptyDOM(className): def MakeEmptyXXX(parent, className): # Make corresponding DOM object first elem = MakeEmptyDOM(className) - # If parent is a sizer, we should create sizeritem object, except for spacers + # Special handling, e.g. if parent is a sizer, we should create + # sizeritem object, except for spacers, etc. if parent: if parent.isSizer and className != 'spacer': sizerItemElem = MakeEmptyDOM(parent.itemTag) @@ -1224,7 +1220,16 @@ def MakeEmptyXXX(parent, className): pageElem.appendChild(elem) elem = pageElem # Now just make object - return MakeXXXFromDOM(parent, elem) + xxx = MakeXXXFromDOM(parent, elem) + # Special defaults for new panels and controls + if isinstance(xxx, xxxSizerItem): + if isinstance(xxx.child, xxxContainer) and not xxx.child.isSizer: + for param,v in xxxSizerItem.defaults_panel.items(): + xxx.set(param, v) + elif isinstance(xxx.child, xxxObject): + for param,v in xxxSizerItem.defaults_control.items(): + xxx.set(param, v) + return xxx # Make empty DOM element for reference def MakeEmptyRefDOM(ref):