Switched to using True/False in the wxPython lib and demo instead of
true/false or TRUE/FALSE to prepare for the new boolean type and constants being added to Python. Added code to wx.py to test for the existence of the new constants and to create suitable values if not present. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@19335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -17,7 +17,7 @@ class Panel(wxNotebook):
|
||||
wxNotebook.__init__(self, parent, id)
|
||||
global panel
|
||||
g.panel = panel = self
|
||||
self.modified = false
|
||||
self.modified = False
|
||||
|
||||
# List of child windows
|
||||
self.pages = []
|
||||
@@ -25,14 +25,14 @@ class Panel(wxNotebook):
|
||||
self.page1 = wxScrolledWindow(self, -1)
|
||||
sizer = wxBoxSizer()
|
||||
sizer.Add(wxBoxSizer()) # dummy sizer
|
||||
self.page1.SetAutoLayout(true)
|
||||
self.page1.SetAutoLayout(True)
|
||||
self.page1.SetSizer(sizer)
|
||||
self.AddPage(self.page1, 'Properties')
|
||||
# Second page
|
||||
self.page2 = wxScrolledWindow(self, -1)
|
||||
sizer = wxBoxSizer()
|
||||
sizer.Add(wxBoxSizer()) # dummy sizer
|
||||
self.page2.SetAutoLayout(true)
|
||||
self.page2.SetAutoLayout(True)
|
||||
self.page2.SetSizer(sizer)
|
||||
# Cache for already used panels
|
||||
self.pageCache = {} # cached property panels
|
||||
@@ -75,7 +75,7 @@ class Panel(wxNotebook):
|
||||
wxDefaultSize, wxSUNKEN_BORDER)
|
||||
html.SetPage(g.helpText)
|
||||
sizer.Add(html, 1, wxEXPAND)
|
||||
g.conf.panic = false
|
||||
g.conf.panic = False
|
||||
else:
|
||||
sizer.Add(wxStaticText(self.page1, -1, 'Select a tree item.'))
|
||||
else:
|
||||
@@ -103,7 +103,7 @@ class Panel(wxNotebook):
|
||||
sizer.Add(page, 0, wxEXPAND | wxTOP, 5)
|
||||
self.page1.Layout()
|
||||
size = self.page1.GetSizer().GetMinSize()
|
||||
self.page1.SetScrollbars(1, 1, size.x, size.y, 0, 0, true)
|
||||
self.page1.SetScrollbars(1, 1, size.x, size.y, 0, 0, True)
|
||||
|
||||
# Second page
|
||||
# Create if does not exist
|
||||
@@ -125,17 +125,17 @@ class Panel(wxNotebook):
|
||||
self.AddPage(self.page2, 'Style')
|
||||
self.page2.Layout()
|
||||
size = self.page2.GetSizer().GetMinSize()
|
||||
self.page2.SetScrollbars(1, 1, size.x, size.y, 0, 0, true)
|
||||
self.page2.SetScrollbars(1, 1, size.x, size.y, 0, 0, True)
|
||||
else:
|
||||
# Remove page if exists
|
||||
if self.GetPageCount() == 2:
|
||||
self.SetSelection(0)
|
||||
self.page1.Refresh()
|
||||
self.RemovePage(1)
|
||||
self.modified = false
|
||||
self.modified = False
|
||||
def Clear(self):
|
||||
self.SetData(None)
|
||||
self.modified = false
|
||||
self.modified = False
|
||||
# If some parameter has changed
|
||||
def IsModified(self):
|
||||
return self.modified
|
||||
@@ -164,7 +164,7 @@ class ParamPage(wxPanel):
|
||||
xxx = self.xxx
|
||||
param = evt.GetEventObject().GetName()
|
||||
w = self.controls[param]
|
||||
w.Enable(true)
|
||||
w.Enable(True)
|
||||
objElem = xxx.element
|
||||
if evt.IsChecked():
|
||||
# Ad new text node in order of allParams
|
||||
@@ -179,12 +179,12 @@ class ParamPage(wxPanel):
|
||||
else:
|
||||
xxx.params[param] = xxxParam(elem)
|
||||
# Find place to put new element: first present element after param
|
||||
found = false
|
||||
found = False
|
||||
paramStyles = xxx.allParams + xxx.styles
|
||||
for p in paramStyles[paramStyles.index(param) + 1:]:
|
||||
# Content params don't have same type
|
||||
if xxx.params.has_key(p) and p != 'content':
|
||||
found = true
|
||||
found = True
|
||||
break
|
||||
if found:
|
||||
nextTextElem = xxx.params[p].node
|
||||
@@ -196,10 +196,10 @@ class ParamPage(wxPanel):
|
||||
xxx.params[param].remove()
|
||||
del xxx.params[param]
|
||||
w.SetValue('')
|
||||
w.modified = false # mark as not changed
|
||||
w.Enable(false)
|
||||
w.modified = False # mark as not changed
|
||||
w.Enable(False)
|
||||
# Set modified flag (provokes undo storing is necessary)
|
||||
panel.SetModified(true)
|
||||
panel.SetModified(True)
|
||||
def Apply(self):
|
||||
xxx = self.xxx
|
||||
if self.controlName:
|
||||
@@ -235,7 +235,7 @@ class ParamPage(wxPanel):
|
||||
for k,v,e in state[1]:
|
||||
self.controls[k].SetValue(v)
|
||||
self.controls[k].Enable(e)
|
||||
if e: self.controls[k].modified = true
|
||||
if e: self.controls[k].modified = True
|
||||
if self.controlName:
|
||||
self.controlName.SetValue(state[2])
|
||||
|
||||
@@ -282,34 +282,34 @@ class PropPage(ParamPage):
|
||||
(control, 0, wxALIGN_CENTER_VERTICAL) ])
|
||||
self.controls[param] = control
|
||||
topSizer.Add(sizer, 1, wxALL | wxEXPAND, 3)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(topSizer)
|
||||
topSizer.Fit(self)
|
||||
def SetValues(self, xxx):
|
||||
self.xxx = xxx
|
||||
self.origChecks = []
|
||||
self.origControls = []
|
||||
# Set values, checkboxes to false, disable defaults
|
||||
# Set values, checkboxes to False, disable defaults
|
||||
if xxx.hasName:
|
||||
self.controlName.SetValue(xxx.name)
|
||||
self.origName = xxx.name
|
||||
for param in xxx.allParams:
|
||||
w = self.controls[param]
|
||||
w.modified = false
|
||||
w.modified = False
|
||||
try:
|
||||
value = xxx.params[param].value()
|
||||
w.Enable(true)
|
||||
w.Enable(True)
|
||||
w.SetValue(value)
|
||||
if not param in xxx.required:
|
||||
self.checks[param].SetValue(true)
|
||||
self.origChecks.append((param, true))
|
||||
self.origControls.append((param, value, true))
|
||||
self.checks[param].SetValue(True)
|
||||
self.origChecks.append((param, True))
|
||||
self.origControls.append((param, value, True))
|
||||
except KeyError:
|
||||
self.checks[param].SetValue(false)
|
||||
self.checks[param].SetValue(False)
|
||||
w.SetValue('')
|
||||
w.Enable(false)
|
||||
self.origChecks.append((param, false))
|
||||
self.origControls.append((param, '', false))
|
||||
w.Enable(False)
|
||||
self.origChecks.append((param, False))
|
||||
self.origControls.append((param, '', False))
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -333,7 +333,7 @@ class StylePage(ParamPage):
|
||||
self.checks[param] = check
|
||||
self.controls[param] = control
|
||||
topSizer.Add(sizer, 1, wxALL | wxEXPAND, 3)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(topSizer)
|
||||
topSizer.Fit(self)
|
||||
# Set data for a cahced page
|
||||
@@ -346,7 +346,7 @@ class StylePage(ParamPage):
|
||||
check = self.checks[param]
|
||||
check.SetValue(present)
|
||||
w = self.controls[param]
|
||||
w.modified = false
|
||||
w.modified = False
|
||||
if present:
|
||||
value = xxx.params[param].value()
|
||||
else:
|
||||
|
@@ -22,15 +22,15 @@ buttonSize = (55,-1)
|
||||
class PPanel(wxPanel):
|
||||
def __init__(self, parent, name):
|
||||
wxPanel.__init__(self, parent, -1, name=name)
|
||||
self.modified = self.freeze = false
|
||||
self.modified = self.freeze = False
|
||||
def Enable(self, value):
|
||||
# Something strange is going on with enable so we make sure...
|
||||
for w in self.GetChildren():
|
||||
w.Enable(value)
|
||||
wxPanel.Enable(self, value)
|
||||
def SetModified(self):
|
||||
self.modified = true
|
||||
g.panel.SetModified(true)
|
||||
self.modified = True
|
||||
g.panel.SetModified(True)
|
||||
# Common method to set modified state
|
||||
def OnChange(self, evt):
|
||||
if self.freeze: return
|
||||
@@ -48,7 +48,7 @@ class ParamBinaryOr(PPanel):
|
||||
sizer.Add(self.text, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 5)
|
||||
self.button = wxButton(self, self.ID_BUTTON_CHOICES, 'Edit...', size=buttonSize)
|
||||
sizer.Add(self.button, 0, wxALIGN_CENTER_VERTICAL)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
EVT_BUTTON(self, self.ID_BUTTON_CHOICES, self.OnButtonChoices)
|
||||
@@ -56,9 +56,9 @@ class ParamBinaryOr(PPanel):
|
||||
def GetValue(self):
|
||||
return self.text.GetValue()
|
||||
def SetValue(self, value):
|
||||
self.freeze = true
|
||||
self.freeze = True
|
||||
self.text.SetValue(value)
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
def OnButtonChoices(self, evt):
|
||||
dlg = wxDialog(self, -1, 'Choices')
|
||||
topSizer = wxBoxSizer(wxVERTICAL)
|
||||
@@ -84,7 +84,7 @@ class ParamBinaryOr(PPanel):
|
||||
sizer.Add(0, 0, 1)
|
||||
sizer.Add(wxButton(dlg, wxID_CANCEL, 'Cancel'))
|
||||
topSizer.Add(sizer, 0, wxALL | wxEXPAND, 10)
|
||||
dlg.SetAutoLayout(true)
|
||||
dlg.SetAutoLayout(True)
|
||||
dlg.SetSizer(topSizer)
|
||||
topSizer.Fit(dlg)
|
||||
dlg.Center()
|
||||
@@ -143,23 +143,23 @@ class ParamColour(PPanel):
|
||||
sizer.Add(self.text, 0, wxRIGHT, 5)
|
||||
self.button = wxPanel(self, self.ID_BUTTON, wxDefaultPosition, wxSize(20, 20))
|
||||
sizer.Add(self.button, 0, wxGROW)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
EVT_PAINT(self.button, self.OnPaintButton)
|
||||
EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange)
|
||||
EVT_LEFT_DOWN(self.button, self.OnLeftDown)
|
||||
def GetValue(self):
|
||||
return self.text.GetValue()
|
||||
def SetValue(self, value):
|
||||
self.freeze = true
|
||||
self.freeze = True
|
||||
if not value: value = '#FFFFFF'
|
||||
self.text.SetValue(str(value)) # update text ctrl
|
||||
colour = wxColour(int(value[1:3], 16), int(value[3:5], 16), int(value[5:7], 16))
|
||||
self.button.SetBackgroundColour(colour)
|
||||
self.button.Refresh()
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
def OnPaintButton(self, evt):
|
||||
dc = wxPaintDC(self.button)
|
||||
dc.SetBrush(wxTRANSPARENT_BRUSH)
|
||||
@@ -203,15 +203,15 @@ class ParamFont(PPanel):
|
||||
sizer.Add(self.text, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 5)
|
||||
self.button = wxButton(self, self.ID_BUTTON_SELECT, 'Select...', size=buttonSize)
|
||||
sizer.Add(self.button, 0, wxALIGN_CENTER_VERTICAL)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
EVT_BUTTON(self, self.ID_BUTTON_SELECT, self.OnButtonSelect)
|
||||
EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange)
|
||||
def OnChange(self, evt):
|
||||
PPanel.OnChange(self, evt)
|
||||
self.textModified = true
|
||||
self.textModified = True
|
||||
def _defaultValue(self):
|
||||
return ['12', 'default', 'normal', 'normal', '0', '', '']
|
||||
def GetValue(self):
|
||||
@@ -223,11 +223,11 @@ class ParamFont(PPanel):
|
||||
return self._defaultValue()
|
||||
return self.value
|
||||
def SetValue(self, value):
|
||||
self.freeze = true # disable other handlers
|
||||
self.freeze = True # disable other handlers
|
||||
if not value: value = self._defaultValue()
|
||||
self.value = value
|
||||
self.text.SetValue(str(value)) # update text ctrl
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
def OnButtonSelect(self, evt):
|
||||
if self.textModified: # text has newer value
|
||||
try:
|
||||
@@ -244,23 +244,23 @@ class ParamFont(PPanel):
|
||||
face = ''
|
||||
enc = wxFONTENCODING_DEFAULT
|
||||
# Fall back to default if exceptions
|
||||
error = false
|
||||
error = False
|
||||
try:
|
||||
try: size = int(self.value[0])
|
||||
except ValueError: error = true
|
||||
except ValueError: error = True
|
||||
try: family = fontFamiliesXml2wx[self.value[1]]
|
||||
except KeyError: error = true
|
||||
except KeyError: error = True
|
||||
try: style = fontStylesXml2wx[self.value[2]]
|
||||
except KeyError: error = true
|
||||
except KeyError: error = True
|
||||
try: weight = fontWeightsXml2wx[self.value[3]]
|
||||
except KeyError: error = true
|
||||
except KeyError: error = True
|
||||
try: underlined = int(self.value[4])
|
||||
except ValueError: error = true
|
||||
except ValueError: error = True
|
||||
face = self.value[5]
|
||||
mapper = wxFontMapper()
|
||||
if not self.value[6]: enc = mapper.CharsetToEncoding(self.value[6])
|
||||
except IndexError:
|
||||
error = true
|
||||
error = True
|
||||
if error: wxLogError('Invalid font specification')
|
||||
if enc == wxFONTENCODING_DEFAULT: enc = wxFONTENCODING_SYSTEM
|
||||
font = wxFont(size, family, style, weight, underlined, face, enc)
|
||||
@@ -280,7 +280,7 @@ class ParamFont(PPanel):
|
||||
# Add ignored flags
|
||||
self.SetValue(value)
|
||||
self.SetModified()
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
dlg.Destroy()
|
||||
|
||||
################################################################################
|
||||
@@ -293,17 +293,17 @@ class ParamInt(PPanel):
|
||||
self.spin = wxSpinCtrl(self, self.ID_SPIN_CTRL, size=wxSize(50,-1))
|
||||
self.SetBackgroundColour(g.panel.GetBackgroundColour())
|
||||
sizer.Add(self.spin)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
EVT_SPINCTRL(self, self.ID_SPIN_CTRL, self.OnChange)
|
||||
def GetValue(self):
|
||||
return str(self.spin.GetValue())
|
||||
def SetValue(self, value):
|
||||
self.freeze = true
|
||||
self.freeze = True
|
||||
if not value: value = 0
|
||||
self.spin.SetValue(int(value))
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
|
||||
class ParamText(PPanel):
|
||||
def __init__(self, parent, name, textWidth=260):
|
||||
@@ -314,16 +314,16 @@ class ParamText(PPanel):
|
||||
self.SetBackgroundColour(g.panel.GetBackgroundColour())
|
||||
self.text = wxTextCtrl(self, self.ID_TEXT_CTRL, size=wxSize(textWidth,-1))
|
||||
sizer.Add(self.text, 0, wxALIGN_CENTER_VERTICAL)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange)
|
||||
def GetValue(self):
|
||||
return self.text.GetValue()
|
||||
def SetValue(self, value):
|
||||
self.freeze = true # disable other handlers
|
||||
self.freeze = True # disable other handlers
|
||||
self.text.SetValue(value)
|
||||
self.freeze = false # disable other handlers
|
||||
self.freeze = False # disable other handlers
|
||||
|
||||
class ParamAccel(ParamText):
|
||||
def __init__(self, parent, name):
|
||||
@@ -345,7 +345,7 @@ class ContentDialog(wxDialogPtr):
|
||||
# Set list items
|
||||
for v in value:
|
||||
self.list.Append(v)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.GetSizer().Fit(self)
|
||||
# Callbacks
|
||||
self.ID_BUTTON_APPEND = XMLID('BUTTON_APPEND')
|
||||
@@ -398,7 +398,7 @@ class ContentCheckListDialog(wxDialogPtr):
|
||||
self.list.Append(v)
|
||||
self.list.Check(i, ch)
|
||||
i += 1
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.GetSizer().Fit(self)
|
||||
# Callbacks
|
||||
self.ID_BUTTON_APPEND = XMLID('BUTTON_APPEND')
|
||||
@@ -455,15 +455,15 @@ class ParamContent(PPanel):
|
||||
sizer.Add(self.text, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 5)
|
||||
self.button = wxButton(self, self.ID_BUTTON_EDIT, 'Edit...', size=buttonSize)
|
||||
sizer.Add(self.button, 0, wxALIGN_CENTER_VERTICAL)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
EVT_BUTTON(self, self.ID_BUTTON_EDIT, self.OnButtonEdit)
|
||||
EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange)
|
||||
def OnChange(self, evt):
|
||||
PPanel.OnChange(self, evt)
|
||||
self.textModified = true
|
||||
self.textModified = True
|
||||
def GetValue(self):
|
||||
if self.textModified: # text has newer value
|
||||
try:
|
||||
@@ -473,11 +473,11 @@ class ParamContent(PPanel):
|
||||
return []
|
||||
return self.value
|
||||
def SetValue(self, value):
|
||||
self.freeze = true
|
||||
self.freeze = True
|
||||
if not value: value = []
|
||||
self.value = value
|
||||
self.text.SetValue(str(value)) # update text ctrl
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
def OnButtonEdit(self, evt):
|
||||
if self.textModified: # text has newer value
|
||||
try:
|
||||
@@ -493,7 +493,7 @@ class ParamContent(PPanel):
|
||||
# Add ignored flags
|
||||
self.SetValue(value)
|
||||
self.SetModified()
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
dlg.Destroy()
|
||||
|
||||
# CheckList content
|
||||
@@ -515,7 +515,7 @@ class ParamContentCheckList(ParamContent):
|
||||
# Add ignored flags
|
||||
self.SetValue(value)
|
||||
self.SetModified()
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
dlg.Destroy()
|
||||
|
||||
class IntListDialog(wxDialogPtr):
|
||||
@@ -533,7 +533,7 @@ class IntListDialog(wxDialogPtr):
|
||||
wxLogError('Invalid item type')
|
||||
else:
|
||||
self.list.Append(str(v))
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.GetSizer().Fit(self)
|
||||
# Callbacks
|
||||
self.ID_BUTTON_ADD = XMLID('BUTTON_ADD')
|
||||
@@ -550,10 +550,10 @@ class IntListDialog(wxDialogPtr):
|
||||
i = self.list.FindString(s)
|
||||
if i == -1: # ignore non-unique
|
||||
# Find place to insert
|
||||
found = false
|
||||
found = False
|
||||
for i in range(self.list.Number()):
|
||||
if int(self.list.GetString(i)) > v:
|
||||
found = true
|
||||
found = True
|
||||
break
|
||||
if found: self.list.InsertItems([s], i)
|
||||
else: self.list.Append(s)
|
||||
@@ -584,7 +584,7 @@ class ParamIntList(ParamContent):
|
||||
# Add ignored flags
|
||||
self.SetValue(value)
|
||||
self.SetModified()
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
dlg.Destroy()
|
||||
|
||||
# Boxless radiobox
|
||||
@@ -599,15 +599,15 @@ class RadioBox(PPanel):
|
||||
button = wxRadioButton(self, -1, i, name=i)
|
||||
topSizer.Add(button)
|
||||
EVT_RADIOBUTTON(self, button.GetId(), self.OnRadioChoice)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(topSizer)
|
||||
topSizer.Fit(self)
|
||||
def SetStringSelection(self, value):
|
||||
self.freeze = true
|
||||
self.freeze = True
|
||||
for i in self.choices:
|
||||
self.FindWindowByName(i).SetValue(i == value)
|
||||
self.value = value
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
def OnRadioChoice(self, evt):
|
||||
if self.freeze: return
|
||||
if evt.GetSelection():
|
||||
@@ -649,24 +649,24 @@ class ParamFile(PPanel):
|
||||
sizer.Add(self.text, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 5)
|
||||
self.button = wxButton(self, self.ID_BUTTON_BROWSE, 'Browse...',size=buttonSize)
|
||||
sizer.Add(self.button, 0, wxALIGN_CENTER_VERTICAL)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
EVT_BUTTON(self, self.ID_BUTTON_BROWSE, self.OnButtonBrowse)
|
||||
EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange)
|
||||
def OnChange(self, evt):
|
||||
PPanel.OnChange(self, evt)
|
||||
self.textModified = true
|
||||
self.textModified = True
|
||||
def GetValue(self):
|
||||
if self.textModified: # text has newer value
|
||||
return self.text.GetValue()
|
||||
return self.value
|
||||
def SetValue(self, value):
|
||||
self.freeze = true
|
||||
self.freeze = True
|
||||
self.value = value
|
||||
self.text.SetValue(value) # update text ctrl
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
def OnButtonBrowse(self, evt):
|
||||
if self.textModified: # text has newer value
|
||||
self.value = self.text.GetValue()
|
||||
@@ -682,7 +682,7 @@ class ParamFile(PPanel):
|
||||
common = os.path.commonprefix([curpath, dlg.GetPath()])
|
||||
self.SetValue(dlg.GetPath()[len(common):])
|
||||
self.SetModified()
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
dlg.Destroy()
|
||||
|
||||
class ParamBitmap(PPanel):
|
||||
@@ -692,15 +692,15 @@ class ParamBitmap(PPanel):
|
||||
# Perform initialization with class pointer
|
||||
wxPanelPtr.__init__(self, w.this)
|
||||
self.thisown = 1
|
||||
self.modified = self.freeze = false
|
||||
self.modified = self.freeze = False
|
||||
self.SetBackgroundColour(g.panel.GetBackgroundColour())
|
||||
self.radio_std = self.FindWindowByName('RADIO_STD')
|
||||
self.radio_file = self.FindWindowByName('RADIO_FILE')
|
||||
self.combo = self.FindWindowByName('COMBO_STD')
|
||||
self.text = self.FindWindowByName('TEXT_FILE')
|
||||
self.button = self.FindWindowByName('BUTTON_BROWSE')
|
||||
self.textModified = false
|
||||
self.SetAutoLayout(true)
|
||||
self.textModified = False
|
||||
self.SetAutoLayout(True)
|
||||
self.GetSizer().SetMinSize((260, -1))
|
||||
self.GetSizer().Fit(self)
|
||||
EVT_RADIOBUTTON(self, XMLID('RADIO_STD'), self.OnRadioStd)
|
||||
@@ -717,18 +717,18 @@ class ParamBitmap(PPanel):
|
||||
self.SetValue(['',''])
|
||||
def updateRadios(self):
|
||||
if self.value[0]:
|
||||
self.radio_std.SetValue(true)
|
||||
self.text.Enable(false)
|
||||
self.button.Enable(false)
|
||||
self.combo.Enable(true)
|
||||
self.radio_std.SetValue(True)
|
||||
self.text.Enable(False)
|
||||
self.button.Enable(False)
|
||||
self.combo.Enable(True)
|
||||
else:
|
||||
self.radio_file.SetValue(true)
|
||||
self.text.Enable(true)
|
||||
self.button.Enable(true)
|
||||
self.combo.Enable(false)
|
||||
self.radio_file.SetValue(True)
|
||||
self.text.Enable(True)
|
||||
self.button.Enable(True)
|
||||
self.combo.Enable(False)
|
||||
def OnChange(self, evt):
|
||||
PPanel.OnChange(self, evt)
|
||||
self.textModified = true
|
||||
self.textModified = True
|
||||
def OnCombo(self, evt):
|
||||
PPanel.OnChange(self, evt)
|
||||
self.value[0] = self.combo.GetValue()
|
||||
@@ -737,7 +737,7 @@ class ParamBitmap(PPanel):
|
||||
return [self.combo.GetValue(), self.text.GetValue()]
|
||||
return self.value
|
||||
def SetValue(self, value):
|
||||
self.freeze = true
|
||||
self.freeze = True
|
||||
if not value:
|
||||
self.value = ['', '']
|
||||
else:
|
||||
@@ -745,7 +745,7 @@ class ParamBitmap(PPanel):
|
||||
self.combo.SetValue(self.value[0])
|
||||
self.text.SetValue(self.value[1]) # update text ctrl
|
||||
self.updateRadios()
|
||||
self.freeze = false
|
||||
self.freeze = False
|
||||
def OnButtonBrowse(self, evt):
|
||||
if self.textModified: # text has newer value
|
||||
self.value[1] = self.text.GetValue()
|
||||
@@ -761,7 +761,7 @@ class ParamBitmap(PPanel):
|
||||
common = os.path.commonprefix([curpath, dlg.GetPath()])
|
||||
self.SetValue(['', dlg.GetPath()[len(common):]])
|
||||
self.SetModified()
|
||||
self.textModified = false
|
||||
self.textModified = False
|
||||
dlg.Destroy()
|
||||
|
||||
paramDict = {
|
||||
|
@@ -161,12 +161,12 @@ class XML_Tree(wxTreeCtrl):
|
||||
EVT_LEFT_DCLICK(self, self.OnDClick)
|
||||
EVT_RIGHT_DOWN(self, self.OnRightDown)
|
||||
|
||||
self.needUpdate = false
|
||||
self.needUpdate = False
|
||||
self.pendingHighLight = None
|
||||
self.ctrl = self.shift = false
|
||||
self.ctrl = self.shift = False
|
||||
self.dom = None
|
||||
# Create image list
|
||||
il = wxImageList(16, 16, true)
|
||||
il = wxImageList(16, 16, True)
|
||||
self.rootImage = il.AddIcon(images.getTreeRootIcon())
|
||||
xxxObject.image = il.AddIcon(images.getTreeDefaultIcon())
|
||||
xxxPanel.image = il.AddIcon(images.getTreePanelIcon())
|
||||
@@ -296,7 +296,7 @@ class XML_Tree(wxTreeCtrl):
|
||||
if IsObject(n):
|
||||
self.AddNode(newItem, treeObj, n)
|
||||
return newItem
|
||||
|
||||
|
||||
# Remove leaf of tree, return it's data object
|
||||
def RemoveLeaf(self, leaf):
|
||||
xxx = self.GetPyData(leaf)
|
||||
@@ -367,7 +367,7 @@ class XML_Tree(wxTreeCtrl):
|
||||
if g.testWin:
|
||||
if g.testWin.highLight:
|
||||
g.testWin.highLight.Remove()
|
||||
self.needUpdate = true
|
||||
self.needUpdate = True
|
||||
status = 'Changes were applied'
|
||||
g.frame.SetStatusText(status)
|
||||
# Generate view
|
||||
@@ -382,11 +382,11 @@ class XML_Tree(wxTreeCtrl):
|
||||
self.pendingHighLight = self.selection
|
||||
# Check if item is in testWin subtree
|
||||
def IsHighlatable(self, item):
|
||||
if item == g.testWin.item: return false
|
||||
if item == g.testWin.item: return False
|
||||
while item != self.root:
|
||||
item = self.GetItemParent(item)
|
||||
if item == g.testWin.item: return true
|
||||
return false
|
||||
if item == g.testWin.item: return True
|
||||
return False
|
||||
# Highlight selected item
|
||||
def HighLight(self, item):
|
||||
self.pendingHighLight = None
|
||||
@@ -419,7 +419,7 @@ class XML_Tree(wxTreeCtrl):
|
||||
return
|
||||
# Show item in bold
|
||||
if g.testWin: # Reset old
|
||||
self.SetItemBold(g.testWin.item, false)
|
||||
self.SetItemBold(g.testWin.item, False)
|
||||
self.CreateTestWin(item)
|
||||
# Maybe an error occured, so we need to test
|
||||
if g.testWin: self.SetItemBold(g.testWin.item)
|
||||
@@ -515,20 +515,20 @@ class XML_Tree(wxTreeCtrl):
|
||||
testWin.CreateStatusBar()
|
||||
testWin.panel = testWin
|
||||
testWin.SetPosition(pos)
|
||||
testWin.Show(true)
|
||||
testWin.Show(True)
|
||||
elif xxx.__class__ == xxxPanel:
|
||||
# Create new frame
|
||||
if not testWin:
|
||||
testWin = g.testWin = wxFrame(g.frame, -1, 'Panel: ' + name, pos=pos)
|
||||
testWin.panel = res.LoadPanel(testWin, self.stdName)
|
||||
testWin.SetClientSize(testWin.panel.GetSize())
|
||||
testWin.Show(true)
|
||||
testWin.Show(True)
|
||||
elif xxx.__class__ == xxxDialog:
|
||||
testWin = g.testWin = res.LoadDialog(None, self.stdName)
|
||||
testWin.panel = testWin
|
||||
testWin.Layout()
|
||||
testWin.SetPosition(pos)
|
||||
testWin.Show(true)
|
||||
testWin.Show(True)
|
||||
elif xxx.__class__ == xxxMenuBar:
|
||||
testWin = g.testWin = wxFrame(g.frame, -1, 'MenuBar: ' + name, pos=pos)
|
||||
testWin.panel = None
|
||||
@@ -536,7 +536,7 @@ class XML_Tree(wxTreeCtrl):
|
||||
testWin.CreateStatusBar()
|
||||
testWin.menuBar = res.LoadMenuBar(self.stdName)
|
||||
testWin.SetMenuBar(testWin.menuBar)
|
||||
testWin.Show(true)
|
||||
testWin.Show(True)
|
||||
elif xxx.__class__ == xxxToolBar:
|
||||
testWin = g.testWin = wxFrame(g.frame, -1, 'ToolBar: ' + name, pos=pos)
|
||||
testWin.panel = None
|
||||
@@ -544,7 +544,7 @@ class XML_Tree(wxTreeCtrl):
|
||||
testWin.CreateStatusBar()
|
||||
testWin.toolBar = res.LoadToolBar(testWin, self.stdName)
|
||||
testWin.SetToolBar(testWin.toolBar)
|
||||
testWin.Show(true)
|
||||
testWin.Show(True)
|
||||
wxMemoryFSHandler_RemoveFile('xxx.xrc')
|
||||
testWin.item = item
|
||||
EVT_CLOSE(testWin, self.OnCloseTestWin)
|
||||
@@ -556,7 +556,7 @@ class XML_Tree(wxTreeCtrl):
|
||||
wxEndBusyCursor()
|
||||
|
||||
def OnCloseTestWin(self, evt):
|
||||
self.SetItemBold(g.testWin.item, false)
|
||||
self.SetItemBold(g.testWin.item, False)
|
||||
g.testWinPos = g.testWin.GetPosition()
|
||||
g.testWin.Destroy()
|
||||
g.testWin = None
|
||||
@@ -586,14 +586,14 @@ class XML_Tree(wxTreeCtrl):
|
||||
item = self.GetFirstChild(item, 0)[0]
|
||||
for k in range(i): item = self.GetNextSibling(item)
|
||||
return item
|
||||
|
||||
|
||||
# True if next item should be inserted after current (vs. appended to it)
|
||||
def NeedInsert(self, item):
|
||||
xxx = self.GetPyData(item)
|
||||
if item == self.root: return false # root item
|
||||
if xxx.hasChildren and not self.GetChildrenCount(item, false):
|
||||
return false
|
||||
return not (self.IsExpanded(item) and self.GetChildrenCount(item, false))
|
||||
if item == self.root: return False # root item
|
||||
if xxx.hasChildren and not self.GetChildrenCount(item, False):
|
||||
return False
|
||||
return not (self.IsExpanded(item) and self.GetChildrenCount(item, False))
|
||||
|
||||
# Pull-down
|
||||
def OnRightDown(self, evt):
|
||||
@@ -616,7 +616,7 @@ class XML_Tree(wxTreeCtrl):
|
||||
self.shift = evt.ShiftDown() # and Shift too
|
||||
m = wxMenu() # create menu
|
||||
if self.ctrl:
|
||||
needInsert = true
|
||||
needInsert = True
|
||||
else:
|
||||
needInsert = self.NeedInsert(item)
|
||||
if item == self.root or needInsert and self.GetItemParent(item) == self.root:
|
||||
@@ -641,9 +641,9 @@ class XML_Tree(wxTreeCtrl):
|
||||
else:
|
||||
SetMenu(m, pullDownMenu.controls)
|
||||
if xxx.__class__ == xxxNotebook:
|
||||
m.Enable(m.FindItem('sizer'), false)
|
||||
m.Enable(m.FindItem('sizer'), False)
|
||||
elif not (xxx.isSizer or xxx.parent and xxx.parent.isSizer):
|
||||
m.Enable(pullDownMenu.ID_NEW_SPACER, false)
|
||||
m.Enable(pullDownMenu.ID_NEW_SPACER, False)
|
||||
# Select correct label for create menu
|
||||
if not needInsert:
|
||||
if self.shift:
|
||||
@@ -688,5 +688,5 @@ class XML_Tree(wxTreeCtrl):
|
||||
if isinstance(xxx, xxxBoxSizer):
|
||||
self.SetItemImage(item, xxx.treeImage())
|
||||
# Set global modified state
|
||||
g.frame.modified = true
|
||||
g.frame.modified = True
|
||||
|
||||
|
@@ -20,13 +20,13 @@ class UndoManager:
|
||||
undoObj = self.undo.pop()
|
||||
undoObj.undo()
|
||||
self.redo.append(undoObj)
|
||||
g.frame.modified = true
|
||||
g.frame.modified = True
|
||||
g.frame.SetStatusText('Undone')
|
||||
def Redo(self):
|
||||
undoObj = self.redo.pop()
|
||||
undoObj.redo()
|
||||
self.undo.append(undoObj)
|
||||
g.frame.modified = true
|
||||
g.frame.modified = True
|
||||
g.frame.SetStatusText('Redone')
|
||||
def Clear(self):
|
||||
for i in self.undo: i.destroy()
|
||||
@@ -37,7 +37,7 @@ class UndoManager:
|
||||
return not not self.undo
|
||||
def CanRedo(self):
|
||||
return not not self.redo
|
||||
|
||||
|
||||
class UndoCutDelete:
|
||||
def __init__(self, itemIndex, parent, elem):
|
||||
self.itemIndex = itemIndex
|
||||
@@ -56,7 +56,7 @@ class UndoCutDelete:
|
||||
# Update testWin if needed
|
||||
if g.testWin and g.tree.IsHighlatable(item):
|
||||
if g.conf.autoRefresh:
|
||||
g.tree.needUpdate = true
|
||||
g.tree.needUpdate = True
|
||||
g.tree.pendingHighLight = item
|
||||
else:
|
||||
g.tree.pendingHighLight = None
|
||||
@@ -72,7 +72,7 @@ class UndoCutDelete:
|
||||
# Remove highlight, update testWin
|
||||
if g.testWin.highLight:
|
||||
g.testWin.highLight.Remove()
|
||||
g.tree.needUpdate = true
|
||||
g.tree.needUpdate = True
|
||||
self.elem = g.tree.RemoveLeaf(item)
|
||||
g.tree.Unselect()
|
||||
g.panel.Clear()
|
||||
@@ -102,7 +102,7 @@ class UndoPasteCreate:
|
||||
# Remove highlight, update testWin
|
||||
if g.testWin.highLight:
|
||||
g.testWin.highLight.Remove()
|
||||
g.tree.needUpdate = true
|
||||
g.tree.needUpdate = True
|
||||
def redo(self):
|
||||
item = g.tree.InsertNode(g.tree.ItemAtFullIndex(self.itemParentIndex),
|
||||
self.parent, self.elem,
|
||||
@@ -114,7 +114,7 @@ class UndoPasteCreate:
|
||||
# Update testWin if needed
|
||||
if g.testWin and g.tree.IsHighlatable(item):
|
||||
if g.conf.autoRefresh:
|
||||
g.tree.needUpdate = true
|
||||
g.tree.needUpdate = True
|
||||
g.tree.pendingHighLight = item
|
||||
else:
|
||||
g.tree.pendingHighLight = None
|
||||
@@ -134,7 +134,7 @@ class UndoEdit:
|
||||
g.testWin.highLight.Remove()
|
||||
g.tree.pendingHighLight = selected
|
||||
if g.testWin:
|
||||
g.tree.needUpdate = true
|
||||
g.tree.needUpdate = True
|
||||
def undo(self):
|
||||
# Restore selection
|
||||
selected = g.tree.ItemAtFullIndex(self.selectedIndex)
|
||||
|
@@ -19,7 +19,7 @@ Options:
|
||||
|
||||
-v Print version info.
|
||||
"""
|
||||
|
||||
|
||||
|
||||
from globals import *
|
||||
|
||||
@@ -73,7 +73,7 @@ class ScrolledMessageDialog(wxDialog):
|
||||
text.SetConstraints(Layoutf('t=t5#1;b=t5#2;l=l5#1;r=r5#1', (self,ok)))
|
||||
text.SetSize((w * 80 + 30, h * 40))
|
||||
ok.SetConstraints(Layoutf('b=b5#1;x%w50#1;w!80;h!25', (self,)))
|
||||
self.SetAutoLayout(TRUE)
|
||||
self.SetAutoLayout(True)
|
||||
self.Fit()
|
||||
self.CenterOnScreen(wxBOTH)
|
||||
|
||||
@@ -88,7 +88,7 @@ class Frame(wxFrame):
|
||||
self.SetIcon(images.getIconIcon())
|
||||
|
||||
# Idle flag
|
||||
self.inIdle = false
|
||||
self.inIdle = False
|
||||
|
||||
# Make menus
|
||||
menuBar = wxMenuBar()
|
||||
@@ -119,7 +119,7 @@ class Frame(wxFrame):
|
||||
menu = wxMenu()
|
||||
self.ID_EMBED_PANEL = wxNewId()
|
||||
menu.Append(self.ID_EMBED_PANEL, '&Embed Panel',
|
||||
'Toggle embedding properties panel in the main window', true)
|
||||
'Toggle embedding properties panel in the main window', True)
|
||||
menu.Check(self.ID_EMBED_PANEL, conf.embedPanel)
|
||||
menu.AppendSeparator()
|
||||
self.ID_TEST = wxNewId()
|
||||
@@ -128,7 +128,7 @@ class Frame(wxFrame):
|
||||
menu.Append(self.ID_REFRESH, '&Refresh\tCtrl-R', 'Refresh test window')
|
||||
self.ID_AUTO_REFRESH = wxNewId()
|
||||
menu.Append(self.ID_AUTO_REFRESH, '&Auto-refresh\tCtrl-A',
|
||||
'Toggle auto-refresh mode', true)
|
||||
'Toggle auto-refresh mode', True)
|
||||
menu.Check(self.ID_AUTO_REFRESH, conf.autoRefresh)
|
||||
menuBar.Append(menu, '&View')
|
||||
|
||||
@@ -163,7 +163,7 @@ class Frame(wxFrame):
|
||||
tb.AddSimpleTool(self.ID_REFRESH, images.getRefreshBitmap(),
|
||||
'Refresh', 'Refresh view')
|
||||
tb.AddSimpleTool(self.ID_AUTO_REFRESH, images.getAutoRefreshBitmap(),
|
||||
'Auto-refresh', 'Toggle auto-refresh mode', true)
|
||||
'Auto-refresh', 'Toggle auto-refresh mode', True)
|
||||
if wxPlatform == '__WXGTK__':
|
||||
tb.AddSeparator() # otherwise auto-refresh sticks in status line
|
||||
tb.ToggleTool(self.ID_AUTO_REFRESH, conf.autoRefresh)
|
||||
@@ -221,7 +221,7 @@ class Frame(wxFrame):
|
||||
(conf.panelWidth, conf.panelHeight))
|
||||
self.miniFrame = miniFrame
|
||||
sizer2 = wxBoxSizer()
|
||||
miniFrame.SetAutoLayout(true)
|
||||
miniFrame.SetAutoLayout(True)
|
||||
miniFrame.SetSizer(sizer2)
|
||||
EVT_CLOSE(self.miniFrame, self.OnCloseMiniFrame)
|
||||
# Create panel for parameters
|
||||
@@ -233,10 +233,10 @@ class Frame(wxFrame):
|
||||
else:
|
||||
panel = Panel(miniFrame)
|
||||
sizer2.Add(panel, 1, wxEXPAND)
|
||||
miniFrame.Show(true)
|
||||
miniFrame.Show(True)
|
||||
splitter.Initialize(tree)
|
||||
sizer.Add(splitter, 1, wxEXPAND)
|
||||
self.SetAutoLayout(true)
|
||||
self.SetAutoLayout(True)
|
||||
self.SetSizer(sizer)
|
||||
|
||||
# Init pull-down menu data
|
||||
@@ -441,14 +441,14 @@ class Frame(wxFrame):
|
||||
selected = tree.selection
|
||||
if not selected: return # key pressed event
|
||||
xxx = tree.GetPyData(selected)
|
||||
self.clipboard = xxx.element.cloneNode(true)
|
||||
self.clipboard = xxx.element.cloneNode(True)
|
||||
self.SetStatusText('Copied')
|
||||
|
||||
def OnPaste(self, evt):
|
||||
selected = tree.selection
|
||||
if not selected: return # key pressed event
|
||||
# For pasting with Ctrl pressed
|
||||
if evt.GetId() == pullDownMenu.ID_PASTE_SIBLING: appendChild = false
|
||||
if evt.GetId() == pullDownMenu.ID_PASTE_SIBLING: appendChild = False
|
||||
else: appendChild = not tree.NeedInsert(selected)
|
||||
xxx = tree.GetPyData(selected)
|
||||
if not appendChild:
|
||||
@@ -456,47 +456,47 @@ class Frame(wxFrame):
|
||||
nextItem = tree.GetNextSibling(selected)
|
||||
parentLeaf = tree.GetItemParent(selected)
|
||||
# Expanded container (must have children)
|
||||
elif tree.IsExpanded(selected) and tree.GetChildrenCount(selected, false):
|
||||
elif tree.IsExpanded(selected) and tree.GetChildrenCount(selected, False):
|
||||
# Insert as first child
|
||||
nextItem = tree.GetFirstChild(selected, 0)[0]
|
||||
parentLeaf = selected
|
||||
else:
|
||||
# No children or unexpanded item - appendChild stays true
|
||||
# No children or unexpanded item - appendChild stays True
|
||||
nextItem = wxTreeItemId() # no next item
|
||||
parentLeaf = selected
|
||||
parent = tree.GetPyData(parentLeaf).treeObject()
|
||||
|
||||
# Create a copy of clipboard element
|
||||
elem = self.clipboard.cloneNode(true)
|
||||
elem = self.clipboard.cloneNode(True)
|
||||
# Tempopary xxx object to test things
|
||||
xxx = MakeXXXFromDOM(parent, elem)
|
||||
|
||||
# Check compatibility
|
||||
error = false
|
||||
error = False
|
||||
# Top-level
|
||||
x = xxx.treeObject()
|
||||
if x.__class__ in [xxxDialog, xxxFrame, xxxMenuBar]:
|
||||
# Top-level classes
|
||||
if parent.__class__ != xxxMainNode: error = true
|
||||
if parent.__class__ != xxxMainNode: error = True
|
||||
elif x.__class__ == xxxToolBar:
|
||||
# Toolbar can be top-level of child of panel or frame
|
||||
if parent.__class__ not in [xxxMainNode, xxxPanel, xxxFrame]: error = true
|
||||
if parent.__class__ not in [xxxMainNode, xxxPanel, xxxFrame]: error = True
|
||||
elif x.__class__ == xxxPanel and parent.__class__ == xxxMainNode:
|
||||
pass
|
||||
elif x.__class__ == xxxSpacer:
|
||||
if not parent.isSizer: error = true
|
||||
if not parent.isSizer: error = True
|
||||
elif x.__class__ == xxxSeparator:
|
||||
if not parent.__class__ in [xxxMenu, xxxToolBar]: error = true
|
||||
if not parent.__class__ in [xxxMenu, xxxToolBar]: error = True
|
||||
elif x.__class__ == xxxTool:
|
||||
if parent.__class__ != xxxToolBar: error = true
|
||||
if parent.__class__ != xxxToolBar: error = True
|
||||
elif x.__class__ == xxxMenu:
|
||||
if not parent.__class__ in [xxxMainNode, xxxMenuBar, xxxMenu]: error = true
|
||||
if not parent.__class__ in [xxxMainNode, xxxMenuBar, xxxMenu]: error = True
|
||||
elif x.__class__ == xxxMenuItem:
|
||||
if not parent.__class__ in [xxxMenuBar, xxxMenu]: error = true
|
||||
elif x.isSizer and parent.__class__ == xxxNotebook: error = true
|
||||
if not parent.__class__ in [xxxMenuBar, xxxMenu]: error = True
|
||||
elif x.isSizer and parent.__class__ == xxxNotebook: error = True
|
||||
else: # normal controls can be almost anywhere
|
||||
if parent.__class__ == xxxMainNode or \
|
||||
parent.__class__ in [xxxMenuBar, xxxMenu]: error = true
|
||||
parent.__class__ in [xxxMenuBar, xxxMenu]: error = True
|
||||
if error:
|
||||
if parent.__class__ == xxxMainNode: parentClass = 'root'
|
||||
else: parentClass = parent.className
|
||||
@@ -517,7 +517,7 @@ class Frame(wxFrame):
|
||||
elem = xxx.child.element # replace
|
||||
# This may help garbage collection
|
||||
xxx.child.parent = None
|
||||
isChildContainer = false
|
||||
isChildContainer = False
|
||||
# Parent is sizer or notebook, child is not child container
|
||||
if parent.isSizer and not isChildContainer and not isinstance(xxx, xxxSpacer):
|
||||
# Create sizer item element
|
||||
@@ -540,11 +540,11 @@ class Frame(wxFrame):
|
||||
# Update view?
|
||||
if g.testWin and tree.IsHighlatable(newItem):
|
||||
if conf.autoRefresh:
|
||||
tree.needUpdate = true
|
||||
tree.needUpdate = True
|
||||
tree.pendingHighLight = newItem
|
||||
else:
|
||||
tree.pendingHighLight = None
|
||||
self.modified = true
|
||||
self.modified = True
|
||||
self.SetStatusText('Pasted')
|
||||
|
||||
def OnCutDelete(self, evt):
|
||||
@@ -567,7 +567,7 @@ class Frame(wxFrame):
|
||||
# Remove highlight, update testWin
|
||||
if g.testWin.highLight:
|
||||
g.testWin.highLight.Remove()
|
||||
tree.needUpdate = true
|
||||
tree.needUpdate = True
|
||||
# Prepare undo data
|
||||
panel.Apply()
|
||||
index = tree.ItemFullIndex(selected)
|
||||
@@ -576,11 +576,11 @@ class Frame(wxFrame):
|
||||
undoMan.RegisterUndo(UndoCutDelete(index, parent, elem))
|
||||
if evt.GetId() == wxID_CUT:
|
||||
if self.clipboard: self.clipboard.unlink()
|
||||
self.clipboard = elem.cloneNode(true)
|
||||
self.clipboard = elem.cloneNode(True)
|
||||
tree.pendingHighLight = None
|
||||
tree.Unselect()
|
||||
panel.Clear()
|
||||
self.modified = true
|
||||
self.modified = True
|
||||
self.SetStatusText(status)
|
||||
|
||||
def OnSelect(self, evt):
|
||||
@@ -609,7 +609,7 @@ class Frame(wxFrame):
|
||||
# Widen
|
||||
self.SetDimensions(pos.x, pos.y, size.x + sizePanel.x, size.y)
|
||||
self.splitter.SplitVertically(tree, panel, conf.sashPos)
|
||||
self.miniFrame.Show(false)
|
||||
self.miniFrame.Show(False)
|
||||
else:
|
||||
conf.sashPos = self.splitter.GetSashPosition()
|
||||
pos = self.GetPosition()
|
||||
@@ -618,9 +618,9 @@ class Frame(wxFrame):
|
||||
self.splitter.Unsplit(panel)
|
||||
sizer = self.miniFrame.GetSizer()
|
||||
panel.Reparent(self.miniFrame)
|
||||
panel.Show(true)
|
||||
panel.Show(True)
|
||||
sizer.Add(panel, 1, wxEXPAND)
|
||||
self.miniFrame.Show(true)
|
||||
self.miniFrame.Show(True)
|
||||
self.miniFrame.SetDimensions(conf.panelX, conf.panelY,
|
||||
conf.panelWidth, conf.panelHeight)
|
||||
wxYield()
|
||||
@@ -642,7 +642,7 @@ class Frame(wxFrame):
|
||||
if g.testWin:
|
||||
# (re)create
|
||||
tree.CreateTestWin(g.testWin.item)
|
||||
tree.needUpdate = false
|
||||
tree.needUpdate = False
|
||||
|
||||
def OnAutoRefresh(self, evt):
|
||||
conf.autoRefresh = evt.IsChecked()
|
||||
@@ -684,7 +684,7 @@ Homepage: http://xrced.sourceforge.net\
|
||||
|
||||
def OnCreate(self, evt):
|
||||
selected = tree.selection
|
||||
if tree.ctrl: appendChild = false
|
||||
if tree.ctrl: appendChild = False
|
||||
else: appendChild = not tree.NeedInsert(selected)
|
||||
xxx = tree.GetPyData(selected)
|
||||
if not appendChild:
|
||||
@@ -699,7 +699,7 @@ Homepage: http://xrced.sourceforge.net\
|
||||
parentLeaf = tree.GetItemParent(selected)
|
||||
# Expanded container (must have children)
|
||||
elif tree.shift and tree.IsExpanded(selected) \
|
||||
and tree.GetChildrenCount(selected, false):
|
||||
and tree.GetChildrenCount(selected, False):
|
||||
nextItem = tree.GetFirstChild(selected, 0)[0]
|
||||
parentLeaf = selected
|
||||
else:
|
||||
@@ -731,7 +731,7 @@ Homepage: http://xrced.sourceforge.net\
|
||||
# Update view?
|
||||
if g.testWin and tree.IsHighlatable(newItem):
|
||||
if conf.autoRefresh:
|
||||
tree.needUpdate = true
|
||||
tree.needUpdate = True
|
||||
tree.pendingHighLight = newItem
|
||||
else:
|
||||
tree.pendingHighLight = None
|
||||
@@ -765,7 +765,7 @@ Homepage: http://xrced.sourceforge.net\
|
||||
|
||||
def OnIdle(self, evt):
|
||||
if self.inIdle: return # Recursive call protection
|
||||
self.inIdle = true
|
||||
self.inIdle = True
|
||||
if tree.needUpdate:
|
||||
if conf.autoRefresh:
|
||||
if g.testWin:
|
||||
@@ -774,12 +774,12 @@ Homepage: http://xrced.sourceforge.net\
|
||||
tree.CreateTestWin(g.testWin.item)
|
||||
wxYield()
|
||||
self.SetStatusText('')
|
||||
tree.needUpdate = false
|
||||
tree.needUpdate = False
|
||||
elif tree.pendingHighLight:
|
||||
tree.HighLight(tree.pendingHighLight)
|
||||
else:
|
||||
evt.Skip()
|
||||
self.inIdle = false
|
||||
self.inIdle = False
|
||||
|
||||
# We don't let close panel window
|
||||
def OnCloseMiniFrame(self, evt):
|
||||
@@ -807,7 +807,7 @@ Homepage: http://xrced.sourceforge.net\
|
||||
self.clipboard.unlink()
|
||||
self.clipboard = None
|
||||
undoMan.Clear()
|
||||
self.modified = false
|
||||
self.modified = False
|
||||
tree.Clear()
|
||||
panel.Clear()
|
||||
if g.testWin:
|
||||
@@ -822,7 +822,7 @@ Homepage: http://xrced.sourceforge.net\
|
||||
def Open(self, path):
|
||||
if not os.path.exists(path):
|
||||
wxLogError('File does not exists: %s' % path)
|
||||
return false
|
||||
return False
|
||||
# Try to read the file
|
||||
try:
|
||||
f = open(path)
|
||||
@@ -852,8 +852,8 @@ Homepage: http://xrced.sourceforge.net\
|
||||
inf = sys.exc_info()
|
||||
wxLogError(traceback.format_exception(inf[0], inf[1], None)[-1])
|
||||
wxLogError('Error reading file: %s' % path)
|
||||
return false
|
||||
return true
|
||||
return False
|
||||
return True
|
||||
|
||||
def Indent(self, node, indent = 0):
|
||||
# Copy child list because it will change soon
|
||||
@@ -880,22 +880,22 @@ Homepage: http://xrced.sourceforge.net\
|
||||
f = open(path, 'w')
|
||||
# Make temporary copy for formatting it
|
||||
# !!! We can't clone dom node, it works only once
|
||||
#self.domCopy = tree.dom.cloneNode(true)
|
||||
#self.domCopy = tree.dom.cloneNode(True)
|
||||
self.domCopy = MyDocument()
|
||||
mainNode = self.domCopy.appendChild(tree.mainNode.cloneNode(true))
|
||||
mainNode = self.domCopy.appendChild(tree.mainNode.cloneNode(True))
|
||||
self.Indent(mainNode)
|
||||
self.domCopy.writexml(f, encoding=tree.rootObj.params['encoding'].value())
|
||||
f.close()
|
||||
self.domCopy.unlink()
|
||||
self.domCopy = None
|
||||
self.modified = false
|
||||
panel.SetModified(false)
|
||||
self.modified = False
|
||||
panel.SetModified(False)
|
||||
except:
|
||||
wxLogError('Error writing file: %s' % path)
|
||||
raise
|
||||
|
||||
def AskSave(self):
|
||||
if not (self.modified or panel.IsModified()): return true
|
||||
if not (self.modified or panel.IsModified()): return True
|
||||
flags = wxICON_EXCLAMATION | wxYES_NO | wxCANCEL | wxCENTRE
|
||||
dlg = wxMessageDialog( self, 'File is modified. Save before exit?',
|
||||
'Save before too late?', flags )
|
||||
@@ -904,12 +904,12 @@ Homepage: http://xrced.sourceforge.net\
|
||||
if say == wxID_YES:
|
||||
self.OnSaveOrSaveAs(wxCommandEvent(wxID_SAVE))
|
||||
# If save was successful, modified flag is unset
|
||||
if not self.modified: return true
|
||||
if not self.modified: return True
|
||||
elif say == wxID_NO:
|
||||
self.modified = false
|
||||
panel.SetModified(false)
|
||||
return true
|
||||
return false
|
||||
self.modified = False
|
||||
panel.SetModified(False)
|
||||
return True
|
||||
return False
|
||||
|
||||
def SaveUndo(self):
|
||||
pass # !!!
|
||||
@@ -935,7 +935,7 @@ class App(wxApp):
|
||||
usage()
|
||||
sys.exit(0)
|
||||
elif o == '-d':
|
||||
debug = true
|
||||
debug = True
|
||||
elif o == '-v':
|
||||
print 'XRCed version', version
|
||||
sys.exit(0)
|
||||
@@ -944,10 +944,10 @@ class App(wxApp):
|
||||
# Settings
|
||||
global conf
|
||||
conf = g.conf = wxConfig(style = wxCONFIG_USE_LOCAL_FILE)
|
||||
conf.autoRefresh = conf.ReadInt('autorefresh', true)
|
||||
conf.autoRefresh = conf.ReadInt('autorefresh', True)
|
||||
pos = conf.ReadInt('x', -1), conf.ReadInt('y', -1)
|
||||
size = conf.ReadInt('width', 800), conf.ReadInt('height', 600)
|
||||
conf.embedPanel = conf.ReadInt('embedPanel', true)
|
||||
conf.embedPanel = conf.ReadInt('embedPanel', True)
|
||||
conf.sashPos = conf.ReadInt('sashPos', 200)
|
||||
if not conf.embedPanel:
|
||||
conf.panelX = conf.ReadInt('panelX', -1)
|
||||
@@ -962,17 +962,17 @@ class App(wxApp):
|
||||
wxInitAllImageHandlers()
|
||||
# Create main frame
|
||||
frame = Frame(pos, size)
|
||||
frame.Show(true)
|
||||
frame.Show(True)
|
||||
# Load resources from XRC file (!!! should be transformed to .py later?)
|
||||
frame.res = wxXmlResource('')
|
||||
frame.res.Load(os.path.join(basePath, 'xrced.xrc'))
|
||||
|
||||
# Load file after showing
|
||||
if args:
|
||||
conf.panic = false
|
||||
conf.panic = False
|
||||
frame.open = frame.Open(args[0])
|
||||
|
||||
return true
|
||||
return True
|
||||
|
||||
def OnExit(self):
|
||||
# Write config
|
||||
@@ -994,7 +994,7 @@ class App(wxApp):
|
||||
wc.Flush()
|
||||
|
||||
def main():
|
||||
app = App(0, useBestVisual=false)
|
||||
app = App(0, useBestVisual=False)
|
||||
app.MainLoop()
|
||||
app.OnExit()
|
||||
global conf
|
||||
|
@@ -138,7 +138,7 @@ class xxxParamContentCheckList(xxxNode):
|
||||
l = []
|
||||
for s,ch in value:
|
||||
itemElem = g.tree.dom.createElement('item')
|
||||
# Add checked only if true
|
||||
# Add checked only if True
|
||||
if ch: itemElem.setAttribute('checked', '1')
|
||||
itemText = g.tree.dom.createTextNode(s)
|
||||
itemElem.appendChild(itemText)
|
||||
@@ -171,10 +171,10 @@ class xxxParamBitmap(xxxParam):
|
||||
# Classes to interface DOM objects
|
||||
class xxxObject:
|
||||
# Default behavior
|
||||
hasChildren = false # has children elements?
|
||||
hasStyle = true # almost everyone
|
||||
hasName = true # has name attribute?
|
||||
isSizer = hasChild = false
|
||||
hasChildren = False # has children elements?
|
||||
hasStyle = True # almost everyone
|
||||
hasName = True # has name attribute?
|
||||
isSizer = hasChild = False
|
||||
allParams = None # Some nodes have no parameters
|
||||
# Style parameters (all optional)
|
||||
styles = ['fg', 'bg', 'font', 'enabled', 'focused', 'hidden', 'tooltip']
|
||||
@@ -286,7 +286,7 @@ class xxxParamFont(xxxObject, xxxNode):
|
||||
################################################################################
|
||||
|
||||
class xxxContainer(xxxObject):
|
||||
hasChildren = true
|
||||
hasChildren = True
|
||||
|
||||
# Simulate normal parameter for encoding
|
||||
class xxxEncoding:
|
||||
@@ -301,7 +301,7 @@ class xxxEncoding:
|
||||
class xxxMainNode(xxxContainer):
|
||||
allParams = ['encoding']
|
||||
required = ['encoding']
|
||||
hasStyle = hasName = false
|
||||
hasStyle = hasName = False
|
||||
def __init__(self, dom):
|
||||
xxxContainer.__init__(self, None, dom.documentElement)
|
||||
self.className = 'XML tree'
|
||||
@@ -324,7 +324,7 @@ class xxxDialog(xxxContainer):
|
||||
winStyles = ['wxDEFAULT_DIALOG_STYLE', 'wxSTAY_ON_TOP',
|
||||
'wxDIALOG_MODAL', 'wxDIALOG_MODELESS',
|
||||
'wxCAPTION', 'wxSYSTEM_MENU', 'wxRESIZE_BORDER', 'wxRESIZE_BOX',
|
||||
'wxTHICK_FRAME',
|
||||
'wxTHICK_FRAME',
|
||||
'wxNO_3D', 'wxTAB_TRAVERSAL', 'wxCLIP_CHILDREN']
|
||||
styles = ['fg', 'bg', 'font', 'enabled', 'focused', 'hidden', 'exstyle',
|
||||
'tooltip']
|
||||
@@ -335,7 +335,7 @@ class xxxFrame(xxxContainer):
|
||||
paramDict = {'centered': ParamBool}
|
||||
required = ['title']
|
||||
winStyles = ['wxDEFAULT_FRAME_STYLE', 'wxDEFAULT_DIALOG_STYLE',
|
||||
'wxSTAY_ON_TOP',
|
||||
'wxSTAY_ON_TOP',
|
||||
'wxCAPTION', 'wxSYSTEM_MENU', 'wxRESIZE_BORDER',
|
||||
'wxRESIZE_BOX', 'wxMINIMIZE_BOX', 'wxMAXIMIZE_BOX',
|
||||
'wxFRAME_FLOAT_ON_PARENT', 'wxFRAME_TOOL_WINDOW',
|
||||
@@ -348,12 +348,12 @@ class xxxTool(xxxObject):
|
||||
allParams = ['bitmap', 'bitmap2', 'toggle', 'tooltip', 'longhelp']
|
||||
required = ['bitmap']
|
||||
paramDict = {'bitmap2': ParamBitmap, 'toggle': ParamBool}
|
||||
hasStyle = false
|
||||
hasStyle = False
|
||||
|
||||
class xxxToolBar(xxxContainer):
|
||||
allParams = ['bitmapsize', 'margins', 'packing', 'separation',
|
||||
allParams = ['bitmapsize', 'margins', 'packing', 'separation',
|
||||
'pos', 'size', 'style']
|
||||
hasStyle = false
|
||||
hasStyle = False
|
||||
paramDict = {'bitmapsize': ParamPosSize, 'margins': ParamPosSize,
|
||||
'packing': ParamInt, 'separation': ParamInt,
|
||||
'style': ParamNonGenericStyle}
|
||||
@@ -411,7 +411,7 @@ class xxxSlider(xxxObject):
|
||||
|
||||
class xxxGauge(xxxObject):
|
||||
allParams = ['range', 'pos', 'size', 'style', 'value', 'shadow', 'bezel']
|
||||
paramDict = {'range': ParamInt, 'value': ParamInt,
|
||||
paramDict = {'range': ParamInt, 'value': ParamInt,
|
||||
'shadow': ParamInt, 'bezel': ParamInt}
|
||||
winStyles = ['wxGA_HORIZONTAL', 'wxGA_VERTICAL', 'wxGA_PROGRESSBAR', 'wxGA_SMOOTH']
|
||||
|
||||
@@ -521,14 +521,14 @@ class xxxCheckList(xxxObject):
|
||||
'wxLC_USER_TEXT', 'wxLC_EDIT_LABELS', 'wxLC_NO_HEADER',
|
||||
'wxLC_SINGLE_SEL', 'wxLC_SORT_ASCENDING', 'wxLC_SORT_DESCENDING']
|
||||
paramDict = {'content': ParamContentCheckList}
|
||||
|
||||
|
||||
################################################################################
|
||||
# Sizers
|
||||
|
||||
class xxxSizer(xxxContainer):
|
||||
hasName = hasStyle = false
|
||||
hasName = hasStyle = False
|
||||
paramDict = {'orient': ParamOrient}
|
||||
isSizer = true
|
||||
isSizer = True
|
||||
|
||||
class xxxBoxSizer(xxxSizer):
|
||||
allParams = ['orient']
|
||||
@@ -589,8 +589,8 @@ class xxxFlexGridSizer(xxxGridSizer):
|
||||
# Container with only one child.
|
||||
# Not shown in tree.
|
||||
class xxxChildContainer(xxxObject):
|
||||
hasName = hasStyle = false
|
||||
hasChild = true
|
||||
hasName = hasStyle = False
|
||||
hasChild = True
|
||||
def __init__(self, parent, element):
|
||||
xxxObject.__init__(self, parent, element)
|
||||
# Must have one child with 'object' tag, but we don't check it
|
||||
@@ -635,7 +635,7 @@ class xxxNotebookPage(xxxChildContainer):
|
||||
self.child.allParams.remove('size')
|
||||
|
||||
class xxxSpacer(xxxObject):
|
||||
hasName = hasStyle = false
|
||||
hasName = hasStyle = False
|
||||
allParams = ['size', 'option', 'flag', 'border']
|
||||
paramDict = {'option': ParamInt}
|
||||
default = {'size': '0,0'}
|
||||
@@ -655,10 +655,10 @@ class xxxMenuItem(xxxObject):
|
||||
allParams = ['label', 'bitmap', 'accel', 'help',
|
||||
'checkable', 'radio', 'enabled', 'checked']
|
||||
default = {'label': ''}
|
||||
hasStyle = false
|
||||
hasStyle = False
|
||||
|
||||
class xxxSeparator(xxxObject):
|
||||
hasName = hasStyle = false
|
||||
hasName = hasStyle = False
|
||||
|
||||
################################################################################
|
||||
# Unknown control
|
||||
@@ -675,7 +675,7 @@ xxxDict = {
|
||||
'wxFrame': xxxFrame,
|
||||
'tool': xxxTool,
|
||||
'wxToolBar': xxxToolBar,
|
||||
|
||||
|
||||
'wxBitmap': xxxBitmap,
|
||||
'wxIcon': xxxIcon,
|
||||
|
||||
@@ -707,7 +707,7 @@ xxxDict = {
|
||||
'wxCalendarCtrl': xxxCalendarCtrl,
|
||||
'wxGenericDirCtrl': xxxGenericDirCtrl,
|
||||
'wxSpinCtrl': xxxSpinCtrl,
|
||||
|
||||
|
||||
'wxBoxSizer': xxxBoxSizer,
|
||||
'wxStaticBoxSizer': xxxStaticBoxSizer,
|
||||
'wxGridSizer': xxxGridSizer,
|
||||
@@ -752,7 +752,7 @@ def MakeXXXFromDOM(parent, element):
|
||||
return klass(parent, element)
|
||||
|
||||
# Make empty DOM element
|
||||
def MakeEmptyDOM(className):
|
||||
def MakeEmptyDOM(className):
|
||||
elem = g.tree.dom.createElement('object')
|
||||
elem.setAttribute('class', className)
|
||||
# Set required and default parameters
|
||||
|
Reference in New Issue
Block a user