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

  1. # import wx
  2. #
  3. # from gooey.gui.lang import i18n
  4. # from gooey.gui.util import wx_util
  5. # from gooey.gui.widgets.calender_dialog import CalendarDlg
  6. #
  7. #
  8. # class AbstractChooser(object):
  9. # def __init__(self, data):
  10. # self.data = data
  11. #
  12. # # parent
  13. # self.panel = None
  14. #
  15. # self.button_text = i18n._('browse')
  16. #
  17. # # Widgets
  18. # self.title = None
  19. # self.help_msg = None
  20. # self.widget = None
  21. # self.button = None
  22. # self.panel = None
  23. #
  24. # def build(self, parent):
  25. # return self.do_layout(parent)
  26. #
  27. # def do_layout(self, parent):
  28. # self.panel = wx.Panel(parent)
  29. # self.panel.SetDoubleBuffered(True)
  30. # self.title = self.CreateNameLabelWidget(self.panel)
  31. # self.help_msg = self.CreateHelpMsgWidget(self.panel)
  32. # self.widget = wx.TextCtrl(self.panel)
  33. # self.button = wx.Button(self.panel, label=self.button_text, size=(73, 23))
  34. #
  35. # vertical_container = wx.BoxSizer(wx.VERTICAL)
  36. # widget_sizer = wx.BoxSizer(wx.HORIZONTAL)
  37. #
  38. # vertical_container.Add(self.title)
  39. # vertical_container.AddSpacer(2)
  40. #
  41. # if self.help_msg.GetLabelText():
  42. # vertical_container.Add(self.help_msg, 1, wx.EXPAND)
  43. # vertical_container.AddSpacer(2)
  44. # else:
  45. # vertical_container.AddStretchSpacer(1)
  46. #
  47. # widget_sizer.Add(self.widget, 1, wx.EXPAND)
  48. # widget_sizer.AddSpacer(10)
  49. # widget_sizer.Add(self.button, 0)
  50. #
  51. # vertical_container.Add(widget_sizer, 0, wx.EXPAND)
  52. # self.panel.SetSizer(vertical_container)
  53. #
  54. # self.panel.Bind(wx.EVT_SIZE, self.OnResize)
  55. # self.panel.Bind(wx.EVT_BUTTON, self.on_button, self.button)
  56. # return self.panel
  57. #
  58. # def CreateHelpMsgWidget(self, parent):
  59. # base_text = wx.StaticText(parent, label=self.data['help_msg'])
  60. # # if self.data['nargs']:
  61. # # base_text.SetLabelText(base_text.GetLabelText() + self.CreateNargsMsg(action))
  62. # wx_util.dark_grey(base_text)
  63. # return base_text
  64. #
  65. # def CreateNameLabelWidget(self, parent):
  66. # label = self.data['title'].title()
  67. # text = wx.StaticText(parent, label=label)
  68. # wx_util.make_bold(text)
  69. # return text
  70. #
  71. # def OnResize(self, evt):
  72. # if self.help_msg is None:
  73. # return
  74. #
  75. # container_width, _ = self.panel.Size
  76. # text_width, _ = self.help_msg.Size
  77. #
  78. # if text_width != container_width:
  79. # self.help_msg.SetLabel(self.help_msg.GetLabelText().replace('\n', ' '))
  80. # self.help_msg.Wrap(container_width)
  81. # evt.Skip()
  82. #
  83. # def on_button(self, evt):
  84. # raise NotImplementedError
  85. #
  86. #
  87. #
  88. # class FileChooser(AbstractChooser):
  89. # def __init__(self, data):
  90. # AbstractChooser.__init__(self, data)
  91. #
  92. # def on_button(self, evt):
  93. # dlg = wx.FileDialog(self.panel, style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
  94. # result = (dlg.GetPath()
  95. # if dlg.ShowModal() == wx.ID_OK
  96. # else None)
  97. # if result:
  98. # self.widget.SetLabelText(result)
  99. #
  100. #
  101. # class DirectoryChooser(AbstractChooser):
  102. # def __init__(self, data):
  103. # AbstractChooser.__init__(self, data)
  104. #
  105. # def on_button(self, evt):
  106. # dlg = wx.DirDialog(self.panel, 'Select directory', style=wx.DD_DEFAULT_STYLE)
  107. # result = (dlg.GetPath()
  108. # if dlg.ShowModal() == wx.ID_OK
  109. # else None)
  110. # if result:
  111. # self.widget.SetLabelText(result)
  112. #
  113. #
  114. # class CalendarChooser(AbstractChooser):
  115. # def __init__(self, data):
  116. # AbstractChooser.__init__(self, data)
  117. # self.button_text = 'Choose Date'
  118. #
  119. # def on_button(self, evt):
  120. # dlg = CalendarDlg(self.panel)
  121. # dlg.ShowModal()
  122. # if dlg.GetPath():
  123. # self.widget.SetLabelText(dlg.GetPath())
  124. #
  125. #
  126. #
  127. #
  128. #
  129. #
  130. #
  131. #
  132. #
  133. #
  134. #
  135. #
  136. #
  137. #
  138. #
  139. #
  140. #