You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.4 KiB

'''
Created on Dec 28, 2013
@author: Chris
'''
import wx
from wx.lib.scrolledpanel import ScrolledPanel
class AdvancedConfigPanel(ScrolledPanel):
'''
Abstract class for the Footer panels.
'''
def __init__(self, parent, **kwargs):
ScrolledPanel.__init__(self, parent, **kwargs)
self.SetupScrolling()
self.components = []
self.container = wx.BoxSizer(wx.VERTICAL)
self.container.AddSpacer(10)
self.AddRequiredArgsHeaderMsg()
self.Add
def AddRequiredArgsHeaderMsg(self):
required_msg = wx.StaticText(self, label="Required Arguments")
self.container.Add(required_msg, 0, wx.LEFT | wx.RIGHT, 20)
def AddWidgets(self, actions, widget_type):
if len(actions) == 0:
return
action = actions.pop(0)
self.CreateHelpMsgWidget(action)
if self.hasNargs(action):
self.AddNargsMsg(action)
self.AddWidget(widget_type)
self.AddWidgets(actions, widget_type)
def CreateHelpMsgWidget(self, action):
help_msg = action.help
return wx.StaticText(self, label=help_msg)
def HasNargs(self, action):
return action.nargs > 0
def AddNargsMsg(self, action):
msg = action.nargs
return wx.StaticText(self, label=msg)
def AddWidget(self, _type):
widget = getattr(wx, _type)
if __name__ == '__main__':
a = getattr(wx, 'StaticText')
print a