vdfsplat / AppSrc / Test.src @ 67
History | View | Annotate | Download (13.2 KB)
1 | 2 | wil | // TestProject for Windows application |
---|---|---|---|
2 | |||
3 | Use DFAllEnt.pkg |
||
4 | Use cCJStandardCommandBarSystem.pkg |
||
5 | |||
6 | Object oHtmlHelp is a cHtmlHelp |
||
7 | End_Object |
||
8 | |||
9 | Object oApplication is a cApplication |
||
10 | Set pbPreserveEnvironment to False |
||
11 | Set peHelpType to htHtmlHelp |
||
12 | End_Object |
||
13 | |||
14 | Use oEditContextMenu.pkg |
||
15 | Use oDEOEditContextMenu.pkg |
||
16 | |||
17 | Object oMain is a Panel |
||
18 | |||
19 | Property Handle phoViewMenu 0 |
||
20 | Property Handle phoReportMenu 0 |
||
21 | |||
22 | Set Label to "Vdf bug SPLAT!" |
||
23 | Set Location to 4 3 |
||
24 | Set Size to 300 650 |
||
25 | |||
26 | Object oCommandBarSystem is a cCJCommandBarSystem |
||
27 | Set pbTimerUpdate to True |
||
28 | |||
29 | Procedure OnCreateCommandBars |
||
30 | Handle hoOptions |
||
31 | Get OptionsObject to hoOptions |
||
32 | Forward Send OnCreateCommandBars |
||
33 | End_Procedure |
||
34 | |||
35 | Object oMenuBar is a cCJMenuBar |
||
36 | |||
37 | Object oFileMenu is a cCJMenuItem |
||
38 | Set peControlType to xtpControlPopup |
||
39 | Set psCaption to "&File" |
||
40 | Set psDescription to "Find, Save, Delete, Clear information or quit this application." |
||
41 | Set psCategory to "Menus" |
||
42 | |||
43 | Object oClearMenuItem is a cCJClearMenuItem |
||
44 | Set pbAddToDesignerMenu to True |
||
45 | End_Object |
||
46 | |||
47 | Object oClearAllMenu is a cCJClearAllMenuItem |
||
48 | Set pbAddToDesignerMenu to True |
||
49 | End_Object |
||
50 | |||
51 | Object oPromptMenuItem is a cCJPromptMenuItem |
||
52 | Set pbAddToDesignerMenu to True |
||
53 | Set pbControlBeginGroup to True |
||
54 | End_Object |
||
55 | |||
56 | Object oFindMenuItem is a cCJFindMenuItem |
||
57 | Set pbAddToDesignerMenu to True |
||
58 | Set pbControlBeginGroup to True |
||
59 | End_Object |
||
60 | |||
61 | Object oFindNextMenu is a cCJFindNextMenuItem |
||
62 | Set pbAddToDesignerMenu to True |
||
63 | End_Object |
||
64 | |||
65 | Object oFindPreviousMenu is a cCJFindPreviousMenuItem |
||
66 | Set pbAddToDesignerMenu to True |
||
67 | End_Object |
||
68 | |||
69 | Object oFindFirstMenu is a cCJFindFirstMenuItem |
||
70 | Set pbAddToDesignerMenu to True |
||
71 | End_Object |
||
72 | |||
73 | Object oFindLastMenu is a cCJFindLastMenuItem |
||
74 | Set pbAddToDesignerMenu to True |
||
75 | End_Object |
||
76 | |||
77 | Object oSaveMenuItem is a cCJSaveMenuItem |
||
78 | Set pbAddToDesignerMenu to True |
||
79 | Set pbControlBeginGroup to True |
||
80 | End_Object |
||
81 | |||
82 | Object oDeleteMenuItem is a cCJDeleteMenuItem |
||
83 | Set pbAddToDesignerMenu to True |
||
84 | End_Object |
||
85 | |||
86 | Object oExitMenu is a cCJExitMenuItem |
||
87 | Set pbControlBeginGroup to True |
||
88 | End_Object |
||
89 | |||
90 | End_Object |
||
91 | |||
92 | Object oViewMenu is a cCJMenuItem |
||
93 | Set peControlType to xtpControlPopup |
||
94 | Set psCaption to "&View" |
||
95 | Set psToolTip to "View" |
||
96 | Set psDescription to "Available Views" |
||
97 | |||
98 | Object ooRemoteDesktopMenuItem is a cCJMenuItem |
||
99 | Set psCaption to "oRemoteDesktop" |
||
100 | Set psTooltip to "oRemoteDesktop" |
||
101 | |||
102 | Procedure OnExecute Variant vCommandBarControl |
||
103 | Handle hoClient |
||
104 | Get Client_Id to hoClient |
||
105 | Send Activate_oRemoteDesktop of hoClient |
||
106 | End_Procedure |
||
107 | End_Object |
||
108 | End_Object |
||
109 | |||
110 | Object oReportMenu is a cCJMenuItem |
||
111 | Set peControlType to xtpControlPopup |
||
112 | Set psCaption to "&Report" |
||
113 | Set psToolTip to "Report" |
||
114 | Set psDescription to "Available Reports" |
||
115 | End_Object |
||
116 | |||
117 | Object oNavigateMenu is a cCJMenuItem |
||
118 | Set peControlType to xtpControlPopup |
||
119 | Set psCaption to "&Navigate" |
||
120 | Set psTooltip to "Navigate" |
||
121 | Set psDescription to "Move to different areas of the application" |
||
122 | |||
123 | Object oNextAreaMenu is a cCJNextAreaMenu |
||
124 | End_Object |
||
125 | |||
126 | Object oPriorAreaMenu is a cCJPriorAreaMenu |
||
127 | End_Object |
||
128 | |||
129 | Object oNextViewMenu is a cCJNextViewMenu |
||
130 | End_Object |
||
131 | |||
132 | Object oPriorViewMenu is a cCJPriorViewMenu |
||
133 | End_Object |
||
134 | |||
135 | Object oPromptMenu is a cCJPromptMenuItem |
||
136 | Set pbControlBeginGroup to True |
||
137 | End_Object |
||
138 | |||
139 | Object oZoomMenu is a cCJZoomMenuItem |
||
140 | End_Object |
||
141 | |||
142 | End_Object |
||
143 | |||
144 | Object oWindowMenu is a cCJMDIWindowsMenuItem |
||
145 | Set peControlType to xtpControlPopup |
||
146 | Set psCaption to "&Window" |
||
147 | Set psToolTip to "Window" |
||
148 | Set psDescription to "Display Current Views and set other display options." |
||
149 | |||
150 | // These are the static windows items. More will be created in onInitPopup |
||
151 | Object oDisplayOptionsMenu is a cCJMenuItem |
||
152 | Set peControlType to xtpControlPopup |
||
153 | Set psCaption to "&Display Options" |
||
154 | Set psToolTip to "Display Options" |
||
155 | Set psDescription to "Set display options" |
||
156 | |||
157 | Object oStatusbarMenu is a cCJStatusbarMenuItem |
||
158 | End_Object |
||
159 | |||
160 | Object oAutoArrangeIconsMenu is a cCJAutoArrangeIconsMenuItem |
||
161 | End_Object |
||
162 | |||
163 | Object oRestoreMenusMenu is a cCJRestoreMenusMenuItem |
||
164 | Set pbControlBeginGroup to True |
||
165 | End_Object |
||
166 | |||
167 | End_Object |
||
168 | |||
169 | Object oCascadeMenu is a cCJCascadeMenuItem |
||
170 | Set pbControlBeginGroup to True |
||
171 | End_Object |
||
172 | |||
173 | Object oHorizTile is a cCJTileHorizontally |
||
174 | End_Object |
||
175 | |||
176 | Object oVertTile is a cCJTileVertically |
||
177 | End_Object |
||
178 | |||
179 | Object oMinimizeMenuItem is a cCJMinimizeWindowsMenuItem |
||
180 | Set pbControlBeginGroup to True |
||
181 | End_Object |
||
182 | |||
183 | Object oRestoreMenuItem is a cCJRestoreWindowsMenuItem |
||
184 | End_Object |
||
185 | |||
186 | Object oArrangeIconsMenuItem is a cCJAutoArrangeIconsMenuItem |
||
187 | Set pbControlBeginGroup to True |
||
188 | End_Object |
||
189 | |||
190 | End_Object |
||
191 | |||
192 | Object oHelpMenu is a cCJMenuItem |
||
193 | Set peControlType to xtpControlPopup |
||
194 | Set psCaption to "&Help" |
||
195 | Set psDescription to "Access Information for learning and using this DataFlex application." |
||
196 | Set psToolTip to "Help" |
||
197 | |||
198 | Object oHelpMenuItem is a cCJHelpMenuItem |
||
199 | End_Object |
||
200 | |||
201 | Object oAboutMenuItem is a cCJAboutMenuItem |
||
202 | End_Object |
||
203 | |||
204 | End_Object |
||
205 | |||
206 | End_Object |
||
207 | |||
208 | Object oFindToolBar is a cCJToolbar |
||
209 | Set psTitle to "Finding Toolbar" |
||
210 | |||
211 | Object oFindFirstTool is a cCJFindFirstMenuItem |
||
212 | End_Object |
||
213 | |||
214 | Object oFindPreviousTool is a cCJFindPreviousMenuItem |
||
215 | End_Object |
||
216 | |||
217 | Object oFindMenuTool is a cCJFindMenuItem |
||
218 | End_Object |
||
219 | |||
220 | Object oFindNextTool is a cCJFindNextMenuItem |
||
221 | End_Object |
||
222 | |||
223 | Object oFindLastTool is a cCJFindLastMenuItem |
||
224 | End_Object |
||
225 | |||
226 | Object oPromptToolItem is a cCJPromptMenuItem |
||
227 | Set pbControlBeginGroup to True |
||
228 | End_Object |
||
229 | |||
230 | End_Object |
||
231 | |||
232 | Object oFileToolBar is a cCJToolbar |
||
233 | Set psTitle to "Data Entry Toolbar" |
||
234 | |||
235 | Object oClearToolItem is a cCJClearMenuItem |
||
236 | Set peControlStyle to xtpButtonIconAndCaption |
||
237 | End_Object |
||
238 | |||
239 | Object oClearAllToolItem2 is a cCJClearAllMenuItem |
||
240 | Set peControlStyle to xtpButtonIconAndCaption |
||
241 | End_Object |
||
242 | |||
243 | Object oSaveToolItem is a cCJSaveMenuItem |
||
244 | Set peControlStyle to xtpButtonIconAndCaption |
||
245 | Set pbControlBeginGroup to True |
||
246 | End_Object |
||
247 | |||
248 | Object oDeleteToolItem is a cCJDeleteMenuItem |
||
249 | Set peControlStyle to xtpButtonIconAndCaption |
||
250 | End_Object |
||
251 | |||
252 | End_Object |
||
253 | |||
254 | Object oEditToolBar is a cCJToolbar |
||
255 | Set psTitle to "Edit Toolbar" |
||
256 | |||
257 | Object oCutToolbarItem is a cCJCutMenuItem |
||
258 | End_Object |
||
259 | |||
260 | Object oCopyToolbarItem is a cCJCopyMenuItem |
||
261 | End_Object |
||
262 | |||
263 | Object oPasteToolbarItem is a cCJPasteMenuItem |
||
264 | End_Object |
||
265 | |||
266 | Object oDeleteEditToolbarItem is a cCJDeleteEditMenuItem |
||
267 | Set pbControlBeginGroup to True |
||
268 | End_Object |
||
269 | |||
270 | End_Object |
||
271 | |||
272 | Object oStatusBar is a cCJStatusBar |
||
273 | |||
274 | Object oStatusPane1 is a cCJStatusBarPane |
||
275 | Set piID to sbpIDIdlePane |
||
276 | Set pbStyleStretch to True |
||
277 | End_Object |
||
278 | |||
279 | Object oStatusPane2 is a cCJStatusBarPane |
||
280 | Set phoViewPane to Self |
||
281 | Set pbStyleStretch to True |
||
282 | End_Object |
||
283 | |||
284 | End_Object |
||
285 | |||
286 | // for testing we define the view and report menus for auto activate |
||
287 | Delegate Set phoViewMenu to (oViewMenu) |
||
288 | Delegate Set phoReportMenu to (oReportMenu) |
||
289 | |||
290 | End_Object |
||
291 | |||
292 | Object oClientArea is a ClientArea |
||
293 | |||
294 | Use StdAbout.pkg |
||
295 | Use RemoteDesktop.vw |
||
296 | |||
297 | Procedure Activate_About |
||
298 | Send DoAbout "Test Windows Project" "0.0.0" "" "" "" |
||
299 | End_Procedure |
||
300 | |||
301 | End_Object |
||
302 | |||
303 | |||
304 | // All of the code below are methods and augmentations which makes this work well as a test program. This: |
||
305 | // 1. Supports an auto-activate feature where all dialogs in the view and report menu are activated upon startup |
||
306 | // 2. forces the panel to resize if it is not large enough to accomodate all of the views. |
||
307 | // This code was placed directly in the testproject template and, therefore, directly in the .src file so |
||
308 | // a developer can easily modify this to fit their own needs. It is not expected that these techniques would |
||
309 | // get used in actual deployed projects. |
||
310 | |||
311 | // special test component code to activate all views and reports. For testing we assume |
||
312 | // that you want to see everything. |
||
313 | |||
314 | Procedure AutoActivate |
||
315 | handle hoMenu |
||
316 | |||
317 | // this activates all views from the view menu |
||
318 | Get phoViewMenu to hoMenu |
||
319 | If hoMenu begin |
||
320 | Broadcast Send Execute of hoMenu |
||
321 | End |
||
322 | |||
323 | // this activates all views from the report view menu |
||
324 | Get phoReportMenu to hoMenu |
||
325 | If hoMenu begin |
||
326 | Broadcast Send Execute of hoMenu |
||
327 | End |
||
328 | End_Procedure |
||
329 | |||
330 | // This checks all views within the client area to make sure that they fit within |
||
331 | // the client area. If not we will adjust the main panel so everything fits. This |
||
332 | // can only be done after the objects are all activated. |
||
333 | |||
334 | Procedure MakeGoodPanelSize |
||
335 | Handle hoView hoClient |
||
336 | Integer iSize iLoc iHeight iWidth iOldSize |
||
337 | Get Client_Id to hoClient |
||
338 | If hoClient begin |
||
339 | Get GuiSize of hoClient to iOldSize // starting size of client area |
||
340 | Move (Hi(iOldSize)) to iHeight |
||
341 | Move (Low(iOldSize)) to iWidth |
||
342 | // for each mdi client see if it fits, keep track of largest size needed |
||
343 | Get Next_Mdi_Dialog of hoClient True to hoView // find first |
||
344 | While (hoView) |
||
345 | Get GuiSize of hoView to iSize // size of view |
||
346 | Get GuiLocation of hoView to iLoc // location of view |
||
347 | Move (hi(iSize)+hi(iLoc)+10 max iHeight) to iHeight // max height needed (+10 is for wiggle room) |
||
348 | Move (low(iSize)+low(iLoc)+10 max iWidth) to iWidth // max width needed |
||
349 | Get Next_Mdi_Dialog of hoClient False to hoView // find next view |
||
350 | Loop |
||
351 | Move (iHeight-hi(iOldSize) max 0) to iHeight // get delta compared to old size. We want delta |
||
352 | Move (iWidth-low(iOldSize) max 0) to iWidth // only if the new size is bigger (i.e., > 0) |
||
353 | If (iHeight>0 or iWidth>0) begin |
||
354 | Get GuiSize to iOldSize // now add the delta to the panel size |
||
355 | Set GuiSize to (hi(iOldSize)+iHeight) (low(iOldSize)+iWidth) |
||
356 | Send Adjust_Logicals // adjust from gui to regular size |
||
357 | End |
||
358 | End |
||
359 | End_Procedure |
||
360 | |||
361 | // special test program augmentation which opens all views and report views and |
||
362 | // makes sure that the size of the panel is big enough |
||
363 | |||
364 | Procedure End_Construct_Object |
||
365 | Boolean bAutoActivate |
||
366 | Get Auto_Activate_State to bAutoActivate |
||
367 | Forward send End_Construct_Object |
||
368 | If bAutoActivate begin |
||
369 | Send AutoActivate // activate all views and report views |
||
370 | Send MakeGoodPanelSize // make sure the panel is big enough for all of this |
||
371 | End |
||
372 | End_Procedure |
||
373 | |||
374 | End_Object |
||
375 | |||
376 | Start_UI |