"""
FtpCube
Copyright (C) Michael Gilfix
This file is part of FtpCube.
You should have received a file COPYING containing license terms
along with this program; if not, write to Michael Gilfix
(mgilfix@eecs.tufts.edu) for a copy.
This version of FtpCube is open source; you can redistribute it and/or
modify it under the terms listed in the file COPYING.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
"""
import wx
class DialogWindow(wx.Dialog):
"""Basic dialog window with OK and CANCEL buttons.
This provides a base class for creating custom dialog windows with
OK and CANCEL buttons at the bottom. The centered dialog panel can
be fetched from the base class and used as the parent object for
custom windows."""
def __init__(self, parent, title):
"""Initializes the base dialog panel."""
wx.Dialog.__init__(self, parent, -1, title)
self.dialog_panel = wx.Panel(self, -1, style=wx.SUNKEN_BORDER)
def renderDialog(self):
"""Renders the dialog panel by drawing the surrounding OK/CANCEL
boxes."""
ok_button = wx.Button(self, wx.ID_OK, _("Ok"))
ok_button.SetDefault()
cancel_button = wx.Button(self, wx.ID_CANCEL, _("Cancel"))
bsizer = wx.BoxSizer(wx.HORIZONTAL)
bsizer.Add((5, 5), 1, wx.EXPAND)
bsizer.Add(ok_button, 0, wx.EXPAND)
bsizer.Add((75, 5), 0, wx.EXPAND)
bsizer.Add(cancel_button, 0, wx.EXPAND)
bsizer.Add((5, 5), 1, wx.EXPAND)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.dialog_panel, 1, wx.EXPAND)
sizer.Add((15, 15), 0, wx.EXPAND)
sizer.Add(bsizer, 0, wx.EXPAND)
sizer.Add((15, 15), 0, wx.EXPAND)
self.SetAutoLayout(True)
self.SetSizer(sizer)
sizer.Fit(self)
sizer.SetSizeHints(self)
self.Center()
def getDialogPanel(self):
"""Gets the dialog panel used to parent sub-windows."""
return self.dialog_panel
|