Browse Source

Minor code cleanup. Added __repr__

subparsing
chriskiehl 10 years ago
parent
commit
5e34466996
3 changed files with 20 additions and 22 deletions
  1. 2
      gooey/gui/widgets/choosers.py
  2. 34
      gooey/gui/widgets/components.py
  3. 6
      gooey/gui/widgets/widget_pack.py

2
gooey/gui/widgets/choosers.py

@ -27,7 +27,7 @@ class AbstractChooser(object):
def do_layout(self, parent):
self.panel = wx.Panel(parent)
self.panel.SetDoubleBuffered(True)
self.title = self.CreateNameLabelWidget(self.panel)
self.help_msg = self.CreateHelpMsgWidget(self.panel)
self.text_box = wx.TextCtrl(self.panel)

34
gooey/gui/widgets/components.py

@ -1,14 +1,15 @@
from gooey.gui.widgets import widget_pack
__author__ = 'Chris'
import wx
from gooey.gui import styling
from gooey.gui.widgets import widget_pack
from collections import namedtuple
class BaseGuiComponent(object):
def __init__(self, data, widget_pack):
'''
:param data: field info (title, help, etc..)
:param widget_pack: internal wxWidgets to render
'''
self.data = data
# parent
@ -21,16 +22,13 @@ class BaseGuiComponent(object):
# Internal WidgetPack
self.widget_pack = widget_pack
# used to throttle resizing (to avoid widget jiggle)
# TODO: figure out anti-jiggle technology
# self.event_stack = []
def build(self, parent):
return self.do_layout(parent)
def do_layout(self, parent):
self.panel = wx.Panel(parent)
self.title = self.createTitle(self.panel)
self.help_msg = self.createHelpMsgWidget(self.panel)
self.help_msg.SetMinSize((0, -1))
@ -50,7 +48,7 @@ class BaseGuiComponent(object):
vertical_container.Add(core_widget_set, 0, wx.EXPAND)
self.panel.SetSizer(vertical_container)
self.panel.Bind(wx.EVT_SIZE, self.onResize)
# self.panel.Bind(wx.EVT_SIZE, self.onResize)
return self.panel
def createHelpMsgWidget(self, parent):
@ -77,12 +75,12 @@ class BaseGuiComponent(object):
def onResize(self, evt):
# handle internal widgets
self.panel.Freeze()
# self.panel.Freeze()
self._onResize(evt)
# propagate event to child widgets
self.widget_pack.onResize(evt)
evt.Skip()
self.panel.Thaw()
# self.panel.Thaw()
def _onResize(self, evt):
if not self.help_msg:
@ -103,6 +101,9 @@ class BaseGuiComponent(object):
# used only for unittesting
return self.widget_pack.widget
def __repr__(self):
return self.__class__.__name__
class CheckBox(BaseGuiComponent):
def __init__(self, data, widget_pack=None):
@ -214,9 +215,8 @@ class RadioGroup(object):
def GetValue(self):
vals = [button.GetValue() for button in self.radio_buttons]
# print self.option_stings[vals.index(True)]
try:
opts = self.option_stings[vals.index(True)][0]
return self.option_stings[vals.index(True)][0]
except:
return ''
@ -224,9 +224,6 @@ class RadioGroup(object):
return self.radio_buttons
FileChooser = lambda data: BaseGuiComponent(data=data, widget_pack=widget_pack.FileChooserPayload())
MultiFileChooser = lambda data: BaseGuiComponent(data=data, widget_pack=widget_pack.MultiFileSaverPayload())
DirChooser = lambda data: BaseGuiComponent(data=data, widget_pack=widget_pack.DirChooserPayload())
@ -236,6 +233,3 @@ TextField = lambda data: BaseGuiComponent(data=data, widget_pack=widget_
Dropdown = lambda data: BaseGuiComponent(data=data, widget_pack=widget_pack.DropdownPayload())
Counter = lambda data: BaseGuiComponent(data=data, widget_pack=widget_pack.CounterPayload())

6
gooey/gui/widgets/widget_pack.py

@ -44,7 +44,6 @@ class BaseChooser(WidgetPack):
self.button = None
def build(self, parent, data=None):
self.parent = parent
self.option_string = data['commands'][0] if data['commands'] else ''
self.text_box = wx.TextCtrl(self.parent)
@ -71,6 +70,11 @@ class BaseChooser(WidgetPack):
def onButton(self, evt):
raise NotImplementedError
def __repr__(self):
return self.__class__.__name__
class BaseFileChooser(BaseChooser):
def __init__(self, dialog):
BaseChooser.__init__(self)

Loading…
Cancel
Save