fileMask = "*.*",
fileMode = wx.OPEN,
# callback for when value changes (optional)
- changeCallback= lambda x:x
+ changeCallback= lambda x:x,
+ labelWidth = 0
):
"""
:param labelText: Text for label to left of text field
:param fileMask: File mask (glob pattern, such as *.*) to use in file dialog
:param fileMode: wx.OPEN or wx.SAVE, indicates type of file dialog to use
:param changeCallback: Optional callback called for all changes in value of the control
+ :param labelWidth: Width of the label
"""
# store variables
self.fileMode = fileMode
self.changeCallback = changeCallback
self.callCallback = True
-
-
- # get background to match it
- try:
- self._bc = parent.GetBackgroundColour()
- except:
- pass
+ self.labelWidth = labelWidth
# create the dialog
self.createDialog(parent, id, pos, size, style )
wx.Panel.__init__ (self, parent, id, pos, size, style)
self.SetMinSize(size) # play nice with sizers
- # try to set the background colour
- try:
- #Question: is this still needed on other platforms?
- #It should have transparent background on Mac
- if wx.Platform != "__WXMAC__":
- self.SetBackgroundColour(self._bc)
- except:
- pass
-
box = wx.BoxSizer(wx.HORIZONTAL)
self.label = self.createLabel( )
label = wx.StaticText(self, -1, self.labelText, style =wx.ALIGN_RIGHT )
font = label.GetFont()
w, h, d, e = self.GetFullTextExtent(self.labelText, font)
- label.SetSize((w+5, h))
+ if self.labelWidth > 0:
+ label.SetSize((self.labelWidth+5, h))
+ else:
+ label.SetSize((w+5, h))
return label
def createTextControl( self):
textControl.SetToolTipString( self.toolTip )
textControl.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus)
if self.changeCallback:
- textControl.Bind(wx.EVT_TEXT, self.changeCallback)
- textControl.Bind(wx.EVT_COMBOBOX, self.changeCallback)
+ textControl.Bind(wx.EVT_TEXT, self.OnChanged)
+ textControl.Bind(wx.EVT_COMBOBOX, self.OnChanged)
if self.history:
history=self.history
self.history=None
"""Return the current history list"""
if self.historyCallBack != None:
return self.historyCallBack()
- else:
+ elif self.history:
return list( self.history )
+ else:
+ return []
def OnSetFocus(self, event):