|
1 "{ Package: 'stx:libtool2' }" |
|
2 |
|
3 "{ NameSpace: Tools }" |
|
4 |
|
5 ResourceSpecEditor subclass:#ProjectDefinitionEditor |
|
6 instanceVariableNames:'definitionClass classList selectedClassIndexHolder |
|
7 classesTableColumns revisionNrHolder companyNameHolder |
|
8 fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder |
|
9 fileReleaseNrHolder productNameHolder majorVersionNrHolder |
|
10 fileRevisionNrHolder fileDescriptionHolder releaseNrHolder |
|
11 fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder |
|
12 isApplicationDefinitionHolder isNonGUIApplicationHolder |
|
13 startSinglethreadedHolder startupClassHolder |
|
14 startupSelectorHolder' |
|
15 classVariableNames:'' |
|
16 poolDictionaries:'' |
|
17 category:'Interface-Tools' |
|
18 ! |
|
19 |
|
20 Object subclass:#ClassListEntry |
|
21 instanceVariableNames:'className autoloaded win32 unix' |
|
22 classVariableNames:'' |
|
23 poolDictionaries:'' |
|
24 privateIn:ProjectDefinitionEditor |
|
25 ! |
|
26 |
|
27 !ProjectDefinitionEditor class methodsFor:'documentation'! |
|
28 |
|
29 documentation |
|
30 " |
|
31 unfinished app-definition editor |
|
32 |
|
33 [author:] |
|
34 cg (cg@FUSI) |
|
35 |
|
36 [instance variables:] |
|
37 |
|
38 [class variables:] |
|
39 |
|
40 [see also:] |
|
41 |
|
42 " |
|
43 ! |
|
44 |
|
45 examples |
|
46 " |
|
47 Starting the application: |
|
48 [exBegin] |
|
49 (ProjectDefinitionEditor new |
|
50 definitionClass:stx_libbasic) open |
|
51 [exEnd] |
|
52 |
|
53 [exBegin] |
|
54 (ProjectDefinitionEditor new |
|
55 definitionClass:bosch_dapasx_application) open |
|
56 [exEnd] |
|
57 " |
|
58 ! ! |
|
59 |
|
60 !ProjectDefinitionEditor class methodsFor:'interface specs'! |
|
61 |
|
62 classesSpec |
|
63 "This resource specification was automatically generated |
|
64 by the UIPainter of ST/X." |
|
65 |
|
66 "Do not manually edit this!! If it is corrupted, |
|
67 the UIPainter may not be able to read the specification." |
|
68 |
|
69 " |
|
70 UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#classesSpec |
|
71 ApplicationDefinitionEditor new openInterface:#classesSpec |
|
72 " |
|
73 |
|
74 <resource: #canvas> |
|
75 |
|
76 ^ |
|
77 #(FullSpec |
|
78 name: classesSpec |
|
79 window: |
|
80 (WindowSpec |
|
81 label: 'NewApplication' |
|
82 name: 'NewApplication' |
|
83 min: (Point 0 0) |
|
84 bounds: (Rectangle 0 0 300 300) |
|
85 ) |
|
86 component: |
|
87 (SpecCollection |
|
88 collection: ( |
|
89 (DataSetSpec |
|
90 name: 'ClassesTable' |
|
91 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
|
92 model: selectedClassIndexHolder |
|
93 hasHorizontalScrollBar: true |
|
94 hasVerticalScrollBar: true |
|
95 dataList: classList |
|
96 columnHolder: classesTableColumns |
|
97 ) |
|
98 ) |
|
99 |
|
100 ) |
|
101 ) |
|
102 ! |
|
103 |
|
104 compilationSpec |
|
105 "This resource specification was automatically generated |
|
106 by the UIPainter of ST/X." |
|
107 |
|
108 "Do not manually edit this!! If it is corrupted, |
|
109 the UIPainter may not be able to read the specification." |
|
110 |
|
111 " |
|
112 UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#compilationSpec |
|
113 ApplicationDefinitionEditor new openInterface:#compilationSpec |
|
114 " |
|
115 |
|
116 <resource: #canvas> |
|
117 |
|
118 ^ |
|
119 #(FullSpec |
|
120 name: compilationSpec |
|
121 window: |
|
122 (WindowSpec |
|
123 label: 'NewApplication' |
|
124 name: 'NewApplication' |
|
125 min: (Point 0 0) |
|
126 bounds: (Rectangle 0 0 433 300) |
|
127 ) |
|
128 component: |
|
129 (SpecCollection |
|
130 collection: ( |
|
131 (FramedBoxSpec |
|
132 label: 'Optimization' |
|
133 name: 'FramedBox1' |
|
134 layout: (LayoutFrame 0 0 0 0 0 1 -57 0.5) |
|
135 labelPosition: topLeft |
|
136 translateLabel: true |
|
137 component: |
|
138 (SpecCollection |
|
139 collection: ( |
|
140 (LabelSpec |
|
141 label: 'STC Optimization Flags:' |
|
142 name: 'Label1' |
|
143 layout: (LayoutFrame 0 0.0 7 0 160 0 29 0) |
|
144 translateLabel: true |
|
145 adjust: right |
|
146 ) |
|
147 (InputFieldSpec |
|
148 name: 'STCOptimizationFlagsEntryField' |
|
149 layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0) |
|
150 model: stcOptimizationFlagsHolder |
|
151 acceptOnReturn: true |
|
152 acceptOnTab: true |
|
153 acceptOnLostFocus: true |
|
154 acceptOnPointerLeave: false |
|
155 ) |
|
156 (LabelSpec |
|
157 label: 'CC Optimization Flags:' |
|
158 name: 'Label2' |
|
159 layout: (LayoutFrame 0 0.0 35 0 160 0 57 0) |
|
160 translateLabel: true |
|
161 adjust: right |
|
162 ) |
|
163 (InputFieldSpec |
|
164 name: 'CCOptimizationFlagsEntryField' |
|
165 layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0) |
|
166 model: ccOptimizationFlagsHolder |
|
167 acceptOnReturn: true |
|
168 acceptOnTab: true |
|
169 acceptOnLostFocus: true |
|
170 acceptOnPointerLeave: false |
|
171 ) |
|
172 ) |
|
173 |
|
174 ) |
|
175 ) |
|
176 (FramedBoxSpec |
|
177 label: 'Includes' |
|
178 name: 'FramedBox2' |
|
179 layout: (LayoutFrame 0 0 98 0 0 1 10 0.5) |
|
180 labelPosition: topLeft |
|
181 translateLabel: true |
|
182 component: |
|
183 (SpecCollection |
|
184 collection: ( |
|
185 (LabelSpec |
|
186 label: 'Additional Includes:' |
|
187 name: 'Label3' |
|
188 layout: (LayoutFrame 0 0.0 7 0 160 0 29 0) |
|
189 translateLabel: true |
|
190 adjust: right |
|
191 ) |
|
192 (InputFieldSpec |
|
193 name: 'IncludeFlagsEntryField' |
|
194 layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0) |
|
195 model: includeFlagsHolder |
|
196 acceptOnReturn: true |
|
197 acceptOnTab: true |
|
198 acceptOnLostFocus: true |
|
199 acceptOnPointerLeave: false |
|
200 ) |
|
201 ) |
|
202 |
|
203 ) |
|
204 ) |
|
205 ) |
|
206 |
|
207 ) |
|
208 ) |
|
209 |
|
210 "Modified: / 05-09-2006 / 13:28:00 / cg" |
|
211 ! |
|
212 |
|
213 descriptionSpec |
|
214 "This resource specification was automatically generated |
|
215 by the UIPainter of ST/X." |
|
216 |
|
217 "Do not manually edit this!! If it is corrupted, |
|
218 the UIPainter may not be able to read the specification." |
|
219 |
|
220 " |
|
221 UIPainter new openOnClass:ApplicationDefinitionBuilder andSelector:#descriptionSpec |
|
222 ApplicationDefinitionBuilder new openInterface:#descriptionSpec |
|
223 " |
|
224 |
|
225 <resource: #canvas> |
|
226 |
|
227 ^ |
|
228 #(FullSpec |
|
229 name: descriptionSpec |
|
230 window: |
|
231 (WindowSpec |
|
232 label: 'NewApplication' |
|
233 name: 'NewApplication' |
|
234 min: (Point 0 0) |
|
235 bounds: (Rectangle 0 0 433 300) |
|
236 ) |
|
237 component: |
|
238 (SpecCollection |
|
239 collection: ( |
|
240 (LabelSpec |
|
241 label: 'Company:' |
|
242 name: 'CompanyLabel' |
|
243 layout: (LayoutFrame 2 0.0 13 0 160 0 35 0) |
|
244 translateLabel: true |
|
245 adjust: right |
|
246 ) |
|
247 (InputFieldSpec |
|
248 name: 'CompanyEntryField' |
|
249 layout: (LayoutFrame 162 0.0 12 0 -2 1.0 34 0) |
|
250 model: companyNameHolder |
|
251 acceptOnReturn: true |
|
252 acceptOnTab: true |
|
253 acceptOnLostFocus: true |
|
254 acceptOnPointerLeave: false |
|
255 ) |
|
256 (LabelSpec |
|
257 label: 'Description:' |
|
258 name: 'DescriptionLabel' |
|
259 layout: (LayoutFrame 2 0.0 39 0 160 0 61 0) |
|
260 translateLabel: true |
|
261 adjust: right |
|
262 ) |
|
263 (InputFieldSpec |
|
264 name: 'DescriptionEntryField' |
|
265 layout: (LayoutFrame 162 0.0 38 0 -2 1.0 60 0) |
|
266 model: descriptionHolder |
|
267 acceptOnReturn: true |
|
268 acceptOnTab: true |
|
269 acceptOnLostFocus: true |
|
270 acceptOnPointerLeave: false |
|
271 ) |
|
272 (LabelSpec |
|
273 label: 'ProductName:' |
|
274 name: 'ProductNameLabel' |
|
275 layout: (LayoutFrame 2 0.0 65 0 160 0 87 0) |
|
276 translateLabel: true |
|
277 adjust: right |
|
278 ) |
|
279 (InputFieldSpec |
|
280 name: 'ProductNameEntryField' |
|
281 layout: (LayoutFrame 162 0.0 64 0 -2 1.0 86 0) |
|
282 model: productNameHolder |
|
283 acceptOnReturn: true |
|
284 acceptOnTab: true |
|
285 acceptOnLostFocus: true |
|
286 acceptOnPointerLeave: false |
|
287 ) |
|
288 (LabelSpec |
|
289 label: 'ProductVersion:' |
|
290 name: 'ProductVersionLabel' |
|
291 layout: (LayoutFrame 2 0.0 91 0 160 0 113 0) |
|
292 translateLabel: true |
|
293 adjust: right |
|
294 ) |
|
295 (InputFieldSpec |
|
296 name: 'MajorVersionNrEntryField' |
|
297 layout: (LayoutFrame 162 0.0 90 0 182 0.0 112 0) |
|
298 model: majorVersionNrHolder |
|
299 type: number |
|
300 acceptOnReturn: true |
|
301 acceptOnTab: true |
|
302 acceptOnLostFocus: true |
|
303 acceptOnPointerLeave: false |
|
304 ) |
|
305 (InputFieldSpec |
|
306 name: 'MinorVersionNrEntryField' |
|
307 layout: (LayoutFrame 184 0.0 90 0 204 0.0 112 0) |
|
308 model: minorVersionNrHolder |
|
309 type: numberOrNil |
|
310 acceptOnReturn: true |
|
311 acceptOnTab: true |
|
312 acceptOnLostFocus: true |
|
313 acceptOnPointerLeave: false |
|
314 ) |
|
315 (InputFieldSpec |
|
316 name: 'RevisionNrEntryField' |
|
317 layout: (LayoutFrame 206 0.0 90 0 226 0.0 112 0) |
|
318 model: revisionNrHolder |
|
319 type: number |
|
320 acceptOnReturn: true |
|
321 acceptOnTab: true |
|
322 acceptOnLostFocus: true |
|
323 acceptOnPointerLeave: false |
|
324 ) |
|
325 (InputFieldSpec |
|
326 name: 'ReleaseNrEntryField' |
|
327 layout: (LayoutFrame 228 0.0 90 0 248 0.0 112 0) |
|
328 model: releaseNrHolder |
|
329 type: number |
|
330 acceptOnReturn: true |
|
331 acceptOnTab: true |
|
332 acceptOnLostFocus: true |
|
333 acceptOnPointerLeave: false |
|
334 ) |
|
335 (LabelSpec |
|
336 label: 'LegalCopyright:' |
|
337 name: 'LegalCopyrightLabel' |
|
338 layout: (LayoutFrame 2 0.0 119 0 160 0 141 0) |
|
339 translateLabel: true |
|
340 adjust: right |
|
341 ) |
|
342 (InputFieldSpec |
|
343 name: 'LegalCopyrightEntryField' |
|
344 layout: (LayoutFrame 162 0.0 118 0 -2 1.0 140 0) |
|
345 model: legalCopyrightHolder |
|
346 acceptOnReturn: true |
|
347 acceptOnTab: true |
|
348 acceptOnLostFocus: true |
|
349 acceptOnPointerLeave: false |
|
350 ) |
|
351 (LabelSpec |
|
352 label: 'FileDescriptionDescription:' |
|
353 name: 'FileDescriptionLabel' |
|
354 layout: (LayoutFrame 2 0.0 161 0 160 0 183 0) |
|
355 translateLabel: true |
|
356 adjust: right |
|
357 ) |
|
358 (InputFieldSpec |
|
359 name: 'FileDescriptionEntryField' |
|
360 layout: (LayoutFrame 162 0.0 160 0 -2 1.0 182 0) |
|
361 model: fileDescriptionHolder |
|
362 acceptOnReturn: true |
|
363 acceptOnTab: true |
|
364 acceptOnLostFocus: true |
|
365 acceptOnPointerLeave: false |
|
366 ) |
|
367 (LabelSpec |
|
368 label: 'FileVersion:' |
|
369 name: 'FileVersionLabel' |
|
370 layout: (LayoutFrame 2 0.0 187 0 160 0 209 0) |
|
371 translateLabel: true |
|
372 adjust: right |
|
373 ) |
|
374 (InputFieldSpec |
|
375 name: 'FileMajorVersionNrEntryField' |
|
376 layout: (LayoutFrame 162 0.0 186 0 182 0.0 208 0) |
|
377 model: fileMajorVersionNrHolder |
|
378 type: number |
|
379 acceptOnReturn: true |
|
380 acceptOnTab: true |
|
381 acceptOnLostFocus: true |
|
382 acceptOnPointerLeave: false |
|
383 ) |
|
384 (InputFieldSpec |
|
385 name: 'FileMinorVersionNrEntryField' |
|
386 layout: (LayoutFrame 184 0.0 186 0 204 0.0 208 0) |
|
387 model: fileMinorVersionNrHolder |
|
388 type: number |
|
389 acceptOnReturn: true |
|
390 acceptOnTab: true |
|
391 acceptOnLostFocus: true |
|
392 acceptOnPointerLeave: false |
|
393 ) |
|
394 (InputFieldSpec |
|
395 name: 'FileRevisionNrEntryField' |
|
396 layout: (LayoutFrame 206 0.0 186 0 226 0.0 208 0) |
|
397 model: fileRevisionNrHolder |
|
398 type: number |
|
399 acceptOnReturn: true |
|
400 acceptOnTab: true |
|
401 acceptOnLostFocus: true |
|
402 acceptOnPointerLeave: false |
|
403 ) |
|
404 (InputFieldSpec |
|
405 name: 'FileReleaseNrEntryField' |
|
406 layout: (LayoutFrame 228 0.0 186 0 248 0.0 208 0) |
|
407 model: fileReleaseNrHolder |
|
408 type: number |
|
409 acceptOnReturn: true |
|
410 acceptOnTab: true |
|
411 acceptOnLostFocus: true |
|
412 acceptOnPointerLeave: false |
|
413 ) |
|
414 (LabelSpec |
|
415 label: 'Icon Filename:' |
|
416 name: 'IconFileNameLabel' |
|
417 layout: (LayoutFrame 2 0.0 236 0 160 0 258 0) |
|
418 visibilityChannel: isApplicationDefinitionHolder |
|
419 translateLabel: true |
|
420 adjust: right |
|
421 ) |
|
422 (InputFieldSpec |
|
423 name: 'IconFileNameEntryField' |
|
424 layout: (LayoutFrame 162 0.0 234 0 -2 1.0 256 0) |
|
425 visibilityChannel: isApplicationDefinitionHolder |
|
426 model: iconFilenameHolder |
|
427 acceptOnReturn: true |
|
428 acceptOnTab: true |
|
429 acceptOnLostFocus: true |
|
430 acceptOnPointerLeave: false |
|
431 ) |
|
432 ) |
|
433 |
|
434 ) |
|
435 ) |
|
436 ! |
|
437 |
|
438 extensionsSpec |
|
439 "This resource specification was automatically generated |
|
440 by the UIPainter of ST/X." |
|
441 |
|
442 "Do not manually edit this!! If it is corrupted, |
|
443 the UIPainter may not be able to read the specification." |
|
444 |
|
445 " |
|
446 UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsSpec |
|
447 ApplicationDefinitionEditor new openInterface:#extensionsSpec |
|
448 " |
|
449 |
|
450 <resource: #canvas> |
|
451 |
|
452 ^ |
|
453 #(FullSpec |
|
454 name: extensionsSpec |
|
455 window: |
|
456 (WindowSpec |
|
457 label: 'NewApplication' |
|
458 name: 'NewApplication' |
|
459 min: (Point 0 0) |
|
460 bounds: (Rectangle 0 0 300 300) |
|
461 ) |
|
462 component: |
|
463 (SpecCollection |
|
464 collection: ( |
|
465 (DataSetSpec |
|
466 name: 'ExtensionsTable' |
|
467 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
|
468 model: selectedExtensionIndexHolder |
|
469 hasHorizontalScrollBar: true |
|
470 hasVerticalScrollBar: true |
|
471 dataList: extensionsList |
|
472 columnHolder: extensionsTableColumns |
|
473 ) |
|
474 ) |
|
475 |
|
476 ) |
|
477 ) |
|
478 ! |
|
479 |
|
480 prerequisitesSpec |
|
481 "This resource specification was automatically generated |
|
482 by the UIPainter of ST/X." |
|
483 |
|
484 "Do not manually edit this!! If it is corrupted, |
|
485 the UIPainter may not be able to read the specification." |
|
486 |
|
487 " |
|
488 UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsSpec |
|
489 ApplicationDefinitionEditor new openInterface:#extensionsSpec |
|
490 " |
|
491 |
|
492 <resource: #canvas> |
|
493 |
|
494 ^ |
|
495 #(FullSpec |
|
496 name: extensionsSpec |
|
497 window: |
|
498 (WindowSpec |
|
499 label: 'NewApplication' |
|
500 name: 'NewApplication' |
|
501 min: (Point 0 0) |
|
502 bounds: (Rectangle 0 0 300 300) |
|
503 ) |
|
504 component: |
|
505 (SpecCollection |
|
506 collection: ( |
|
507 (DataSetSpec |
|
508 name: 'ExtensionsTable' |
|
509 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
|
510 model: selectedPrerequisitesIndexHolder |
|
511 hasHorizontalScrollBar: true |
|
512 hasVerticalScrollBar: true |
|
513 dataList: prerequisitesList |
|
514 columnHolder: prerequisitesTableColumns |
|
515 ) |
|
516 ) |
|
517 |
|
518 ) |
|
519 ) |
|
520 |
|
521 "Created: / 05-09-2006 / 13:21:32 / cg" |
|
522 ! |
|
523 |
|
524 startupSpec |
|
525 "This resource specification was automatically generated |
|
526 by the UIPainter of ST/X." |
|
527 |
|
528 "Do not manually edit this!! If it is corrupted, |
|
529 the UIPainter may not be able to read the specification." |
|
530 |
|
531 " |
|
532 UIPainter new openOnClass:ApplicationDefinitionEditor andSelector:#startupSpec |
|
533 ApplicationDefinitionEditor new openInterface:#startupSpec |
|
534 " |
|
535 |
|
536 <resource: #canvas> |
|
537 |
|
538 ^ |
|
539 #(FullSpec |
|
540 name: startupSpec |
|
541 window: |
|
542 (WindowSpec |
|
543 label: 'NewApplication' |
|
544 name: 'NewApplication' |
|
545 min: (Point 0 0) |
|
546 bounds: (Rectangle 0 0 433 300) |
|
547 ) |
|
548 component: |
|
549 (SpecCollection |
|
550 collection: ( |
|
551 (FramedBoxSpec |
|
552 label: 'Startup' |
|
553 name: 'FramedBox1' |
|
554 layout: (LayoutFrame 0 0 0 0 0 1 -57 0.5) |
|
555 labelPosition: topLeft |
|
556 translateLabel: true |
|
557 component: |
|
558 (SpecCollection |
|
559 collection: ( |
|
560 (LabelSpec |
|
561 label: 'Startup Class:' |
|
562 name: 'Label1' |
|
563 layout: (LayoutFrame 0 0.0 7 0 160 0 29 0) |
|
564 translateLabel: true |
|
565 adjust: right |
|
566 ) |
|
567 (InputFieldSpec |
|
568 name: 'StartupClassEntryField' |
|
569 layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0) |
|
570 model: startupClassHolder |
|
571 acceptOnReturn: true |
|
572 acceptOnTab: true |
|
573 acceptOnLostFocus: true |
|
574 acceptOnPointerLeave: false |
|
575 ) |
|
576 (LabelSpec |
|
577 label: 'Startup Selector:' |
|
578 name: 'Label2' |
|
579 layout: (LayoutFrame 0 0.0 35 0 160 0 57 0) |
|
580 translateLabel: true |
|
581 adjust: right |
|
582 ) |
|
583 (InputFieldSpec |
|
584 name: 'StartupSelectorEntryField' |
|
585 layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0) |
|
586 model: startupSelectorHolder |
|
587 acceptOnReturn: true |
|
588 acceptOnTab: true |
|
589 acceptOnLostFocus: true |
|
590 acceptOnPointerLeave: false |
|
591 ) |
|
592 ) |
|
593 |
|
594 ) |
|
595 ) |
|
596 (FramedBoxSpec |
|
597 label: 'Execution' |
|
598 name: 'FramedBox2' |
|
599 layout: (LayoutFrame 0 0 97 0 0 1 10 0.5) |
|
600 labelPosition: topLeft |
|
601 translateLabel: true |
|
602 component: |
|
603 (SpecCollection |
|
604 collection: ( |
|
605 (CheckBoxSpec |
|
606 label: 'Non-GUI Application' |
|
607 name: 'CheckBox1' |
|
608 layout: (LayoutFrame 0 0.0 7 0 0 0.5 29 0) |
|
609 model: isNonGUIApplicationHolder |
|
610 translateLabel: true |
|
611 ) |
|
612 (CheckBoxSpec |
|
613 label: 'Singlethreaded' |
|
614 name: 'CheckBox2' |
|
615 layout: (LayoutFrame 0 0.5 7 0 0 1 29 0) |
|
616 enableChannel: isNonGUIApplicationHolder |
|
617 model: startSinglethreadedHolder |
|
618 translateLabel: true |
|
619 ) |
|
620 ) |
|
621 |
|
622 ) |
|
623 ) |
|
624 ) |
|
625 |
|
626 ) |
|
627 ) |
|
628 ! |
|
629 |
|
630 windowSpec |
|
631 "This resource specification was automatically generated |
|
632 by the UIPainter of ST/X." |
|
633 |
|
634 "Do not manually edit this!! If it is corrupted, |
|
635 the UIPainter may not be able to read the specification." |
|
636 |
|
637 " |
|
638 UIPainter new openOnClass:ApplicationDefinitionBuilder andSelector:#windowSpec |
|
639 ApplicationDefinitionBuilder new openInterface:#windowSpec |
|
640 ApplicationDefinitionBuilder open |
|
641 " |
|
642 |
|
643 <resource: #canvas> |
|
644 |
|
645 ^ |
|
646 #(FullSpec |
|
647 name: windowSpec |
|
648 window: |
|
649 (WindowSpec |
|
650 label: 'ApplicationDefinitionBuilder' |
|
651 name: 'ApplicationDefinitionBuilder' |
|
652 min: (Point 10 10) |
|
653 max: (Point 1024 768) |
|
654 bounds: (Rectangle 0 0 596 339) |
|
655 menu: mainMenu |
|
656 ) |
|
657 component: |
|
658 (SpecCollection |
|
659 collection: ( |
|
660 (NoteBookViewSpec |
|
661 name: 'NoteBook1' |
|
662 layout: (LayoutFrame 0 0 0 0 0 1 0 1) |
|
663 model: selectedTabIndexHolder |
|
664 menu: tabList |
|
665 useIndex: true |
|
666 ) |
|
667 ) |
|
668 |
|
669 ) |
|
670 ) |
|
671 |
|
672 "Modified: / 03-09-2006 / 10:57:33 / cg" |
|
673 ! ! |
|
674 |
|
675 !ProjectDefinitionEditor class methodsFor:'list specs'! |
|
676 |
|
677 tabListForApplication |
|
678 "This resource specification was automatically generated |
|
679 by the TabListEditor of ST/X." |
|
680 |
|
681 "Do not manually edit this!! If it is corrupted, |
|
682 the TabListEditor may not be able to read the specification." |
|
683 |
|
684 " |
|
685 TabListEditor new openOnClass: self andSelector:#tabList |
|
686 " |
|
687 |
|
688 <resource: #tabList> |
|
689 |
|
690 ^ #( |
|
691 (TabItem |
|
692 label: 'Classes' |
|
693 createNewBuilder: false |
|
694 translateLabel: true |
|
695 minorKey: classesSpec |
|
696 ) |
|
697 (TabItem |
|
698 label: 'Extensions' |
|
699 minorKey: extensionsSpec |
|
700 ) |
|
701 (TabItem |
|
702 label: 'Prerequisites' |
|
703 minorKey: prerequisitesSpec |
|
704 ) |
|
705 (TabItem |
|
706 label: 'Description' |
|
707 minorKey: descriptionSpec |
|
708 ) |
|
709 (TabItem |
|
710 label: 'Compilation' |
|
711 minorKey: compilationSpec |
|
712 ) |
|
713 (TabItem |
|
714 label: 'Startup' |
|
715 minorKey: startupSpec |
|
716 ) |
|
717 ) |
|
718 |
|
719 collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ] |
|
720 |
|
721 "Created: / 05-09-2006 / 16:24:48 / cg" |
|
722 ! |
|
723 |
|
724 tabListForLibrary |
|
725 "This resource specification was automatically generated |
|
726 by the TabListEditor of ST/X." |
|
727 |
|
728 "Do not manually edit this!! If it is corrupted, |
|
729 the TabListEditor may not be able to read the specification." |
|
730 |
|
731 " |
|
732 TabListEditor new openOnClass: self andSelector:#tabList |
|
733 " |
|
734 |
|
735 <resource: #tabList> |
|
736 |
|
737 ^ #( |
|
738 (TabItem |
|
739 label: 'Classes' |
|
740 createNewBuilder: false |
|
741 translateLabel: true |
|
742 minorKey: classesSpec |
|
743 ) |
|
744 (TabItem |
|
745 label: 'Extensions' |
|
746 minorKey: extensionsSpec |
|
747 ) |
|
748 (TabItem |
|
749 label: 'Prerequisites' |
|
750 minorKey: prerequisitesSpec |
|
751 ) |
|
752 (TabItem |
|
753 label: 'Description' |
|
754 minorKey: descriptionSpec |
|
755 ) |
|
756 (TabItem |
|
757 label: 'Compilation' |
|
758 minorKey: compilationSpec |
|
759 ) |
|
760 (TabItem |
|
761 label: 'Startup' |
|
762 minorKey: startupSpec |
|
763 ) |
|
764 ) |
|
765 |
|
766 collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ] |
|
767 |
|
768 "Created: / 05-09-2006 / 16:24:52 / cg" |
|
769 ! ! |
|
770 |
|
771 !ProjectDefinitionEditor class methodsFor:'menu specs'! |
|
772 |
|
773 classListMenu |
|
774 "This resource specification was automatically generated |
|
775 by the MenuEditor of ST/X." |
|
776 |
|
777 "Do not manually edit this!! If it is corrupted, |
|
778 the MenuEditor may not be able to read the specification." |
|
779 |
|
780 " |
|
781 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#classListMenu |
|
782 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor classListMenu)) startUp |
|
783 " |
|
784 |
|
785 <resource: #menu> |
|
786 |
|
787 ^ |
|
788 #(Menu |
|
789 ( |
|
790 (MenuItem |
|
791 label: 'Generate' |
|
792 itemValue: menuGenerateClassList |
|
793 translateLabel: true |
|
794 ) |
|
795 (MenuItem |
|
796 label: '-' |
|
797 ) |
|
798 (MenuItem |
|
799 label: 'Add...' |
|
800 itemValue: menuAddClass |
|
801 translateLabel: true |
|
802 ) |
|
803 (MenuItem |
|
804 label: 'Remove...' |
|
805 itemValue: menuRemoveClass |
|
806 translateLabel: true |
|
807 ) |
|
808 ) |
|
809 nil |
|
810 nil |
|
811 ) |
|
812 ! |
|
813 |
|
814 extensionsListMenu |
|
815 "This resource specification was automatically generated |
|
816 by the MenuEditor of ST/X." |
|
817 |
|
818 "Do not manually edit this!! If it is corrupted, |
|
819 the MenuEditor may not be able to read the specification." |
|
820 |
|
821 " |
|
822 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsListMenu |
|
823 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor extensionsListMenu)) startUp |
|
824 " |
|
825 |
|
826 <resource: #menu> |
|
827 |
|
828 ^ |
|
829 #(Menu |
|
830 ( |
|
831 (MenuItem |
|
832 label: 'Generate' |
|
833 itemValue: menuGenerateExtensionsList |
|
834 translateLabel: true |
|
835 ) |
|
836 (MenuItem |
|
837 label: '-' |
|
838 ) |
|
839 (MenuItem |
|
840 label: 'Add...' |
|
841 itemValue: menuAddExtension |
|
842 translateLabel: true |
|
843 ) |
|
844 (MenuItem |
|
845 label: 'Remove...' |
|
846 itemValue: menuRemoveExtension |
|
847 translateLabel: true |
|
848 ) |
|
849 ) |
|
850 nil |
|
851 nil |
|
852 ) |
|
853 ! |
|
854 |
|
855 mainMenu |
|
856 "This resource specification was automatically generated |
|
857 by the MenuEditor of ST/X." |
|
858 |
|
859 "Do not manually edit this!! If it is corrupted, |
|
860 the MenuEditor may not be able to read the specification." |
|
861 |
|
862 " |
|
863 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#mainMenu |
|
864 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor mainMenu)) startUp |
|
865 " |
|
866 |
|
867 <resource: #menu> |
|
868 |
|
869 ^ |
|
870 #(Menu |
|
871 ( |
|
872 (MenuItem |
|
873 label: 'File' |
|
874 translateLabel: true |
|
875 submenu: |
|
876 (Menu |
|
877 ( |
|
878 (MenuItem |
|
879 label: 'New' |
|
880 itemValue: menuNew |
|
881 translateLabel: true |
|
882 ) |
|
883 (MenuItem |
|
884 label: '-' |
|
885 ) |
|
886 (MenuItem |
|
887 label: 'Open...' |
|
888 itemValue: menuOpen |
|
889 translateLabel: true |
|
890 ) |
|
891 (MenuItem |
|
892 label: '-' |
|
893 ) |
|
894 (MenuItem |
|
895 label: 'Save' |
|
896 itemValue: menuSave |
|
897 translateLabel: true |
|
898 ) |
|
899 (MenuItem |
|
900 label: 'Save As...' |
|
901 itemValue: menuSaveAs |
|
902 translateLabel: true |
|
903 ) |
|
904 (MenuItem |
|
905 label: '-' |
|
906 ) |
|
907 (MenuItem |
|
908 label: 'Exit' |
|
909 itemValue: closeRequest |
|
910 translateLabel: true |
|
911 ) |
|
912 ) |
|
913 nil |
|
914 nil |
|
915 ) |
|
916 ) |
|
917 (MenuItem |
|
918 label: 'Classes' |
|
919 translateLabel: true |
|
920 isVisible: classesMenuVisibleHolder |
|
921 submenuChannel: classListMenu |
|
922 keepLinkedMenu: true |
|
923 ) |
|
924 (MenuItem |
|
925 label: 'Extensions' |
|
926 translateLabel: true |
|
927 isVisible: extensionsMenuVisibleHolder |
|
928 submenuChannel: extensionsListMenu |
|
929 keepLinkedMenu: true |
|
930 ) |
|
931 (MenuItem |
|
932 label: 'Prerequisites' |
|
933 translateLabel: true |
|
934 isVisible: prerequisitesMenuVisibleHolder |
|
935 submenuChannel: prerequisitesListMenu |
|
936 keepLinkedMenu: true |
|
937 ) |
|
938 (MenuItem |
|
939 label: 'Help' |
|
940 translateLabel: true |
|
941 startGroup: right |
|
942 submenu: |
|
943 (Menu |
|
944 ( |
|
945 (MenuItem |
|
946 label: 'Documentation' |
|
947 itemValue: openDocumentation |
|
948 translateLabel: true |
|
949 ) |
|
950 (MenuItem |
|
951 label: '-' |
|
952 ) |
|
953 (MenuItem |
|
954 label: 'About this Application...' |
|
955 itemValue: openAboutThisApplication |
|
956 translateLabel: true |
|
957 ) |
|
958 ) |
|
959 nil |
|
960 nil |
|
961 ) |
|
962 ) |
|
963 ) |
|
964 nil |
|
965 nil |
|
966 ) |
|
967 ! |
|
968 |
|
969 prerequisitesListMenu |
|
970 "This resource specification was automatically generated |
|
971 by the MenuEditor of ST/X." |
|
972 |
|
973 "Do not manually edit this!! If it is corrupted, |
|
974 the MenuEditor may not be able to read the specification." |
|
975 |
|
976 " |
|
977 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsListMenu |
|
978 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor extensionsListMenu)) startUp |
|
979 " |
|
980 |
|
981 <resource: #menu> |
|
982 |
|
983 ^ |
|
984 #(Menu |
|
985 ( |
|
986 (MenuItem |
|
987 label: 'Generate' |
|
988 itemValue: menuGeneratePrerequisitesList |
|
989 translateLabel: true |
|
990 ) |
|
991 (MenuItem |
|
992 label: '-' |
|
993 ) |
|
994 (MenuItem |
|
995 label: 'Add...' |
|
996 itemValue: menuAddPrerequisite |
|
997 translateLabel: true |
|
998 ) |
|
999 (MenuItem |
|
1000 label: 'Remove...' |
|
1001 itemValue: menuRemovePrerequisite |
|
1002 translateLabel: true |
|
1003 ) |
|
1004 ) |
|
1005 nil |
|
1006 nil |
|
1007 ) |
|
1008 |
|
1009 "Modified: / 05-09-2006 / 13:24:58 / cg" |
|
1010 ! ! |
|
1011 |
|
1012 !ProjectDefinitionEditor class methodsFor:'tableColumns specs'! |
|
1013 |
|
1014 classesTableColumns |
|
1015 "This resource specification was automatically generated |
|
1016 by the DataSetBuilder of ST/X." |
|
1017 |
|
1018 "Do not manually edit this!! If it is corrupted, |
|
1019 the DataSetBuilder may not be able to read the specification." |
|
1020 |
|
1021 " |
|
1022 DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#classesTableColumns |
|
1023 " |
|
1024 |
|
1025 <resource: #tableColumns> |
|
1026 |
|
1027 ^#( |
|
1028 (DataSetColumnSpec |
|
1029 label: 'Auto' |
|
1030 labelButtonType: Button |
|
1031 rendererType: CheckToggle |
|
1032 model: autoloaded |
|
1033 ) |
|
1034 (DataSetColumnSpec |
|
1035 label: 'Win32' |
|
1036 labelButtonType: Button |
|
1037 rendererType: CheckToggle |
|
1038 model: win32 |
|
1039 ) |
|
1040 (DataSetColumnSpec |
|
1041 label: 'Unix' |
|
1042 labelButtonType: Button |
|
1043 rendererType: CheckToggle |
|
1044 model: unix |
|
1045 ) |
|
1046 (DataSetColumnSpec |
|
1047 label: 'Class' |
|
1048 labelButtonType: Button |
|
1049 model: className |
|
1050 ) |
|
1051 ) |
|
1052 |
|
1053 ! |
|
1054 |
|
1055 extensionsTableColumns |
|
1056 "This resource specification was automatically generated |
|
1057 by the DataSetBuilder of ST/X." |
|
1058 |
|
1059 "Do not manually edit this!! If it is corrupted, |
|
1060 the DataSetBuilder may not be able to read the specification." |
|
1061 |
|
1062 " |
|
1063 DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsTableColumns |
|
1064 " |
|
1065 |
|
1066 <resource: #tableColumns> |
|
1067 |
|
1068 ^#( |
|
1069 (DataSetColumnSpec |
|
1070 label: 'Class' |
|
1071 labelButtonType: Button |
|
1072 model: className |
|
1073 ) |
|
1074 (DataSetColumnSpec |
|
1075 label: 'Selector' |
|
1076 labelButtonType: Button |
|
1077 model: selector |
|
1078 ) |
|
1079 ) |
|
1080 |
|
1081 ! |
|
1082 |
|
1083 prerequisitesTableColumns |
|
1084 "This resource specification was automatically generated |
|
1085 by the DataSetBuilder of ST/X." |
|
1086 |
|
1087 "Do not manually edit this!! If it is corrupted, |
|
1088 the DataSetBuilder may not be able to read the specification." |
|
1089 |
|
1090 " |
|
1091 DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#prerequisitesTableColumns |
|
1092 " |
|
1093 |
|
1094 <resource: #tableColumns> |
|
1095 |
|
1096 ^#( |
|
1097 (DataSetColumnSpec |
|
1098 label: 'Package' |
|
1099 labelButtonType: Button |
|
1100 model: package |
|
1101 ) |
|
1102 ) |
|
1103 |
|
1104 ! ! |
|
1105 |
|
1106 !ProjectDefinitionEditor methodsFor:'accessing'! |
|
1107 |
|
1108 definitionClass |
|
1109 ^ definitionClass |
|
1110 |
|
1111 "Created: / 04-09-2006 / 16:30:09 / cg" |
|
1112 ! |
|
1113 |
|
1114 definitionClass:aClass |
|
1115 definitionClass := aClass. |
|
1116 self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ). |
|
1117 |
|
1118 "Created: / 04-09-2006 / 16:30:18 / cg" |
|
1119 "Modified: / 04-09-2006 / 19:22:40 / cg" |
|
1120 ! ! |
|
1121 |
|
1122 !ProjectDefinitionEditor methodsFor:'aspects'! |
|
1123 |
|
1124 classList |
|
1125 classList isNil ifTrue:[ |
|
1126 classList := #() asValue. |
|
1127 ]. |
|
1128 ^ classList. |
|
1129 |
|
1130 "Modified: / 05-09-2006 / 10:22:35 / cg" |
|
1131 ! |
|
1132 |
|
1133 classesTableColumns |
|
1134 classesTableColumns isNil ifTrue:[ |
|
1135 classesTableColumns := self class classesTableColumns asValue. |
|
1136 ]. |
|
1137 ^ classesTableColumns. |
|
1138 |
|
1139 "Modified: / 04-09-2006 / 17:58:09 / cg" |
|
1140 ! |
|
1141 |
|
1142 companyNameHolder |
|
1143 companyNameHolder isNil ifTrue:[ |
|
1144 companyNameHolder := ValueHolder new. |
|
1145 ]. |
|
1146 ^ companyNameHolder. |
|
1147 |
|
1148 "Created: / 04-09-2006 / 17:58:02 / cg" |
|
1149 ! |
|
1150 |
|
1151 descriptionHolder |
|
1152 descriptionHolder isNil ifTrue:[ |
|
1153 descriptionHolder := ValueHolder new. |
|
1154 ]. |
|
1155 ^ descriptionHolder. |
|
1156 |
|
1157 "Modified: / 04-09-2006 / 17:58:15 / cg" |
|
1158 ! |
|
1159 |
|
1160 fileDescriptionHolder |
|
1161 fileDescriptionHolder isNil ifTrue:[ |
|
1162 fileDescriptionHolder := ValueHolder new. |
|
1163 ]. |
|
1164 ^ fileDescriptionHolder. |
|
1165 |
|
1166 "Modified: / 04-09-2006 / 17:58:19 / cg" |
|
1167 ! |
|
1168 |
|
1169 fileMajorVersionNrHolder |
|
1170 "automatically generated by UIPainter ..." |
|
1171 |
|
1172 "*** the code below creates a default model when invoked." |
|
1173 "*** (which may not be the one you wanted)" |
|
1174 "*** Please change as required and accept it in the browser." |
|
1175 "*** (and replace this comment by something more useful ;-)" |
|
1176 |
|
1177 fileMajorVersionNrHolder isNil ifTrue:[ |
|
1178 fileMajorVersionNrHolder := ValueHolder new. |
|
1179 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1180 "/ fileMajorVersionNrHolder addDependent:self. |
|
1181 "/ fileMajorVersionNrHolder onChangeSend:#fileMajorVersionNrHolderChanged to:self. |
|
1182 ]. |
|
1183 ^ fileMajorVersionNrHolder. |
|
1184 ! |
|
1185 |
|
1186 fileMinorVersionNrHolder |
|
1187 "automatically generated by UIPainter ..." |
|
1188 |
|
1189 "*** the code below creates a default model when invoked." |
|
1190 "*** (which may not be the one you wanted)" |
|
1191 "*** Please change as required and accept it in the browser." |
|
1192 "*** (and replace this comment by something more useful ;-)" |
|
1193 |
|
1194 fileMinorVersionNrHolder isNil ifTrue:[ |
|
1195 fileMinorVersionNrHolder := ValueHolder new. |
|
1196 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1197 "/ fileMinorVersionNrHolder addDependent:self. |
|
1198 "/ fileMinorVersionNrHolder onChangeSend:#fileMinorVersionNrHolderChanged to:self. |
|
1199 ]. |
|
1200 ^ fileMinorVersionNrHolder. |
|
1201 ! |
|
1202 |
|
1203 fileReleaseNrHolder |
|
1204 "automatically generated by UIPainter ..." |
|
1205 |
|
1206 "*** the code below creates a default model when invoked." |
|
1207 "*** (which may not be the one you wanted)" |
|
1208 "*** Please change as required and accept it in the browser." |
|
1209 "*** (and replace this comment by something more useful ;-)" |
|
1210 |
|
1211 fileReleaseNrHolder isNil ifTrue:[ |
|
1212 fileReleaseNrHolder := ValueHolder new. |
|
1213 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1214 "/ fileReleaseNrHolder addDependent:self. |
|
1215 "/ fileReleaseNrHolder onChangeSend:#fileReleaseNrHolderChanged to:self. |
|
1216 ]. |
|
1217 ^ fileReleaseNrHolder. |
|
1218 ! |
|
1219 |
|
1220 fileRevisionNrHolder |
|
1221 "automatically generated by UIPainter ..." |
|
1222 |
|
1223 "*** the code below creates a default model when invoked." |
|
1224 "*** (which may not be the one you wanted)" |
|
1225 "*** Please change as required and accept it in the browser." |
|
1226 "*** (and replace this comment by something more useful ;-)" |
|
1227 |
|
1228 fileRevisionNrHolder isNil ifTrue:[ |
|
1229 fileRevisionNrHolder := ValueHolder new. |
|
1230 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1231 "/ fileRevisionNrHolder addDependent:self. |
|
1232 "/ fileRevisionNrHolder onChangeSend:#fileRevisionNrHolderChanged to:self. |
|
1233 ]. |
|
1234 ^ fileRevisionNrHolder. |
|
1235 ! |
|
1236 |
|
1237 iconFileNameHolder |
|
1238 iconFileNameHolder isNil ifTrue:[ |
|
1239 iconFileNameHolder := ValueHolder new. |
|
1240 ]. |
|
1241 ^ iconFileNameHolder. |
|
1242 |
|
1243 "Created: / 04-09-2006 / 18:01:22 / cg" |
|
1244 ! |
|
1245 |
|
1246 iconFilenameHolder |
|
1247 "automatically generated by UIPainter ..." |
|
1248 |
|
1249 "*** the code below creates a default model when invoked." |
|
1250 "*** (which may not be the one you wanted)" |
|
1251 "*** Please change as required and accept it in the browser." |
|
1252 "*** (and replace this comment by something more useful ;-)" |
|
1253 |
|
1254 iconFilenameHolder isNil ifTrue:[ |
|
1255 iconFilenameHolder := ValueHolder new. |
|
1256 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1257 "/ iconFilenameHolder addDependent:self. |
|
1258 "/ iconFilenameHolder onChangeSend:#iconFilenameHolderChanged to:self. |
|
1259 ]. |
|
1260 ^ iconFilenameHolder. |
|
1261 ! |
|
1262 |
|
1263 isApplicationDefinitionHolder |
|
1264 isApplicationDefinitionHolder isNil ifTrue:[ |
|
1265 isApplicationDefinitionHolder := false asValue |
|
1266 ]. |
|
1267 ^ isApplicationDefinitionHolder. |
|
1268 |
|
1269 "Created: / 04-09-2006 / 19:22:47 / cg" |
|
1270 ! |
|
1271 |
|
1272 isNonGUIApplicationHolder |
|
1273 isNonGUIApplicationHolder isNil ifTrue:[ |
|
1274 isNonGUIApplicationHolder := false asValue. |
|
1275 ]. |
|
1276 ^ isNonGUIApplicationHolder. |
|
1277 |
|
1278 "Created: / 05-09-2006 / 13:34:31 / cg" |
|
1279 ! |
|
1280 |
|
1281 legalCopyrightHolder |
|
1282 "automatically generated by UIPainter ..." |
|
1283 |
|
1284 "*** the code below creates a default model when invoked." |
|
1285 "*** (which may not be the one you wanted)" |
|
1286 "*** Please change as required and accept it in the browser." |
|
1287 "*** (and replace this comment by something more useful ;-)" |
|
1288 |
|
1289 legalCopyrightHolder isNil ifTrue:[ |
|
1290 legalCopyrightHolder := ValueHolder new. |
|
1291 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1292 "/ legalCopyrightHolder addDependent:self. |
|
1293 "/ legalCopyrightHolder onChangeSend:#legalCopyrightHolderChanged to:self. |
|
1294 ]. |
|
1295 ^ legalCopyrightHolder. |
|
1296 ! |
|
1297 |
|
1298 majorVersionNrHolder |
|
1299 "automatically generated by UIPainter ..." |
|
1300 |
|
1301 "*** the code below creates a default model when invoked." |
|
1302 "*** (which may not be the one you wanted)" |
|
1303 "*** Please change as required and accept it in the browser." |
|
1304 "*** (and replace this comment by something more useful ;-)" |
|
1305 |
|
1306 majorVersionNrHolder isNil ifTrue:[ |
|
1307 majorVersionNrHolder := ValueHolder new. |
|
1308 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1309 "/ majorVersionNrHolder addDependent:self. |
|
1310 "/ majorVersionNrHolder onChangeSend:#majorVersionNrHolderChanged to:self. |
|
1311 ]. |
|
1312 ^ majorVersionNrHolder. |
|
1313 ! |
|
1314 |
|
1315 minorVersionNrHolder |
|
1316 "automatically generated by UIPainter ..." |
|
1317 |
|
1318 "*** the code below creates a default model when invoked." |
|
1319 "*** (which may not be the one you wanted)" |
|
1320 "*** Please change as required and accept it in the browser." |
|
1321 "*** (and replace this comment by something more useful ;-)" |
|
1322 |
|
1323 minorVersionNrHolder isNil ifTrue:[ |
|
1324 minorVersionNrHolder := ValueHolder new. |
|
1325 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1326 "/ minorVersionNrHolder addDependent:self. |
|
1327 "/ minorVersionNrHolder onChangeSend:#minorVersionNrHolderChanged to:self. |
|
1328 ]. |
|
1329 ^ minorVersionNrHolder. |
|
1330 ! |
|
1331 |
|
1332 productNameHolder |
|
1333 "automatically generated by UIPainter ..." |
|
1334 |
|
1335 "*** the code below creates a default model when invoked." |
|
1336 "*** (which may not be the one you wanted)" |
|
1337 "*** Please change as required and accept it in the browser." |
|
1338 "*** (and replace this comment by something more useful ;-)" |
|
1339 |
|
1340 productNameHolder isNil ifTrue:[ |
|
1341 productNameHolder := ValueHolder new. |
|
1342 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1343 "/ productNameHolder addDependent:self. |
|
1344 "/ productNameHolder onChangeSend:#productNameHolderChanged to:self. |
|
1345 ]. |
|
1346 ^ productNameHolder. |
|
1347 ! |
|
1348 |
|
1349 releaseNrHolder |
|
1350 "automatically generated by UIPainter ..." |
|
1351 |
|
1352 "*** the code below creates a default model when invoked." |
|
1353 "*** (which may not be the one you wanted)" |
|
1354 "*** Please change as required and accept it in the browser." |
|
1355 "*** (and replace this comment by something more useful ;-)" |
|
1356 |
|
1357 releaseNrHolder isNil ifTrue:[ |
|
1358 releaseNrHolder := ValueHolder new. |
|
1359 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1360 "/ releaseNrHolder addDependent:self. |
|
1361 "/ releaseNrHolder onChangeSend:#releaseNrHolderChanged to:self. |
|
1362 ]. |
|
1363 ^ releaseNrHolder. |
|
1364 ! |
|
1365 |
|
1366 revisionNrHolder |
|
1367 "automatically generated by UIPainter ..." |
|
1368 |
|
1369 "*** the code below creates a default model when invoked." |
|
1370 "*** (which may not be the one you wanted)" |
|
1371 "*** Please change as required and accept it in the browser." |
|
1372 "*** (and replace this comment by something more useful ;-)" |
|
1373 |
|
1374 revisionNrHolder isNil ifTrue:[ |
|
1375 revisionNrHolder := ValueHolder new. |
|
1376 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1377 "/ revisionNrHolder addDependent:self. |
|
1378 "/ revisionNrHolder onChangeSend:#revisionNrHolderChanged to:self. |
|
1379 ]. |
|
1380 ^ revisionNrHolder. |
|
1381 ! |
|
1382 |
|
1383 selectedClassIndexHolder |
|
1384 "automatically generated by UIPainter ..." |
|
1385 |
|
1386 "*** the code below creates a default model when invoked." |
|
1387 "*** (which may not be the one you wanted)" |
|
1388 "*** Please change as required and accept it in the browser." |
|
1389 "*** (and replace this comment by something more useful ;-)" |
|
1390 |
|
1391 selectedClassIndexHolder isNil ifTrue:[ |
|
1392 selectedClassIndexHolder := ValueHolder new. |
|
1393 "/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1394 "/ selectedClassIndexHolder addDependent:self. |
|
1395 "/ selectedClassIndexHolder onChangeSend:#selectedClassIndexHolderChanged to:self. |
|
1396 ]. |
|
1397 ^ selectedClassIndexHolder. |
|
1398 ! |
|
1399 |
|
1400 startSinglethreadedHolder |
|
1401 startSinglethreadedHolder isNil ifTrue:[ |
|
1402 startSinglethreadedHolder := false asValue. |
|
1403 ]. |
|
1404 ^ startSinglethreadedHolder. |
|
1405 |
|
1406 "Created: / 05-09-2006 / 13:34:54 / cg" |
|
1407 ! |
|
1408 |
|
1409 startupClassHolder |
|
1410 startupClassHolder isNil ifTrue:[ |
|
1411 startupClassHolder := '' asValue. |
|
1412 ]. |
|
1413 ^ startupClassHolder. |
|
1414 |
|
1415 "Created: / 05-09-2006 / 13:34:08 / cg" |
|
1416 ! |
|
1417 |
|
1418 startupSelectorHolder |
|
1419 startupSelectorHolder isNil ifTrue:[ |
|
1420 startupSelectorHolder := '' asValue. |
|
1421 ]. |
|
1422 ^ startupSelectorHolder. |
|
1423 |
|
1424 "Created: / 05-09-2006 / 13:34:20 / cg" |
|
1425 ! |
|
1426 |
|
1427 tabList |
|
1428 "Generated by the TabListEditor" |
|
1429 |
|
1430 |list| |
|
1431 |
|
1432 (list := builder bindingAt:#tabList) isNil ifTrue:[ |
|
1433 builder aspectAt:#tabList put:(list := self class tabListForApplication asValue). |
|
1434 ]. |
|
1435 ^ list |
|
1436 |
|
1437 "Modified: / 05-09-2006 / 16:28:09 / cg" |
|
1438 ! ! |
|
1439 |
|
1440 !ProjectDefinitionEditor methodsFor:'aspects-menu'! |
|
1441 |
|
1442 classesMenuVisibleHolder |
|
1443 ^ builder booleanValueAspectFor:#'classesMenuVisibleHolder' |
|
1444 |
|
1445 "Modified: / 03-09-2006 / 10:57:00 / cg" |
|
1446 ! |
|
1447 |
|
1448 extensionsMenuVisibleHolder |
|
1449 ^ builder booleanValueAspectFor:#'extensionsMenuVisibleHolder' |
|
1450 |
|
1451 "Created: / 05-09-2006 / 13:03:16 / cg" |
|
1452 ! |
|
1453 |
|
1454 prerequisitesMenuVisibleHolder |
|
1455 ^ builder booleanValueAspectFor:#'prerequisitesMenuVisibleHolder' |
|
1456 |
|
1457 "Created: / 05-09-2006 / 13:26:45 / cg" |
|
1458 ! |
|
1459 |
|
1460 selectedTabIndexHolder |
|
1461 |h| |
|
1462 |
|
1463 h := builder valueAspectFor:#'selectedTabIndexHolder' initialValue:nil. |
|
1464 h addDependent:self. |
|
1465 ^ h |
|
1466 |
|
1467 "Created: / 03-09-2006 / 10:58:05 / cg" |
|
1468 ! ! |
|
1469 |
|
1470 !ProjectDefinitionEditor methodsFor:'change & update'! |
|
1471 |
|
1472 fetchClassListEntries |
|
1473 |entries| |
|
1474 |
|
1475 entries := OrderedCollection new. |
|
1476 definitionClass |
|
1477 classNamesAndAttributesDo:[:className :attributes | |
|
1478 |entry| |
|
1479 |
|
1480 entry := ClassListEntry new. |
|
1481 entry |
|
1482 className:className |
|
1483 autoloaded:(attributes includes:#autoload) |
|
1484 win32:(attributes includes:#win32) |
|
1485 unix:(attributes includes:#unix). |
|
1486 entries add:entry. |
|
1487 ]. |
|
1488 |
|
1489 ^ entries. |
|
1490 |
|
1491 "Created: / 05-09-2006 / 12:31:26 / cg" |
|
1492 ! |
|
1493 |
|
1494 fetchValues |
|
1495 |definitionClass isApplicationDefinition| |
|
1496 |
|
1497 definitionClass := self definitionClass. |
|
1498 definitionClass isNil ifTrue:[^ self ]. |
|
1499 |
|
1500 isApplicationDefinition := definitionClass isApplicationDefinition. |
|
1501 |
|
1502 self isApplicationDefinitionHolder value:isApplicationDefinition. |
|
1503 isApplicationDefinition ifTrue:[ |
|
1504 self startupClassHolder value:(definitionClass startupClass). |
|
1505 self startupSelectorHolder value:(definitionClass startupSelector). |
|
1506 self iconFileNameHolder value:(definitionClass iconFileName). |
|
1507 self tabList value:(self class tabListForApplication). |
|
1508 ] ifFalse:[ |
|
1509 self tabList value:(self class tabListForLibrary). |
|
1510 ]. |
|
1511 |
|
1512 self companyNameHolder value:(definitionClass companyName). |
|
1513 self descriptionHolder value:(definitionClass description). |
|
1514 self legalCopyrightHolder value:(definitionClass legalCopyright). |
|
1515 self productNameHolder value:(definitionClass productName). |
|
1516 self majorVersionNrHolder value:(definitionClass majorVersionNr asInteger). |
|
1517 self minorVersionNrHolder value:(definitionClass minorVersionNr asInteger). |
|
1518 self revisionNrHolder value:(definitionClass revisionNr asInteger). |
|
1519 self releaseNrHolder value:(definitionClass releaseNr asInteger). |
|
1520 |
|
1521 self fileDescriptionHolder value:(definitionClass fileDescription). |
|
1522 self fileMajorVersionNrHolder value:(definitionClass fileMajorVersionNr asInteger). |
|
1523 self fileMinorVersionNrHolder value:(definitionClass fileMinorVersionNr asInteger). |
|
1524 self fileRevisionNrHolder value:(definitionClass fileRevisionNr asInteger). |
|
1525 self fileReleaseNrHolder value:(definitionClass fileReleaseNr asInteger). |
|
1526 |
|
1527 self classList value:(self fetchClassListEntries). |
|
1528 |
|
1529 self window |
|
1530 label:(isApplicationDefinition |
|
1531 ifTrue:'Application' |
|
1532 ifFalse:'Library' ) |
|
1533 , ' Definition: ',definitionClass name. |
|
1534 |
|
1535 "Created: / 04-09-2006 / 16:34:39 / cg" |
|
1536 "Modified: / 05-09-2006 / 16:26:45 / cg" |
|
1537 ! |
|
1538 |
|
1539 update:something with:parameter from:changedObject |
|
1540 changedObject == self selectedTabIndexHolder ifTrue:[ |
|
1541 self updateMenuVisibility. |
|
1542 ^ self. |
|
1543 ]. |
|
1544 ^ super update:something with:parameter from:changedObject |
|
1545 |
|
1546 "Created: / 03-09-2006 / 10:59:42 / cg" |
|
1547 ! |
|
1548 |
|
1549 updateMenuVisibility |
|
1550 self classesMenuVisibleHolder value:(self hasClassesTabSelected). |
|
1551 self extensionsMenuVisibleHolder value:(self hasExtensionsTabSelected). |
|
1552 self prerequisitesMenuVisibleHolder value:(self hasPrerequisitesTabSelected). |
|
1553 |
|
1554 "Created: / 03-09-2006 / 11:01:48 / cg" |
|
1555 "Modified: / 05-09-2006 / 13:27:10 / cg" |
|
1556 ! ! |
|
1557 |
|
1558 !ProjectDefinitionEditor methodsFor:'initialization & release'! |
|
1559 |
|
1560 closeRequest |
|
1561 (self hasUnsavedChanges) ifTrue:[ |
|
1562 (self confirm:(resources string:'Close without saving ?')) ifFalse:[ |
|
1563 ^ self |
|
1564 ] |
|
1565 ]. |
|
1566 |
|
1567 ^ super closeRequest |
|
1568 |
|
1569 "Modified: / 03-09-2006 / 10:53:14 / cg" |
|
1570 ! |
|
1571 |
|
1572 postBuildWith:aBuilder |
|
1573 super postBuildWith:aBuilder. |
|
1574 self selectedTabIndexHolder value:1. |
|
1575 self updateMenuVisibility. |
|
1576 self fetchValues. |
|
1577 |
|
1578 "Modified: / 04-09-2006 / 16:28:09 / cg" |
|
1579 ! |
|
1580 |
|
1581 postOpenWith:aBuilder |
|
1582 "This is a hook method generated by the Browser. |
|
1583 It will be invoked right after the applications window has been opened. |
|
1584 Add any app-specific actions here (starting background processes etc.). |
|
1585 See also #postBuildWith:, which is invoked before opening." |
|
1586 |
|
1587 "/ add any code here ... |
|
1588 |
|
1589 ^ super postOpenWith:aBuilder |
|
1590 ! ! |
|
1591 |
|
1592 !ProjectDefinitionEditor methodsFor:'menu actions'! |
|
1593 |
|
1594 menuNew |
|
1595 "This method was generated by the Browser. |
|
1596 It will be invoked when the menu-item 'new' is selected." |
|
1597 |
|
1598 "/ change below and add any actions as required here ... |
|
1599 self warn:'no action for ''new'' available.'. |
|
1600 ! |
|
1601 |
|
1602 menuOpen |
|
1603 self warn:'no action for ''open'' defined.'. |
|
1604 |
|
1605 "Modified: / 05-09-2006 / 16:28:51 / cg" |
|
1606 ! |
|
1607 |
|
1608 menuSave |
|
1609 self menuSaveAs:definitionClass name |
|
1610 |
|
1611 "Modified: / 05-09-2006 / 13:48:27 / cg" |
|
1612 ! |
|
1613 |
|
1614 menuSaveAs |
|
1615 |className class newPackage| |
|
1616 |
|
1617 className := Dialog |
|
1618 requestClassName:'Name of new Definition class' |
|
1619 okLabel:'Create' |
|
1620 initialAnswer:'privete_myProject'. |
|
1621 className isEmptyOrNil ifTrue:[^ self]. |
|
1622 class := Smalltalk classNamed:className. |
|
1623 class notNil ifTrue:[ |
|
1624 Dialog warn:(resources |
|
1625 string:'A class named %1 already exists' |
|
1626 with:className). |
|
1627 ^ self. |
|
1628 ]. |
|
1629 newPackage := className copy replaceAll:$_ with:$/. |
|
1630 newPackage replace:$/ with:$:. |
|
1631 class := ApplicationDefinition newNamed:className package:newPackage. |
|
1632 self menuSaveAs:class. |
|
1633 |
|
1634 "Modified: / 05-09-2006 / 16:20:16 / cg" |
|
1635 ! |
|
1636 |
|
1637 menuSaveAs:aClassName |
|
1638 self halt. |
|
1639 |
|
1640 "Created: / 05-09-2006 / 13:48:03 / cg" |
|
1641 ! |
|
1642 |
|
1643 openAboutThisApplication |
|
1644 "This method was generated by the Browser. |
|
1645 It will be invoked when the menu-item 'help-about' is selected." |
|
1646 |
|
1647 "/ could open a customized aboutBox here ... |
|
1648 super openAboutThisApplication |
|
1649 ! |
|
1650 |
|
1651 openDocumentation |
|
1652 "This method was generated by the Browser. |
|
1653 It will be invoked when the menu-item 'help-documentation' is selected." |
|
1654 |
|
1655 "/ change below as required ... |
|
1656 |
|
1657 "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ): |
|
1658 HTMLDocumentView openFullOnDocumentationFile:'TOP.html'. |
|
1659 |
|
1660 "/ add application-specific help files under the 'doc/online/<language>/help/appName' |
|
1661 "/ directory, and open a viewer with: |
|
1662 "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'. |
|
1663 ! ! |
|
1664 |
|
1665 !ProjectDefinitionEditor methodsFor:'queries'! |
|
1666 |
|
1667 hasClassesTabSelected |
|
1668 ^ self selectedTabIndex == 1 |
|
1669 |
|
1670 "Created: / 03-09-2006 / 11:00:39 / cg" |
|
1671 ! |
|
1672 |
|
1673 hasExtensionsTabSelected |
|
1674 ^ self selectedTabIndex == 2 |
|
1675 |
|
1676 "Created: / 05-09-2006 / 13:02:26 / cg" |
|
1677 ! |
|
1678 |
|
1679 hasPrerequisitesTabSelected |
|
1680 ^ self selectedTabIndex == 3 |
|
1681 |
|
1682 "Created: / 05-09-2006 / 13:27:16 / cg" |
|
1683 ! |
|
1684 |
|
1685 hasUnsavedChanges |
|
1686 ^ false |
|
1687 |
|
1688 "Created: / 03-09-2006 / 10:53:05 / cg" |
|
1689 ! |
|
1690 |
|
1691 selectedTabIndex |
|
1692 ^ self selectedTabIndexHolder value |
|
1693 |
|
1694 "Created: / 03-09-2006 / 11:00:48 / cg" |
|
1695 ! ! |
|
1696 |
|
1697 !ProjectDefinitionEditor::ClassListEntry methodsFor:'accessing'! |
|
1698 |
|
1699 autoloaded |
|
1700 ^ autoloaded |
|
1701 ! |
|
1702 |
|
1703 autoloaded:something |
|
1704 autoloaded := something. |
|
1705 ! |
|
1706 |
|
1707 className |
|
1708 ^ className |
|
1709 ! |
|
1710 |
|
1711 className:something |
|
1712 className := something. |
|
1713 ! |
|
1714 |
|
1715 className:classNameArg autoloaded:autoloadedArg win32:win32Arg unix:unixArg |
|
1716 className := classNameArg. |
|
1717 autoloaded := autoloadedArg. |
|
1718 win32 := win32Arg. |
|
1719 unix := unixArg. |
|
1720 ! |
|
1721 |
|
1722 unix |
|
1723 ^ unix |
|
1724 ! |
|
1725 |
|
1726 unix:something |
|
1727 unix := something. |
|
1728 ! |
|
1729 |
|
1730 win32 |
|
1731 ^ win32 |
|
1732 ! |
|
1733 |
|
1734 win32:something |
|
1735 win32 := something. |
|
1736 ! ! |
|
1737 |
|
1738 !ProjectDefinitionEditor class methodsFor:'documentation'! |
|
1739 |
|
1740 version |
|
1741 ^ '$Header$' |
|
1742 ! ! |