1 "{ Package: 'stx:libtool2' }" |
1 "{ Package: 'stx:libtool2' }" |
2 |
2 |
3 "{ NameSpace: Tools }" |
3 "{ NameSpace: Tools }" |
4 |
4 |
5 ResourceSpecEditor subclass:#ProjectDefinitionEditor |
5 ResourceSpecEditor subclass:#ProjectDefinitionEditor |
6 instanceVariableNames:'definitionClass classList selectedClassIndexHolder |
6 instanceVariableNames:'definitionClass classList extensionsList selectedClassIndexHolder |
7 classesTableColumns revisionNrHolder companyNameHolder |
7 classesTableColumns revisionNrHolder companyNameHolder |
8 fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder |
8 fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder |
9 fileReleaseNrHolder productNameHolder majorVersionNrHolder |
9 fileReleaseNrHolder productNameHolder majorVersionNrHolder |
10 fileRevisionNrHolder fileDescriptionHolder releaseNrHolder |
10 fileRevisionNrHolder fileDescriptionHolder releaseNrHolder |
11 fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder |
11 fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder |
12 isApplicationDefinitionHolder isNonGUIApplicationHolder |
12 isApplicationDefinitionHolder isNonGUIApplicationHolder |
13 startSinglethreadedHolder startupClassHolder |
13 startSinglethreadedHolder startupClassNameHolder |
14 startupSelectorHolder' |
14 startupSelectorHolder' |
15 classVariableNames:'' |
15 classVariableNames:'' |
16 poolDictionaries:'' |
16 poolDictionaries:'' |
17 category:'Interface-Tools' |
17 category:'Interface-Tools' |
18 ! |
18 ! |
19 |
19 |
20 Object subclass:#ClassListEntry |
20 Object subclass:#ClassListEntry |
21 instanceVariableNames:'className autoloaded win32 unix' |
21 instanceVariableNames:'className autoloaded win32 unix' |
|
22 classVariableNames:'' |
|
23 poolDictionaries:'' |
|
24 privateIn:ProjectDefinitionEditor |
|
25 ! |
|
26 |
|
27 Object subclass:#ExtensionsListEntry |
|
28 instanceVariableNames:'className selector' |
22 classVariableNames:'' |
29 classVariableNames:'' |
23 poolDictionaries:'' |
30 poolDictionaries:'' |
24 privateIn:ProjectDefinitionEditor |
31 privateIn:ProjectDefinitionEditor |
25 ! |
32 ! |
26 |
33 |
565 adjust: right |
572 adjust: right |
566 ) |
573 ) |
567 (InputFieldSpec |
574 (InputFieldSpec |
568 name: 'StartupClassEntryField' |
575 name: 'StartupClassEntryField' |
569 layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0) |
576 layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0) |
570 model: startupClassHolder |
577 model: startupClassNameHolder |
571 acceptOnReturn: true |
578 acceptOnReturn: true |
572 acceptOnTab: true |
579 acceptOnTab: true |
573 acceptOnLostFocus: true |
580 acceptOnLostFocus: true |
574 acceptOnPointerLeave: false |
581 acceptOnPointerLeave: false |
575 ) |
582 ) |
672 "Modified: / 03-09-2006 / 10:57:33 / cg" |
681 "Modified: / 03-09-2006 / 10:57:33 / cg" |
673 ! ! |
682 ! ! |
674 |
683 |
675 !ProjectDefinitionEditor class methodsFor:'list specs'! |
684 !ProjectDefinitionEditor class methodsFor:'list specs'! |
676 |
685 |
|
686 tabList |
|
687 ^ self tabListForApplication. |
|
688 |
|
689 "Created: / 06-09-2006 / 13:38:03 / cg" |
|
690 ! |
|
691 |
677 tabListForApplication |
692 tabListForApplication |
678 "This resource specification was automatically generated |
693 "This resource specification was automatically generated |
679 by the TabListEditor of ST/X." |
694 by the TabListEditor of ST/X." |
680 |
695 |
681 "Do not manually edit this!! If it is corrupted, |
696 "Do not manually edit this!! If it is corrupted, |
748 (TabItem |
768 (TabItem |
749 label: 'Prerequisites' |
769 label: 'Prerequisites' |
750 minorKey: prerequisitesSpec |
770 minorKey: prerequisitesSpec |
751 ) |
771 ) |
752 (TabItem |
772 (TabItem |
753 label: 'Description' |
|
754 minorKey: descriptionSpec |
|
755 ) |
|
756 (TabItem |
|
757 label: 'Compilation' |
773 label: 'Compilation' |
758 minorKey: compilationSpec |
774 minorKey: compilationSpec |
759 ) |
|
760 (TabItem |
|
761 label: 'Startup' |
|
762 minorKey: startupSpec |
|
763 ) |
775 ) |
764 ) |
776 ) |
765 |
777 |
766 collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ] |
778 collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ] |
767 |
779 |
768 "Created: / 05-09-2006 / 16:24:52 / cg" |
780 "Created: / 05-09-2006 / 16:24:52 / cg" |
|
781 "Modified: / 06-09-2006 / 18:44:38 / cg" |
769 ! ! |
782 ! ! |
770 |
783 |
771 !ProjectDefinitionEditor class methodsFor:'menu specs'! |
784 !ProjectDefinitionEditor class methodsFor:'menu specs'! |
772 |
785 |
773 classListMenu |
786 classListMenu |
1017 |
1030 |
1018 "Do not manually edit this!! If it is corrupted, |
1031 "Do not manually edit this!! If it is corrupted, |
1019 the DataSetBuilder may not be able to read the specification." |
1032 the DataSetBuilder may not be able to read the specification." |
1020 |
1033 |
1021 " |
1034 " |
1022 DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#classesTableColumns |
1035 DataSetBuilder new openOnClass:Tools::ProjectDefinitionEditor andSelector:#classesTableColumns |
1023 " |
1036 " |
1024 |
1037 |
1025 <resource: #tableColumns> |
1038 <resource: #tableColumns> |
1026 |
1039 |
1027 ^#( |
1040 ^#( |
1028 (DataSetColumnSpec |
1041 (DataSetColumnSpec |
1029 label: 'Auto' |
1042 label: 'Auto' |
1030 labelButtonType: Button |
1043 labelButtonType: Button |
1031 rendererType: CheckToggle |
1044 rendererType: CheckToggle |
1032 model: autoloaded |
1045 model: autoloaded |
|
1046 canSelect: false |
1033 ) |
1047 ) |
1034 (DataSetColumnSpec |
1048 (DataSetColumnSpec |
1035 label: 'Win32' |
1049 label: 'Win32' |
1036 labelButtonType: Button |
1050 labelButtonType: Button |
1037 rendererType: CheckToggle |
1051 rendererType: CheckToggle |
1038 model: win32 |
1052 model: win32 |
|
1053 canSelect: false |
1039 ) |
1054 ) |
1040 (DataSetColumnSpec |
1055 (DataSetColumnSpec |
1041 label: 'Unix' |
1056 label: 'Unix' |
1042 labelButtonType: Button |
1057 labelButtonType: Button |
1043 rendererType: CheckToggle |
1058 rendererType: CheckToggle |
1044 model: unix |
1059 model: unix |
|
1060 canSelect: false |
1045 ) |
1061 ) |
1046 (DataSetColumnSpec |
1062 (DataSetColumnSpec |
1047 label: 'Class' |
1063 label: 'Class' |
1048 labelButtonType: Button |
1064 labelButtonType: Button |
1049 model: className |
1065 model: className |
|
1066 canSelect: false |
1050 ) |
1067 ) |
1051 ) |
1068 ) |
1052 |
1069 |
1053 ! |
1070 ! |
1054 |
1071 |
1058 |
1075 |
1059 "Do not manually edit this!! If it is corrupted, |
1076 "Do not manually edit this!! If it is corrupted, |
1060 the DataSetBuilder may not be able to read the specification." |
1077 the DataSetBuilder may not be able to read the specification." |
1061 |
1078 |
1062 " |
1079 " |
1063 DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsTableColumns |
1080 DataSetBuilder new openOnClass:Tools::ProjectDefinitionEditor andSelector:#extensionsTableColumns |
1064 " |
1081 " |
1065 |
1082 |
1066 <resource: #tableColumns> |
1083 <resource: #tableColumns> |
1067 |
1084 |
1068 ^#( |
1085 ^#( |
1069 (DataSetColumnSpec |
1086 (DataSetColumnSpec |
1070 label: 'Class' |
1087 label: 'Class' |
1071 labelButtonType: Button |
1088 labelButtonType: Button |
1072 model: className |
1089 model: className |
|
1090 canSelect: false |
1073 ) |
1091 ) |
1074 (DataSetColumnSpec |
1092 (DataSetColumnSpec |
1075 label: 'Selector' |
1093 label: 'Selector' |
1076 labelButtonType: Button |
1094 labelButtonType: Button |
1077 model: selector |
1095 model: selector |
|
1096 canSelect: false |
1078 ) |
1097 ) |
1079 ) |
1098 ) |
1080 |
1099 |
1081 ! |
1100 ! |
1082 |
1101 |
1155 ^ descriptionHolder. |
1174 ^ descriptionHolder. |
1156 |
1175 |
1157 "Modified: / 04-09-2006 / 17:58:15 / cg" |
1176 "Modified: / 04-09-2006 / 17:58:15 / cg" |
1158 ! |
1177 ! |
1159 |
1178 |
|
1179 extensionsList |
|
1180 extensionsList isNil ifTrue:[ |
|
1181 extensionsList := #() asValue. |
|
1182 ]. |
|
1183 ^ extensionsList. |
|
1184 |
|
1185 "Created: / 06-09-2006 / 18:47:54 / cg" |
|
1186 ! |
|
1187 |
1160 fileDescriptionHolder |
1188 fileDescriptionHolder |
1161 fileDescriptionHolder isNil ifTrue:[ |
1189 fileDescriptionHolder isNil ifTrue:[ |
1162 fileDescriptionHolder := ValueHolder new. |
1190 fileDescriptionHolder := ValueHolder new. |
1163 ]. |
1191 ]. |
1164 ^ fileDescriptionHolder. |
1192 ^ fileDescriptionHolder. |
1404 ^ startSinglethreadedHolder. |
1432 ^ startSinglethreadedHolder. |
1405 |
1433 |
1406 "Created: / 05-09-2006 / 13:34:54 / cg" |
1434 "Created: / 05-09-2006 / 13:34:54 / cg" |
1407 ! |
1435 ! |
1408 |
1436 |
1409 startupClassHolder |
1437 startupClassNameHolder |
1410 startupClassHolder isNil ifTrue:[ |
1438 startupClassNameHolder isNil ifTrue:[ |
1411 startupClassHolder := '' asValue. |
1439 startupClassNameHolder := '' asValue. |
1412 ]. |
1440 ]. |
1413 ^ startupClassHolder. |
1441 ^ startupClassNameHolder. |
1414 |
1442 |
1415 "Created: / 05-09-2006 / 13:34:08 / cg" |
1443 "Created: / 06-09-2006 / 18:41:52 / cg" |
1416 ! |
1444 ! |
1417 |
1445 |
1418 startupSelectorHolder |
1446 startupSelectorHolder |
1419 startupSelectorHolder isNil ifTrue:[ |
1447 startupSelectorHolder isNil ifTrue:[ |
1420 startupSelectorHolder := '' asValue. |
1448 startupSelectorHolder := '' asValue. |
1432 (list := builder bindingAt:#tabList) isNil ifTrue:[ |
1460 (list := builder bindingAt:#tabList) isNil ifTrue:[ |
1433 builder aspectAt:#tabList put:(list := self class tabListForApplication asValue). |
1461 builder aspectAt:#tabList put:(list := self class tabListForApplication asValue). |
1434 ]. |
1462 ]. |
1435 ^ list |
1463 ^ list |
1436 |
1464 |
1437 "Modified: / 05-09-2006 / 16:28:09 / cg" |
1465 "Modified: / 06-09-2006 / 17:58:08 / cg" |
1438 ! ! |
1466 ! ! |
1439 |
1467 |
1440 !ProjectDefinitionEditor methodsFor:'aspects-menu'! |
1468 !ProjectDefinitionEditor methodsFor:'aspects-menu'! |
1441 |
1469 |
1442 classesMenuVisibleHolder |
1470 classesMenuVisibleHolder |
1489 ^ entries. |
1517 ^ entries. |
1490 |
1518 |
1491 "Created: / 05-09-2006 / 12:31:26 / cg" |
1519 "Created: / 05-09-2006 / 12:31:26 / cg" |
1492 ! |
1520 ! |
1493 |
1521 |
|
1522 fetchExtensionsListEntries |
|
1523 |entries| |
|
1524 |
|
1525 entries := OrderedCollection new. |
|
1526 definitionClass |
|
1527 extensionMethodNames pairWiseDo:[:className :selector | |
|
1528 |entry| |
|
1529 |
|
1530 entry := ExtensionsListEntry new. |
|
1531 entry className:className selector:selector. |
|
1532 entries add:entry. |
|
1533 ]. |
|
1534 |
|
1535 ^ entries. |
|
1536 |
|
1537 "Created: / 06-09-2006 / 18:45:15 / cg" |
|
1538 ! |
|
1539 |
1494 fetchValues |
1540 fetchValues |
1495 |definitionClass isApplicationDefinition| |
1541 |definitionClass isApplicationDefinition| |
1496 |
1542 |
1497 definitionClass := self definitionClass. |
1543 definitionClass := self definitionClass. |
1498 definitionClass isNil ifTrue:[^ self ]. |
1544 definitionClass isNil ifTrue:[^ self ]. |
1499 |
1545 |
1500 isApplicationDefinition := definitionClass isApplicationDefinition. |
1546 isApplicationDefinition := definitionClass isApplicationDefinition. |
1501 |
1547 |
1502 self isApplicationDefinitionHolder value:isApplicationDefinition. |
1548 self isApplicationDefinitionHolder value:isApplicationDefinition. |
1503 isApplicationDefinition ifTrue:[ |
1549 isApplicationDefinition ifTrue:[ |
1504 self startupClassHolder value:(definitionClass startupClass). |
1550 self startupClassNameHolder value:(definitionClass startupClassName). |
1505 self startupSelectorHolder value:(definitionClass startupSelector). |
1551 self startupSelectorHolder value:(definitionClass startupSelector). |
1506 self iconFileNameHolder value:(definitionClass iconFileName). |
1552 self iconFileNameHolder value:(definitionClass iconFileName). |
1507 self tabList value:(self class tabListForApplication). |
1553 self tabList value:(self class tabListForApplication). |
1508 ] ifFalse:[ |
1554 ] ifFalse:[ |
1509 self tabList value:(self class tabListForLibrary). |
1555 self tabList value:(self class tabListForLibrary). |
1523 self fileMinorVersionNrHolder value:(definitionClass fileMinorVersionNr asInteger). |
1569 self fileMinorVersionNrHolder value:(definitionClass fileMinorVersionNr asInteger). |
1524 self fileRevisionNrHolder value:(definitionClass fileRevisionNr asInteger). |
1570 self fileRevisionNrHolder value:(definitionClass fileRevisionNr asInteger). |
1525 self fileReleaseNrHolder value:(definitionClass fileReleaseNr asInteger). |
1571 self fileReleaseNrHolder value:(definitionClass fileReleaseNr asInteger). |
1526 |
1572 |
1527 self classList value:(self fetchClassListEntries). |
1573 self classList value:(self fetchClassListEntries). |
|
1574 self extensionsList value:(self fetchExtensionsListEntries). |
1528 |
1575 |
1529 self window |
1576 self window |
1530 label:(isApplicationDefinition |
1577 label:(isApplicationDefinition |
1531 ifTrue:'Application' |
1578 ifTrue:'Application' |
1532 ifFalse:'Library' ) |
1579 ifFalse:'Library' ) |
1533 , ' Definition: ',definitionClass name. |
1580 , ' Definition: ',definitionClass name. |
1534 |
1581 |
1535 "Created: / 04-09-2006 / 16:34:39 / cg" |
1582 "Created: / 04-09-2006 / 16:34:39 / cg" |
1536 "Modified: / 05-09-2006 / 16:26:45 / cg" |
1583 "Modified: / 06-09-2006 / 18:45:45 / cg" |
1537 ! |
1584 ! |
1538 |
1585 |
1539 update:something with:parameter from:changedObject |
1586 update:something with:parameter from:changedObject |
1540 changedObject == self selectedTabIndexHolder ifTrue:[ |
1587 changedObject == self selectedTabIndexHolder ifTrue:[ |
1541 self updateMenuVisibility. |
1588 self updateMenuVisibility. |