X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3d49f2fb177cc6339bf6b28dc44e912d2dcb46d1..b843b628c9f936d6a87ca1e9b91e88a4604270c4:/wxPython/wx/tools/XRCed/xxx.py diff --git a/wxPython/wx/tools/XRCed/xxx.py b/wxPython/wx/tools/XRCed/xxx.py index 364a5682f9..1fb1c81ebe 100644 --- a/wxPython/wx/tools/XRCed/xxx.py +++ b/wxPython/wx/tools/XRCed/xxx.py @@ -49,7 +49,10 @@ class xxxParam(xxxNode): def value(self): return self.textNode.data.encode(g.currentEncoding) def update(self, value): - self.textNode.data = unicode(value, g.currentEncoding) + try: # handle exception if encoding is wrong + self.textNode.data = unicode(value, g.currentEncoding) + except UnicodeDecodeError: + wxLogMessage("Unicode error: set encoding in file\nglobals.py to something appropriate") # Integer parameter class xxxParamInt(xxxParam): @@ -235,9 +238,11 @@ class xxxObject: else: # simple parameter self.params[tag] = xxxParam(node) else: + pass # Remove all other nodes - element.removeChild(node) - node.unlink() +# element.removeChild(node) +# node.unlink() + # Check that all required params are set for param in self.required: if not self.params.has_key(param): @@ -333,12 +338,10 @@ class xxxContainer(xxxObject): # Simulate normal parameter for encoding class xxxEncoding: - def __init__(self, val): - self.encd = val def value(self): - return self.encd + return g.currentEncoding def update(self, val): - self.encd = val + g.currentEncoding = val # Special class for root node class xxxMainNode(xxxContainer): @@ -350,7 +353,7 @@ class xxxMainNode(xxxContainer): # Reset required parameters after processing XML, because encoding is # a little special self.required = ['encoding'] - self.params['encoding'] = xxxEncoding(dom.encoding) + self.params['encoding'] = xxxEncoding() ################################################################################ # Top-level windwows @@ -415,8 +418,7 @@ class xxxBitmap(xxxObject): # Just like bitmap class xxxIcon(xxxObject): - allParams = ['icon'] - required = ['icon'] + allParams = [] ################################################################################ # Controls @@ -500,8 +502,8 @@ class xxxSplitterWindow(xxxContainer): allParams = ['orientation', 'sashpos', 'minsize', 'pos', 'size', 'style'] paramDict = {'orientation': ParamOrientation, 'sashpos': ParamUnit, 'minsize': ParamUnit } winStyles = ['wxSP_3D', 'wxSP_3DSASH', 'wxSP_3DBORDER', 'wxSP_BORDER', - 'wxSP_NOBORDER', 'wxSP_PERMIT_UNSPLIT', 'wxSP_LIVE_UPDATE', - 'wxSP_NO_XP_THEME' ] + 'wxSP_NOBORDER', 'wxSP_PERMIT_UNSPLIT', 'wxSP_LIVE_UPDATE', + 'wxSP_NO_XP_THEME' ] class xxxGenericDirCtrl(xxxObject): allParams = ['defaultfolder', 'filter', 'defaultfilter', 'pos', 'size', 'style']