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.

56 lines
1.6 KiB

from gooey.gui.lang.i18n import _
import wx
from gooey.gui.three_to_four import Constants
class BaseDialog(wx.Dialog):
"""
Common base for CalendarDlg and TimeDlg.
"""
def __init__(self, parent, pickerClass, pickerGetter, localizedPickerLabel):
wx.Dialog.__init__(self, parent, title=localizedPickerLabel)
self.SetBackgroundColour('#ffffff')
self.ok_button = wx.Button(self, wx.ID_OK, label=_('ok'))
self.picker = pickerClass(self, style=Constants.WX_DP_DROPDOWN)
self.pickerGetter = pickerGetter
vertical_container = wx.BoxSizer(wx.VERTICAL)
vertical_container.AddSpacer(10)
vertical_container.Add(self.picker, 0, wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER, 15)
vertical_container.AddSpacer(10)
button_sizer = wx.BoxSizer(wx.HORIZONTAL)
button_sizer.AddStretchSpacer(1)
button_sizer.Add(self.ok_button, 0)
vertical_container.Add(button_sizer, 0, wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER, 15)
vertical_container.AddSpacer(20)
self.SetSizerAndFit(vertical_container)
self.Bind(wx.EVT_BUTTON, self.onOkButton, self.ok_button)
def onOkButton(self, event):
self.EndModal(wx.ID_OK)
event.Skip()
def onCancelButton(self, event):
try:
return None
except:
self.Close()
def GetPath(self):
"""
Return the value chosen in the picker.
The method is called GetPath() instead of getPath() to emulate the WX Pickers API.
This allows the Chooser class to work same way with native WX dialogs or childs of BaseDialog.
"""
return self.pickerGetter(self.picker)