Mercurial > libervia-web
annotate browser_side/xmlui.py @ 429:9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 01 Apr 2014 11:00:28 +0200 |
parents | 0c4547587637 |
children | a927a98b398d |
rev | line source |
---|---|
143 | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | |
3 | |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
4 # Libervia: a Salut à Toi frontend |
340 | 5 # Copyright (C) 2011, 2012, 2013, 2014 Jérôme Poisson <goffi@goffi.org> |
143 | 6 |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
10 # (at your option) any later version. |
143 | 11 |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
15 # GNU Affero General Public License for more details. |
143 | 16 |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
337
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
143 | 19 |
20 from pyjamas.ui.VerticalPanel import VerticalPanel | |
21 from pyjamas.ui.HorizontalPanel import HorizontalPanel | |
22 from pyjamas.ui.CellPanel import CellPanel | |
23 from pyjamas.ui.TabPanel import TabPanel | |
24 from pyjamas.ui.Grid import Grid | |
25 from pyjamas.ui.Label import Label | |
26 from pyjamas.ui.TextBoxBase import TextBoxBase | |
27 from pyjamas.ui.TextBox import TextBox | |
28 from pyjamas.ui.PasswordTextBox import PasswordTextBox | |
29 from pyjamas.ui.TextArea import TextArea | |
30 from pyjamas.ui.CheckBox import CheckBox | |
31 from pyjamas.ui.ListBox import ListBox | |
32 from pyjamas.ui.Button import Button | |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
33 from pyjamas.ui.HTML import HTML |
143 | 34 from nativedom import NativeDOM |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
35 from sat_frontends.tools import xmlui |
337 | 36 from sat.core.i18n import _ |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
37 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
38 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
39 class EmptyWidget(xmlui.EmptyWidget, Label): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
40 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
41 def __init__(self, parent): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
42 Label.__init__(self, '') |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
43 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
44 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
45 class TextWidget(xmlui.TextWidget, Label): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
46 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
47 def __init__(self, parent, value): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
48 Label.__init__(self, value) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
49 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
50 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
51 class LabelWidget(xmlui.LabelWidget, TextWidget): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
52 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
53 def __init__(self, parent, value): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
54 TextWidget.__init__(self, parent, value+": ") |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
55 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
56 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
57 class JidWidget(xmlui.JidWidget, TextWidget): |
337 | 58 |
59 def __init__(self, parent, value): | |
60 TextWidget.__init__(self, parent, value) | |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
61 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
62 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
63 class DividerWidget(xmlui.DividerWidget, HTML): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
64 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
65 def __init__(self, parent, style='line'): |
428
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
66 """Add a divider |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
67 |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
68 @param parent |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
69 @param style (string): one of: |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
70 - line: a simple line |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
71 - dot: a line of dots |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
72 - dash: a line of dashes |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
73 - plain: a full thick line |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
74 - blank: a blank line/space |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
75 """ |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
76 HTML.__init__(self, "<hr/>") |
0c4547587637
browser_side (xmlui): implement the divider styles
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
77 self.addStyleName(style) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
78 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
79 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
80 class StringWidget(xmlui.StringWidget, TextBox): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
81 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
82 def __init__(self, parent, value): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
83 TextBox.__init__(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
84 self.setText(value) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
85 |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
86 def _xmluiSetValue(self, value): |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
87 self.setText(value) |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
88 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
89 def _xmluiGetValue(self): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
90 return self.getText() |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
91 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
92 def _xmluiOnChange(self, callback): |
378 | 93 self.addChangeListener(callback) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
94 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
95 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
96 class PasswordWidget(xmlui.PasswordWidget, PasswordTextBox): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
97 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
98 def __init__(self, parent, value): |
390
76583fab7ea0
browser_side: fix XMLUI password box initialisation
souliane <souliane@mailoo.org>
parents:
378
diff
changeset
|
99 PasswordTextBox.__init__(self) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
100 self.setText(value) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
101 |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
102 def _xmluiSetValue(self, value): |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
103 self.setText(value) |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
104 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
105 def _xmluiGetValue(self): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
106 return self.getText() |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
107 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
108 def _xmluiOnChange(self, callback): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
109 self.addChangeListener(callback) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
110 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
111 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
112 class TextBoxWidget(xmlui.TextBoxWidget, TextArea): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
113 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
114 def __init__(self, parent, value): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
115 TextArea.__init__(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
116 self.setText(value) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
117 |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
118 def _xmluiSetValue(self, value): |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
119 self.setText(value) |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
120 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
121 def _xmluiGetValue(self): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
122 return self.getText() |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
123 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
124 def _xmluiOnChange(self, callback): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
125 self.addChangeListener(callback) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
126 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
127 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
128 class BoolWidget(xmlui.BoolWidget, CheckBox): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
129 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
130 def __init__(self, parent, state): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
131 CheckBox.__init__(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
132 self.setChecked(state) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
133 |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
134 def _xmluiSetValue(self, value): |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
135 self.setChecked(value == "true") |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
136 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
137 def _xmluiGetValue(self): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
138 return "true" if self.isChecked() else "false" |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
139 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
140 def _xmluiOnChange(self, callback): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
141 self.addClickListener(callback) |
143 | 142 |
143 | |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
144 class ButtonWidget(xmlui.ButtonWidget, Button): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
145 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
146 def __init__(self, parent, value, click_callback): |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
147 Button.__init__(self, value, click_callback) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
148 |
378 | 149 def _xmluiOnClick(self, callback): |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
150 self.addClickListener(callback) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
151 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
152 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
153 class ListWidget(xmlui.ListWidget, ListBox): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
154 |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
155 def __init__(self, parent, options, selected, flags): |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
156 ListBox.__init__(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
157 self.setMultipleSelect('single' not in flags) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
158 for option in options: |
337 | 159 self.addItem(option[1]) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
160 self._xmlui_attr_map = {label: value for value, label in options} |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
161 self._xmluiSelectValues(selected) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
162 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
163 def _xmluiSelectValue(self, value): |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
164 """Select a value checking its item""" |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
165 try: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
166 label = [label for label, _value in self._xmlui_attr_map.items() if _value == value][0] |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
167 except IndexError: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
168 print(_("WARNING: Can't find value [%s] to select" % value)) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
169 return |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
170 self.selectItem(label) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
171 |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
172 def _xmluiSelectValues(self, values): |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
173 """Select multiple values, ignore the items""" |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
174 self.setValueSelection(values) |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
175 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
176 def _xmluiGetSelectedValues(self): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
177 ret = [] |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
178 for label in self.getSelectedItemText(): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
179 ret.append(self._xmlui_attr_map[label]) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
180 return ret |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
181 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
182 def _xmluiOnChange(self, callback): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
183 self.addChangeListener(callback) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
184 |
429
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
185 def _xmluiAddValues(self, values, select=True): |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
186 selected = self._xmluiGetSelectedValues() |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
187 for value in values: |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
188 self.addItem(value) |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
189 self._xmlui_attr_map[value] = value |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
190 if value not in selected: |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
191 selected.append(value) |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
192 self._xmluiSelectValues(selected) |
9283f9e5e5dd
browser_side (xmlui): added setter methods + manage multi-selection for list widgets
souliane <souliane@mailoo.org>
parents:
428
diff
changeset
|
193 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
194 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
195 class LiberviaContainer(object): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
196 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
197 def _xmluiAppend(self, widget): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
198 self.append(widget) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
199 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
200 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
201 class AdvancedListContainer(xmlui.AdvancedListContainer, Grid): |
143 | 202 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
203 def __init__(self, parent, columns, selectable='no'): |
337 | 204 Grid.__init__(self, 0, columns) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
205 self.columns = columns |
337 | 206 self.row = -1 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
207 self.col = 0 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
208 self._xmlui_rows_idx = [] |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
209 self._xmlui_selectable = selectable != 'no' |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
210 self._xmlui_selected_row = None |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
211 self.addTableListener(self) |
376
ab923b870fb0
browser side: XMLUI AdvancedListContainer: rows are highlighted when there are selectable
Goffi <goffi@goffi.org>
parents:
369
diff
changeset
|
212 if self._xmlui_selectable: |
ab923b870fb0
browser side: XMLUI AdvancedListContainer: rows are highlighted when there are selectable
Goffi <goffi@goffi.org>
parents:
369
diff
changeset
|
213 self.addStyleName('AdvancedListSelectable') |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
214 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
215 def onCellClicked(self, grid, row, col): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
216 if not self._xmlui_selectable: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
217 return |
376
ab923b870fb0
browser side: XMLUI AdvancedListContainer: rows are highlighted when there are selectable
Goffi <goffi@goffi.org>
parents:
369
diff
changeset
|
218 self._xmlui_selected_row = row |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
219 try: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
220 self._xmlui_select_cb(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
221 except AttributeError: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
222 print "WARNING: no select callback set" |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
223 |
376
ab923b870fb0
browser side: XMLUI AdvancedListContainer: rows are highlighted when there are selectable
Goffi <goffi@goffi.org>
parents:
369
diff
changeset
|
224 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
225 def _xmluiAppend(self, widget): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
226 self.setWidget(self.row, self.col, widget) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
227 self.col += 1 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
228 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
229 def _xmluiAddRow(self, idx): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
230 self.row += 1 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
231 self.col = 0 |
337 | 232 self._xmlui_rows_idx.insert(self.row, idx) |
376
ab923b870fb0
browser side: XMLUI AdvancedListContainer: rows are highlighted when there are selectable
Goffi <goffi@goffi.org>
parents:
369
diff
changeset
|
233 self.resizeRows(self.row+1) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
234 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
235 def _xmluiGetSelectedWidgets(self): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
236 return [self.getWidget(self._xmlui_selected_row, col) for col in range(self.columns)] |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
237 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
238 def _xmluiGetSelectedIndex(self): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
239 try: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
240 return self._xmlui_rows_idx[self._xmlui_selected_row] |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
241 except TypeError: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
242 return None |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
243 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
244 def _xmluiOnSelect(self, callback): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
245 self._xmlui_select_cb = callback |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
246 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
247 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
248 class PairsContainer(xmlui.PairsContainer, Grid): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
249 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
250 def __init__(self, parent): |
247
fe83837d3491
browser_side: removed some trailing spaces
Goffi <goffi@goffi.org>
parents:
229
diff
changeset
|
251 Grid.__init__(self, 0, 0) |
143 | 252 self.row = 0 |
253 self.col = 0 | |
254 | |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
255 def _xmluiAppend(self, widget): |
143 | 256 if self.col == 0: |
257 self.resize(self.row+1, 2) | |
258 self.setWidget(self.row, self.col, widget) | |
259 self.col += 1 | |
260 if self.col == 2: | |
261 self.row +=1 | |
262 self.col = 0 | |
247
fe83837d3491
browser_side: removed some trailing spaces
Goffi <goffi@goffi.org>
parents:
229
diff
changeset
|
263 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
264 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
265 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
266 class TabsContainer(LiberviaContainer, xmlui.TabsContainer, TabPanel): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
267 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
268 def __init__(self, parent): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
269 TabPanel.__init__(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
270 self.setStyleName('liberviaTabPanel') |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
271 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
272 def _xmluiAddTab(self, label): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
273 tab_panel = VerticalContainer(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
274 self.add(tab_panel, label) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
275 if len(self.getChildren()) == 1: |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
276 self.selectTab(0) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
277 return tab_panel |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
278 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
279 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
280 class VerticalContainer(LiberviaContainer, xmlui.VerticalContainer, VerticalPanel): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
281 __bases__ = (LiberviaContainer, xmlui.VerticalContainer, VerticalPanel) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
282 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
283 def __init__(self, parent): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
284 VerticalPanel.__init__(self) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
285 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
286 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
287 class WidgetFactory(object): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
288 # XXX: __getattr__ doesn't work here for an unknown reason |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
289 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
290 def createVerticalContainer(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
291 instance = VerticalContainer(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
292 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
293 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
294 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
295 def createPairsContainer(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
296 instance = PairsContainer(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
297 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
298 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
299 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
300 def createTabsContainer(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
301 instance = TabsContainer(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
302 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
303 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
304 |
337 | 305 def createAdvancedListContainer(self, *args, **kwargs): |
306 instance = AdvancedListContainer(*args, **kwargs) | |
307 instance._xmlui_main = self._xmlui_main | |
308 return instance | |
309 | |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
310 def createEmptyWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
311 instance = EmptyWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
312 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
313 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
314 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
315 def createTextWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
316 instance = TextWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
317 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
318 return instance |
247
fe83837d3491
browser_side: removed some trailing spaces
Goffi <goffi@goffi.org>
parents:
229
diff
changeset
|
319 |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
320 def createLabelWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
321 instance = LabelWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
322 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
323 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
324 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
325 def createJidWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
326 instance = JidWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
327 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
328 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
329 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
330 def createDividerWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
331 instance = DividerWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
332 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
333 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
334 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
335 def createStringWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
336 instance = StringWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
337 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
338 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
339 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
340 def createPasswordWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
341 instance = PasswordWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
342 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
343 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
344 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
345 def createTextBoxWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
346 instance = TextBoxWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
347 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
348 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
349 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
350 def createBoolWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
351 instance = BoolWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
352 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
353 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
354 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
355 def createButtonWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
356 instance = ButtonWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
357 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
358 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
359 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
360 def createListWidget(self, *args, **kwargs): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
361 instance = ListWidget(*args, **kwargs) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
362 instance._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
363 return instance |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
364 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
365 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
366 # def __getattr__(self, attr): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
367 # if attr.startswith("create"): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
368 # cls = globals()[attr[6:]] |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
369 # cls._xmlui_main = self._xmlui_main |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
370 # return cls |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
371 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
372 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
373 class XMLUI(xmlui.XMLUI, VerticalPanel): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
374 widget_factory = WidgetFactory() |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
375 |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
376 def __init__(self, host, xml_data, title = None, flags = None): |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
377 self.widget_factory._xmlui_main = self |
143 | 378 self.dom = NativeDOM() |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
379 dom_parse = lambda xml_data: self.dom.parseString(xml_data) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
380 VerticalPanel.__init__(self) |
143 | 381 self.setSize('100%', '100%') |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
382 xmlui.XMLUI.__init__(self, host, xml_data, title, flags, dom_parse) |
143 | 383 |
384 def setCloseCb(self, close_cb): | |
385 self.close_cb = close_cb | |
386 | |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
387 def _xmluiClose(self): |
143 | 388 if self.close_cb: |
389 self.close_cb() | |
390 else: | |
391 print "WARNING: no close method defined" | |
392 | |
337 | 393 def _xmluiLaunchAction(self, action_id, data): |
394 self.host.launchAction(action_id, data) | |
395 | |
396 def _xmluiSetParam(self, name, value, category): | |
397 self.host.bridge.call('setParam', None, name, value, category) | |
398 | |
143 | 399 def constructUI(self, xml_data): |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
400 super(XMLUI, self).constructUI(xml_data) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
401 self.add(self.main_cont) |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
402 self.setCellHeight(self.main_cont, '100%') |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
403 if self.type == 'form': |
143 | 404 hpanel = HorizontalPanel() |
392
f539f6f8ee9c
browser_side: standardize the dialogs size and buttons display:
souliane <souliane@mailoo.org>
parents:
390
diff
changeset
|
405 hpanel.setStyleName('marginAuto') |
143 | 406 hpanel.add(Button('Submit',self.onFormSubmitted)) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
407 if not 'NO_CANCEL' in self.flags: |
143 | 408 hpanel.add(Button('Cancel',self.onFormCancelled)) |
409 self.add(hpanel) | |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
410 elif self.type == 'param': |
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
411 assert(isinstance(self.children[0][0],TabPanel)) |
143 | 412 hpanel = HorizontalPanel() |
392
f539f6f8ee9c
browser_side: standardize the dialogs size and buttons display:
souliane <souliane@mailoo.org>
parents:
390
diff
changeset
|
413 hpanel.add(Button('Save', self.onSaveParams)) |
335
e8c26e24a6c7
browser side: refactored XMLUI to use the new sat_frontends.tools.xmlui.XMLUI class, first draft
Goffi <goffi@goffi.org>
parents:
325
diff
changeset
|
414 hpanel.add(Button('Cancel', lambda ignore: self._xmluiClose())) |
143 | 415 self.add(hpanel) |