X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2dc45d8f1df69520986b47bc79db63feec1c548..d1b736b7968ceea4233f3fceecdb01173f68a9a3:/wxPython/wx/tools/XRCed/params.py diff --git a/wxPython/wx/tools/XRCed/params.py b/wxPython/wx/tools/XRCed/params.py index a246adab9a..fd7601985c 100644 --- a/wxPython/wx/tools/XRCed/params.py +++ b/wxPython/wx/tools/XRCed/params.py @@ -25,7 +25,11 @@ genericExStyles = [ 'wxWS_EX_PROCESS_UI_UPDATES' ] -buttonSize = (35,-1) # in dialog units, transformed to pixels in panel ctor +# Global vars initialized in Panel.__init__ for button and textbox size in screen pixels +buttonSize = textSise = None +# Default Button size in dialog units +buttonSizeD = (35,-1) + # Class that can properly disable children class PPanel(wx.Panel): @@ -33,6 +37,7 @@ class PPanel(wx.Panel): wx.Panel.__init__(self, parent, -1, name=name) self.modified = self.freeze = False def Enable(self, value): + self.enabled = value # Something strange is going on with enable so we make sure... for w in self.GetChildren(): w.Enable(value) @@ -54,9 +59,9 @@ class ParamBinaryOr(PPanel): sizer = wx.BoxSizer() self.text = wx.TextCtrl(self, self.ID_TEXT_CTRL, size=wx.Size(200,-1)) sizer.Add(self.text, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5) - self.button = wx.Button(self, self.ID_BUTTON_CHOICES, 'Edit...', size=buttonSize) - sizer.Add(self.button, 0, wx.ALIGN_CENTER_VERTICAL) - self.SetAutoLayout(True) + self.button = wx.Button(self, self.ID_BUTTON_CHOICES, 'Edit...', + size=(buttonSize[0], textSize[1])) + sizer.Add(self.button, 0, wx.EXPAND) self.SetSizerAndFit(sizer) wx.EVT_BUTTON(self, self.ID_BUTTON_CHOICES, self.OnButtonChoices) wx.EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange) @@ -190,8 +195,7 @@ class ParamColour(PPanel): sizer.Add(self.text, 0, wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.BOTTOM, 2) self.button = wx.Panel(self, self.ID_BUTTON, wx.DefaultPosition, wx.Size(20, 20)) sizer.Add(self.button, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT, 5) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) self.textModified = False wx.EVT_PAINT(self.button, self.OnPaintButton) wx.EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange) @@ -251,8 +255,7 @@ class ParamFont(PPanel): sizer.Add(self.text, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5) self.button = wx.Button(self, self.ID_BUTTON_SELECT, 'Select...', size=buttonSize) sizer.Add(self.button, 0, wx.ALIGN_CENTER_VERTICAL) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) self.textModified = False wx.EVT_BUTTON(self, self.ID_BUTTON_SELECT, self.OnButtonSelect) wx.EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange) @@ -260,7 +263,7 @@ class ParamFont(PPanel): PPanel.OnChange(self, evt) self.textModified = True def _defaultValue(self): - return [`g._sysFont.GetPointSize()`, 'default', 'normal', 'normal', '0', '', ''] + return [`g.sysFont().GetPointSize()`, 'default', 'normal', 'normal', '0', '', ''] def GetValue(self): if self.textModified: # text has newer value try: @@ -284,7 +287,7 @@ class ParamFont(PPanel): self.value = self._defaultValue() # Make initial font # Default values - size = g._sysFont.GetPointSize() + size = g.sysFont().GetPointSize() family = wx.DEFAULT style = weight = wx.NORMAL underlined = 0 @@ -344,8 +347,7 @@ class ParamInt(PPanel): self.spin = wx.SpinCtrl(self, self.ID_SPIN_CTRL, size=(60,-1)) self.spin.SetRange(-2147483648, 2147483647) # min/max integers sizer.Add(self.spin) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) wx.EVT_SPINCTRL(self, self.ID_SPIN_CTRL, self.OnChange) def GetValue(self): return str(self.spin.GetValue()) @@ -364,8 +366,7 @@ class ParamIntNN(PPanel): self.spin = wx.SpinCtrl(self, self.ID_SPIN_CTRL, size=(60,-1)) self.spin.SetRange(0, 10000) # min/max integers sizer.Add(self.spin) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) wx.EVT_SPINCTRL(self, self.ID_SPIN_CTRL, self.OnChange) def GetValue(self): return str(self.spin.GetValue()) @@ -388,16 +389,19 @@ class ParamUnit(PPanel): self.spin.SetRange(-10000, 10000) sizer.Add(self.text, 0, wx.EXPAND) sizer.Add(self.spin, 0, wx.EXPAND) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) self.spin.Bind(wx.EVT_SPIN_UP, self.OnSpinUp) self.spin.Bind(wx.EVT_SPIN_DOWN, self.OnSpinDown) + self.text.Bind(wx.EVT_TEXT, self.OnChange) + def GetValue(self): return self.text.GetValue() def SetValue(self, value): + self.freeze = True if not value: value = '0' self.text.SetValue(value) self.Change(0) + self.freeze = False def Change(self, x): self.freeze = True # Check if we are working with dialog units @@ -434,7 +438,6 @@ class ParamMultilineText(PPanel): sizer.Add(self.text, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5) self.button = wx.Button(self, self.ID_BUTTON_EDIT, 'Edit...', size=buttonSize) sizer.Add(self.button, 0, wx.ALIGN_CENTER_VERTICAL) - self.SetAutoLayout(True) self.SetSizerAndFit(sizer) wx.EVT_BUTTON(self, self.ID_BUTTON_EDIT, self.OnButtonEdit) wx.EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange) @@ -454,17 +457,16 @@ class ParamMultilineText(PPanel): dlg.Destroy() class ParamText(PPanel): - def __init__(self, parent, name, textWidth=-1): + def __init__(self, parent, name, textWidth=-1, style=0): PPanel.__init__(self, parent, name) self.ID_TEXT_CTRL = wx.NewId() # We use sizer even here to have the same size of text control sizer = wx.BoxSizer() - self.text = wx.TextCtrl(self, self.ID_TEXT_CTRL, size=wx.Size(textWidth,-1)) + self.text = wx.TextCtrl(self, self.ID_TEXT_CTRL, size=wx.Size(textWidth,-1), style=style) if textWidth == -1: option = 1 else: option = 0 sizer.Add(self.text, option, wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.BOTTOM, 2) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) wx.EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange) def GetValue(self): return self.text.GetValue() @@ -489,6 +491,11 @@ class ParamEncoding(ParamText): def __init__(self, parent, name): ParamText.__init__(self, parent, name, 100) +class ParamComment(ParamText): + def __init__(self, parent, name): + ParamText.__init__(self, parent, name, 330 + buttonSize[0], + style=wx.TE_PROCESS_ENTER) + class ContentDialog(wx.Dialog): def __init__(self, parent, value): # Load from resource @@ -607,8 +614,7 @@ class ParamContent(PPanel): sizer.Add(self.text, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5) self.button = wx.Button(self, self.ID_BUTTON_EDIT, 'Edit...', size=buttonSize) sizer.Add(self.button, 0, wx.ALIGN_CENTER_VERTICAL) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) self.textModified = False wx.EVT_BUTTON(self, self.ID_BUTTON_EDIT, self.OnButtonEdit) wx.EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange) @@ -747,8 +753,7 @@ class RadioBox(PPanel): button = wx.RadioButton(self, -1, i, size=(-1,buttonSize[1]), name=i) topSizer.Add(button, 0, wx.RIGHT, 5) wx.EVT_RADIOBUTTON(self, button.GetId(), self.OnRadioChoice) - self.SetAutoLayout(True) - self.SetSizerAndFit(topSizer) + self.SetSizer(topSizer) def SetStringSelection(self, value): self.freeze = True for i in self.choices: @@ -806,8 +811,7 @@ class ParamFile(PPanel): sizer.Add(self.text, 0, wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5) self.button = wx.Button(self, self.ID_BUTTON_BROWSE, 'Browse...',size=buttonSize) sizer.Add(self.button, 0, wx.ALIGN_CENTER_VERTICAL) - self.SetAutoLayout(True) - self.SetSizerAndFit(sizer) + self.SetSizer(sizer) self.textModified = False wx.EVT_BUTTON(self, self.ID_BUTTON_BROWSE, self.OnButtonBrowse) wx.EVT_TEXT(self, self.ID_TEXT_CTRL, self.OnChange) @@ -934,5 +938,6 @@ paramDict = { 'fg': ParamColour, 'bg': ParamColour, 'font': ParamFont, 'enabled': ParamBool, 'focused': ParamBool, 'hidden': ParamBool, 'tooltip': ParamText, 'bitmap': ParamBitmap, 'icon': ParamBitmap, - 'encoding': ParamEncoding, 'borders': ParamUnit + 'encoding': ParamEncoding, 'borders': ParamUnit, + 'comment': ParamComment }