root/trunk/ide/MenuDesignerPropForm.py

Revision 3515, 4.8 kB (checked in by paul, 1 year ago)

Added the ignore and eol-style props to ide, and removed unneeded files.

  • Property svn:eol-style set to native
Line 
1 # -*- coding: utf-8 -*-
2 import dabo
3 from dabo.dLocalize import _
4 import dabo.dEvents as dEvents
5 from ClassDesignerPropSheet import PropSheet
6 from ClassDesignerTreeSheet import TreeSheet
7
8 if __name__ == "__main__":
9     dabo.ui.loadUI("wx")
10
11
12 class MenuPropForm(dabo.ui.dForm):
13     """This form contains the PropSheet for the Menu Designer."""
14     def afterSetMenuBar(self):
15         self.ShowStatusBar = False
16 #       ClassDesignerMenu.mkDesignerMenu(self)
17
18
19     def onMenuOpen(self, evt):
20         try:
21             self.Controller.menuUpdate(evt, self.MenuBar)
22         except AttributeError:
23             # Not finished initializing
24             pass
25
26
27     def afterInit(self):
28         self.Caption = _("Properties")
29         pnl = dabo.ui.dPanel(self)
30         self.Sizer.append1x(pnl)
31         sz = pnl.Sizer = dabo.ui.dSizer("v")
32
33         txt = dabo.ui.dTextBox(pnl, ReadOnly=True, RegID="txtObj")
34         hsz = dabo.ui.dSizer("h")
35         hsz.append1x(txt)
36         self.treeBtn = dabo.ui.dToggleButton(pnl, Height=txt.Height,
37                 Width=txt.Height, Caption="", Picture="downTriangleBlack",
38                 DownPicture="upTriangleBlack")
39         self.treeBtn.bindEvent(dEvents.Hit, self.onToggleTree)
40         hsz.append(self.treeBtn)
41
42         brdr = 10
43         sz.appendSpacer(brdr)
44         sz.DefaultBorderLeft = sz.DefaultBorderRight = True
45         sz.DefaultBorder = brdr
46         sz.append(hsz, "x")
47         sz.appendSpacer(5)
48        
49         self.mainPager = mp = dabo.ui.dPageFrameNoTabs(pnl, PageClass=dabo.ui.dPanel)
50         mp.PageCount=2
51         mp.bindEvent(dEvents.PageChanged, self.onMainPageChanged)
52         sz.append1x(mp)
53         sz.appendSpacer(brdr)
54         self.propPage = pp = mp.Pages[0]
55         self.treePage = tp = mp.Pages[1]
56         psz = pp.Sizer = dabo.ui.dSizer("v")
57         tsz = tp.Sizer = dabo.ui.dSizer("v")
58
59         # Add the PropSheet
60         ps = PropSheet(self.propPage, RegID="_propSheet",
61                 Controller=self.Controller)
62         self.propPage.Sizer = dabo.ui.dSizer("v")
63         self.propPage.Sizer.append1x(ps)
64        
65         # Create the tree
66         self._tree = TreeSheet(tp, MultipleSelect=False, Controller=self.Controller)
67         self._tree.MultipleSelect = False
68         dabo.ui.callAfterInterval(500, self._tree.expandAll)
69         tp.Sizer.append1x(self._tree, border=10)
70         mp.SelectedPage = pp
71         self.layout()
72
73    
74     def updatePropGrid(self, propDict=None):
75         self.PropSheet.updatePropGrid(propDict=propDict)
76        
77        
78     def updateLayout(self):
79         self._tree.updateDisplay(self.Controller)
80        
81        
82     def onToggleTree(self, evt):
83         self.mainPager.nextPage()
84        
85    
86     def onMainPageChanged(self, evt):
87         self.treeBtn.Value = self.mainPager.SelectedPage is self.treePage
88    
89
90     def hideTree(self):
91         self.mainPager.SelectedPage = self.propPage
92        
93        
94     def onPanelChange(self, evt):
95         if evt.expanded:
96             pnl = evt.panel
97             if pnl is None or len(pnl.Children) < 2:
98                 return
99
100
101     def showPropPage(self):
102         self.mainPager.SelectedPage = self.propPage
103         self.refresh()
104         self.propPage.Expanded = True
105         self.bringToFront()
106
107        
108     def showTreePage(self):
109         self.mainPager.SelectedPage = self.treePage
110         self.bringToFront()
111
112        
113     def select(self, obj):
114         """Called when the selected object changes. 'obj' will be a single object.
115         We then need to update the components of this form appropriately.
116         """
117         if obj is None:
118             lbl = ""
119         else:
120             lbl = obj.DisplayText
121         self.txtObj.Value = lbl
122         self.PropSheet.select(obj)
123         self.Tree.select(obj)
124         self.refresh()
125         self.layout()
126        
127
128     def _getController(self):
129         try:
130             return self._controller
131         except AttributeError:
132             self._controller = self.Application
133             return self._controller
134
135     def _setController(self, val):
136         if self._constructed():
137             self._controller = val
138         else:
139             self._properties["Controller"] = val
140
141
142     def _getMethodList(self):
143         return self._methodList
144
145     def _setMethodList(self, val):
146         self._methodList = val
147
148
149     def _getMethodSheet(self):
150         return self._methodSheet
151
152     def _setMethodSheet(self, val):
153         self._methodSheet = val
154
155
156     def _getObjectPropertySheet(self):
157         return self._objPropSheet
158
159     def _setObjectPropertySheet(self, val):
160         self._objPropSheet = val
161
162
163     def _getPropSheet(self):
164         return self._propSheet
165
166     def _setPropSheet(self, val):
167         self._propSheet = val
168
169
170     def _getTree(self):
171         return self._tree
172
173     def _setTree(self, val):
174         self._tree = val
175
176
177     Controller = property(_getController, _setController, None,
178             _("Object to which this one reports events  (object (varies))"))
179
180     MethodList = property(_getMethodList, _setMethodList, None,
181             _("""List control containing all available methods for the
182             selected object  (dListControl)"""))
183    
184     MethodSheet = property(_getMethodSheet, _setMethodSheet, None,
185             _("Reference to the panel containing the MethodList  (MethodSheet)"))
186    
187     ObjectPropertySheet = property(_getObjectPropertySheet,
188             _setObjectPropertySheet, None, _("""Reference to the panel
189             containing the ObjectPropertySheet  (ObjectPropertySheet)"""))
190    
191     Tree = property(_getTree, _setTree, None,
192             _("Reference to the contained object tree  (TreeSheet)"))
193
194     PropSheet = property(_getPropSheet, _setPropSheet, None,
195             _("Reference to the contained prop sheet  (PropSheet)"))
Note: See TracBrowser for help on using the browser.