mirror of https://github.com/chriskiehl/Gooey.git
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.
140 lines
3.7 KiB
140 lines
3.7 KiB
# import wx
|
|
#
|
|
# from gooey.gui.lang import i18n
|
|
# from gooey.gui.util import wx_util
|
|
# from gooey.gui.widgets.calender_dialog import CalendarDlg
|
|
#
|
|
#
|
|
# class AbstractChooser(object):
|
|
# def __init__(self, data):
|
|
# self.data = data
|
|
#
|
|
# # parent
|
|
# self.panel = None
|
|
#
|
|
# self.button_text = i18n._('browse')
|
|
#
|
|
# # Widgets
|
|
# self.title = None
|
|
# self.help_msg = None
|
|
# self.text_box = None
|
|
# self.button = None
|
|
# self.panel = None
|
|
#
|
|
# def build(self, parent):
|
|
# return self.do_layout(parent)
|
|
#
|
|
# 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)
|
|
# self.button = wx.Button(self.panel, label=self.button_text, size=(73, 23))
|
|
#
|
|
# vertical_container = wx.BoxSizer(wx.VERTICAL)
|
|
# widget_sizer = wx.BoxSizer(wx.HORIZONTAL)
|
|
#
|
|
# vertical_container.Add(self.title)
|
|
# vertical_container.AddSpacer(2)
|
|
#
|
|
# if self.help_msg.GetLabelText():
|
|
# vertical_container.Add(self.help_msg, 1, wx.EXPAND)
|
|
# vertical_container.AddSpacer(2)
|
|
# else:
|
|
# vertical_container.AddStretchSpacer(1)
|
|
#
|
|
# widget_sizer.Add(self.text_box, 1, wx.EXPAND)
|
|
# widget_sizer.AddSpacer(10)
|
|
# widget_sizer.Add(self.button, 0)
|
|
#
|
|
# vertical_container.Add(widget_sizer, 0, wx.EXPAND)
|
|
# self.panel.SetSizer(vertical_container)
|
|
#
|
|
# self.panel.Bind(wx.EVT_SIZE, self.OnResize)
|
|
# self.panel.Bind(wx.EVT_BUTTON, self.on_button, self.button)
|
|
# return self.panel
|
|
#
|
|
# def CreateHelpMsgWidget(self, parent):
|
|
# base_text = wx.StaticText(parent, label=self.data['help_msg'])
|
|
# # if self.data['nargs']:
|
|
# # base_text.SetLabelText(base_text.GetLabelText() + self.CreateNargsMsg(action))
|
|
# wx_util.dark_grey(base_text)
|
|
# return base_text
|
|
#
|
|
# def CreateNameLabelWidget(self, parent):
|
|
# label = self.data['title'].title()
|
|
# text = wx.StaticText(parent, label=label)
|
|
# wx_util.make_bold(text)
|
|
# return text
|
|
#
|
|
# def OnResize(self, evt):
|
|
# if self.help_msg is None:
|
|
# return
|
|
#
|
|
# container_width, _ = self.panel.Size
|
|
# text_width, _ = self.help_msg.Size
|
|
#
|
|
# if text_width != container_width:
|
|
# self.help_msg.SetLabel(self.help_msg.GetLabelText().replace('\n', ' '))
|
|
# self.help_msg.Wrap(container_width)
|
|
# evt.Skip()
|
|
#
|
|
# def on_button(self, evt):
|
|
# raise NotImplementedError
|
|
#
|
|
#
|
|
#
|
|
# class FileChooser(AbstractChooser):
|
|
# def __init__(self, data):
|
|
# AbstractChooser.__init__(self, data)
|
|
#
|
|
# def on_button(self, evt):
|
|
# dlg = wx.FileDialog(self.panel, style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
|
|
# result = (dlg.GetPath()
|
|
# if dlg.ShowModal() == wx.ID_OK
|
|
# else None)
|
|
# if result:
|
|
# self.text_box.SetLabelText(result)
|
|
#
|
|
#
|
|
# class DirectoryChooser(AbstractChooser):
|
|
# def __init__(self, data):
|
|
# AbstractChooser.__init__(self, data)
|
|
#
|
|
# def on_button(self, evt):
|
|
# dlg = wx.DirDialog(self.panel, 'Select directory', style=wx.DD_DEFAULT_STYLE)
|
|
# result = (dlg.GetPath()
|
|
# if dlg.ShowModal() == wx.ID_OK
|
|
# else None)
|
|
# if result:
|
|
# self.text_box.SetLabelText(result)
|
|
#
|
|
#
|
|
# class CalendarChooser(AbstractChooser):
|
|
# def __init__(self, data):
|
|
# AbstractChooser.__init__(self, data)
|
|
# self.button_text = 'Choose Date'
|
|
#
|
|
# def on_button(self, evt):
|
|
# dlg = CalendarDlg(self.panel)
|
|
# dlg.ShowModal()
|
|
# if dlg.GetPath():
|
|
# self.text_box.SetLabelText(dlg.GetPath())
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|