]> SALOME platform Git repositories - tools/eficas.git/blob - Pmw/Pmw_1_2/lib/PmwScrolledField.py
Salome HOME
*** empty log message ***
[tools/eficas.git] / Pmw / Pmw_1_2 / lib / PmwScrolledField.py
1 import Tkinter
2 import Pmw
3
4 class 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
53 Pmw.forwardmethods(ScrolledField, Tkinter.Entry, '_scrolledFieldEntry')