Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / lib / python2.4 / site-packages / Pmw / Pmw_1_2 / lib / PmwScrolledField.py
CommitLineData
920dae64
AT
1import Tkinter
2import Pmw
3
4class ScrolledField(Pmw.MegaWidget):
5 def __init__(self, parent = None, **kw):
6
7 # Define the megawidget options.
8 INITOPT = Pmw.INITOPT
9 optiondefs = (
10 ('labelmargin', 0, INITOPT),
11 ('labelpos', None, INITOPT),
12 ('sticky', 'ew', INITOPT),
13 ('text', '', self._text),
14 )
15 self.defineoptions(kw, optiondefs)
16
17 # Initialise the base class (after defining the options).
18 Pmw.MegaWidget.__init__(self, parent)
19
20 # Create the components.
21 interior = self.interior()
22 self._scrolledFieldEntry = self.createcomponent('entry',
23 (), None,
24 Tkinter.Entry, (interior,))
25
26 # Can't always use 'disabled', since this greys out text in Tk 8.4.2
27 try:
28 self._scrolledFieldEntry.configure(state = 'readonly')
29 except Tkinter.TclError:
30 self._scrolledFieldEntry.configure(state = 'disabled')
31
32 self._scrolledFieldEntry.grid(column=2, row=2, sticky=self['sticky'])
33 interior.grid_columnconfigure(2, weight=1)
34 interior.grid_rowconfigure(2, weight=1)
35
36 self.createlabel(interior)
37
38 # Check keywords and initialise options.
39 self.initialiseoptions()
40
41 def _text(self):
42 text = self['text']
43 self._scrolledFieldEntry.configure(state = 'normal')
44 self._scrolledFieldEntry.delete(0, 'end')
45 self._scrolledFieldEntry.insert('end', text)
46
47 # Can't always use 'disabled', since this greys out text in Tk 8.4.2
48 try:
49 self._scrolledFieldEntry.configure(state = 'readonly')
50 except Tkinter.TclError:
51 self._scrolledFieldEntry.configure(state = 'disabled')
52
53Pmw.forwardmethods(ScrolledField, Tkinter.Entry, '_scrolledFieldEntry')