35 lines
949 B
Python
35 lines
949 B
Python
|
import Tkinter
|
||
|
import Pmw
|
||
|
|
||
|
class LabeledWidget(Pmw.MegaWidget):
|
||
|
def __init__(self, parent = None, **kw):
|
||
|
|
||
|
# Define the megawidget options.
|
||
|
INITOPT = Pmw.INITOPT
|
||
|
optiondefs = (
|
||
|
('labelmargin', 0, INITOPT),
|
||
|
('labelpos', None, INITOPT),
|
||
|
('sticky', 'nsew', INITOPT),
|
||
|
)
|
||
|
self.defineoptions(kw, optiondefs)
|
||
|
|
||
|
# Initialise the base class (after defining the options).
|
||
|
Pmw.MegaWidget.__init__(self, parent)
|
||
|
|
||
|
# Create the components.
|
||
|
interior = Pmw.MegaWidget.interior(self)
|
||
|
self._labelChildSite = self.createcomponent('labelchildsite',
|
||
|
(), None,
|
||
|
Tkinter.Frame, (interior,))
|
||
|
self._labelChildSite.grid(column=2, row=2, sticky=self['sticky'])
|
||
|
interior.grid_columnconfigure(2, weight=1)
|
||
|
interior.grid_rowconfigure(2, weight=1)
|
||
|
|
||
|
self.createlabel(interior)
|
||
|
|
||
|
# Check keywords and initialise options.
|
||
|
self.initialiseoptions()
|
||
|
|
||
|
def interior(self):
|
||
|
return self._labelChildSite
|