class ScrolledField(Pmw
.MegaWidget
):
def __init__(self
, parent
= None, **kw
):
# Define the megawidget options.
('labelmargin', 0, INITOPT
),
('labelpos', None, INITOPT
),
('sticky', 'ew', INITOPT
),
('text', '', self
._text
),
self
.defineoptions(kw
, optiondefs
)
# Initialise the base class (after defining the options).
Pmw
.MegaWidget
.__init
__(self
, parent
)
interior
= self
.interior()
self
._scrolledFieldEntry
= self
.createcomponent('entry',
Tkinter
.Entry
, (interior
,))
# Can't always use 'disabled', since this greys out text in Tk 8.4.2
self
._scrolledFieldEntry
.configure(state
= 'readonly')
self
._scrolledFieldEntry
.configure(state
= 'disabled')
self
._scrolledFieldEntry
.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
._scrolledFieldEntry
.configure(state
= 'normal')
self
._scrolledFieldEntry
.delete(0, 'end')
self
._scrolledFieldEntry
.insert('end', text
)
# Can't always use 'disabled', since this greys out text in Tk 8.4.2
self
._scrolledFieldEntry
.configure(state
= 'readonly')
self
._scrolledFieldEntry
.configure(state
= 'disabled')
Pmw
.forwardmethods(ScrolledField
, Tkinter
.Entry
, '_scrolledFieldEntry')