historical/toontown-classic.git/panda/Pmw/Pmw_1_3/lib/PmwScrolledField.py

54 lines
1.7 KiB
Python
Raw Normal View History

2024-01-16 11:20:27 -06:00
import Tkinter
import Pmw
class ScrolledField(Pmw.MegaWidget):
def __init__(self, parent = None, **kw):
# Define the megawidget options.
INITOPT = Pmw.INITOPT
optiondefs = (
('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)
# Create the components.
interior = self.interior()
self._scrolledFieldEntry = self.createcomponent('entry',
(), None,
Tkinter.Entry, (interior,))
# Can't always use 'disabled', since this greys out text in Tk 8.4.2
try:
self._scrolledFieldEntry.configure(state = 'readonly')
except Tkinter.TclError:
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.initialiseoptions()
def _text(self):
text = self['text']
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
try:
self._scrolledFieldEntry.configure(state = 'readonly')
except Tkinter.TclError:
self._scrolledFieldEntry.configure(state = 'disabled')
Pmw.forwardmethods(ScrolledField, Tkinter.Entry, '_scrolledFieldEntry')