799 |
799 |
800 "Do not manually edit this!! If it is corrupted, |
800 "Do not manually edit this!! If it is corrupted, |
801 the MenuEditor may not be able to read the specification." |
801 the MenuEditor may not be able to read the specification." |
802 |
802 |
803 " |
803 " |
804 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#classListMenu |
804 MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#classListMenu |
805 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor classListMenu)) startUp |
805 (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor classListMenu)) startUp |
806 " |
806 " |
807 |
807 |
808 <resource: #menu> |
808 <resource: #menu> |
809 |
809 |
810 ^ |
810 ^ |
811 #(Menu |
811 #(Menu |
812 ( |
812 ( |
813 (MenuItem |
813 (MenuItem |
|
814 enabled: hasDefinitionClassHolder |
814 label: 'Generate' |
815 label: 'Generate' |
815 itemValue: menuGenerateClassList |
816 itemValue: menuGenerateClassList |
816 translateLabel: true |
817 translateLabel: true |
817 ) |
818 ) |
818 (MenuItem |
819 (MenuItem |
819 label: '-' |
820 label: '-' |
820 ) |
821 ) |
821 (MenuItem |
822 (MenuItem |
|
823 enabled: hasDefinitionClassHolder |
822 label: 'Add...' |
824 label: 'Add...' |
823 itemValue: menuAddClass |
825 itemValue: menuAddClass |
824 translateLabel: true |
826 translateLabel: true |
825 ) |
827 ) |
826 (MenuItem |
828 (MenuItem |
|
829 enabled: hasDefinitionClassHolder |
827 label: 'Remove...' |
830 label: 'Remove...' |
828 itemValue: menuRemoveClass |
831 itemValue: menuRemoveClass |
829 translateLabel: true |
832 translateLabel: true |
830 ) |
833 ) |
831 ) |
834 ) |
840 |
843 |
841 "Do not manually edit this!! If it is corrupted, |
844 "Do not manually edit this!! If it is corrupted, |
842 the MenuEditor may not be able to read the specification." |
845 the MenuEditor may not be able to read the specification." |
843 |
846 |
844 " |
847 " |
845 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsListMenu |
848 MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#extensionsListMenu |
846 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor extensionsListMenu)) startUp |
849 (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor extensionsListMenu)) startUp |
847 " |
850 " |
848 |
851 |
849 <resource: #menu> |
852 <resource: #menu> |
850 |
853 |
851 ^ |
854 ^ |
852 #(Menu |
855 #(Menu |
853 ( |
856 ( |
854 (MenuItem |
857 (MenuItem |
|
858 enabled: hasDefinitionClassHolder |
855 label: 'Generate' |
859 label: 'Generate' |
856 itemValue: menuGenerateExtensionsList |
860 itemValue: menuGenerateExtensionsList |
857 translateLabel: true |
861 translateLabel: true |
858 ) |
862 ) |
859 (MenuItem |
863 (MenuItem |
860 label: '-' |
864 label: '-' |
861 ) |
865 ) |
862 (MenuItem |
866 (MenuItem |
|
867 enabled: hasDefinitionClassHolder |
863 label: 'Add...' |
868 label: 'Add...' |
864 itemValue: menuAddExtension |
869 itemValue: menuAddExtension |
865 translateLabel: true |
870 translateLabel: true |
866 ) |
871 ) |
867 (MenuItem |
872 (MenuItem |
|
873 enabled: hasDefinitionClassHolder |
868 label: 'Remove...' |
874 label: 'Remove...' |
869 itemValue: menuRemoveExtension |
875 itemValue: menuRemoveExtension |
870 translateLabel: true |
876 translateLabel: true |
871 ) |
877 ) |
872 ) |
878 ) |
881 |
887 |
882 "Do not manually edit this!! If it is corrupted, |
888 "Do not manually edit this!! If it is corrupted, |
883 the MenuEditor may not be able to read the specification." |
889 the MenuEditor may not be able to read the specification." |
884 |
890 |
885 " |
891 " |
886 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#mainMenu |
892 MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#mainMenu |
887 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor mainMenu)) startUp |
893 (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor mainMenu)) startUp |
888 " |
894 " |
889 |
895 |
890 <resource: #menu> |
896 <resource: #menu> |
891 |
897 |
892 ^ |
898 ^ |
995 |
1020 |
996 "Do not manually edit this!! If it is corrupted, |
1021 "Do not manually edit this!! If it is corrupted, |
997 the MenuEditor may not be able to read the specification." |
1022 the MenuEditor may not be able to read the specification." |
998 |
1023 |
999 " |
1024 " |
1000 MenuEditor new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsListMenu |
1025 MenuEditor new openOnClass:Tools::ProjectDefinitionEditor andSelector:#prerequisitesListMenu |
1001 (Menu new fromLiteralArrayEncoding:(ApplicationDefinitionEditor extensionsListMenu)) startUp |
1026 (Menu new fromLiteralArrayEncoding:(Tools::ProjectDefinitionEditor prerequisitesListMenu)) startUp |
1002 " |
1027 " |
1003 |
1028 |
1004 <resource: #menu> |
1029 <resource: #menu> |
1005 |
1030 |
1006 ^ |
1031 ^ |
1007 #(Menu |
1032 #(Menu |
1008 ( |
1033 ( |
1009 (MenuItem |
1034 (MenuItem |
|
1035 enabled: hasDefinitionClassHolder |
1010 label: 'Generate' |
1036 label: 'Generate' |
1011 itemValue: menuGeneratePrerequisitesList |
1037 itemValue: menuGeneratePrerequisitesList |
1012 translateLabel: true |
1038 translateLabel: true |
1013 ) |
1039 ) |
1014 (MenuItem |
1040 (MenuItem |
1015 label: '-' |
1041 label: '-' |
1016 ) |
1042 ) |
1017 (MenuItem |
1043 (MenuItem |
|
1044 enabled: hasDefinitionClassHolder |
1018 label: 'Add...' |
1045 label: 'Add...' |
1019 itemValue: menuAddPrerequisite |
1046 itemValue: menuAddPrerequisite |
1020 translateLabel: true |
1047 translateLabel: true |
1021 ) |
1048 ) |
1022 (MenuItem |
1049 (MenuItem |
|
1050 enabled: hasDefinitionClassHolder |
1023 label: 'Remove...' |
1051 label: 'Remove...' |
1024 itemValue: menuRemovePrerequisite |
1052 itemValue: menuRemovePrerequisite |
1025 translateLabel: true |
1053 translateLabel: true |
1026 ) |
1054 ) |
1027 ) |
1055 ) |
1028 nil |
1056 nil |
1029 nil |
1057 nil |
1030 ) |
1058 ) |
1031 |
|
1032 "Modified: / 05-09-2006 / 13:24:58 / cg" |
|
1033 ! ! |
1059 ! ! |
1034 |
1060 |
1035 !ProjectDefinitionEditor class methodsFor:'tableColumns specs'! |
1061 !ProjectDefinitionEditor class methodsFor:'tableColumns specs'! |
1036 |
1062 |
1037 classesTableColumns |
1063 classesTableColumns |
1144 "Created: / 04-09-2006 / 16:30:09 / cg" |
1170 "Created: / 04-09-2006 / 16:30:09 / cg" |
1145 ! |
1171 ! |
1146 |
1172 |
1147 definitionClass:aClass |
1173 definitionClass:aClass |
1148 definitionClass := aClass. |
1174 definitionClass := aClass. |
1149 self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ). |
1175 self refetchDefinitionValues. |
1150 self fetchValues. |
|
1151 |
1176 |
1152 "Created: / 04-09-2006 / 16:30:18 / cg" |
1177 "Created: / 04-09-2006 / 16:30:18 / cg" |
1153 "Modified: / 06-09-2006 / 19:25:15 / cg" |
1178 "Modified: / 07-09-2006 / 12:26:57 / cg" |
1154 ! |
1179 ! |
1155 |
1180 |
1156 specClass:aClass |
1181 specClass:aClass |
1157 super specClass:aClass. |
1182 super specClass:aClass. |
1158 self definitionClass:aClass theNonMetaclass. |
1183 self definitionClass:aClass theNonMetaclass. |
1506 |
1531 |
1507 extensionsMenuVisibleHolder |
1532 extensionsMenuVisibleHolder |
1508 ^ builder booleanValueAspectFor:#'extensionsMenuVisibleHolder' |
1533 ^ builder booleanValueAspectFor:#'extensionsMenuVisibleHolder' |
1509 |
1534 |
1510 "Created: / 05-09-2006 / 13:03:16 / cg" |
1535 "Created: / 05-09-2006 / 13:03:16 / cg" |
|
1536 ! |
|
1537 |
|
1538 hasDefinitionClass |
|
1539 ^ definitionClass notNil |
|
1540 |
|
1541 "Created: / 07-09-2006 / 12:29:10 / cg" |
|
1542 ! |
|
1543 |
|
1544 hasDefinitionClassHolder |
|
1545 ^ [ self hasDefinitionClass ] |
|
1546 |
|
1547 "Created: / 07-09-2006 / 12:29:22 / cg" |
1511 ! |
1548 ! |
1512 |
1549 |
1513 prerequisitesMenuVisibleHolder |
1550 prerequisitesMenuVisibleHolder |
1514 ^ builder booleanValueAspectFor:#'prerequisitesMenuVisibleHolder' |
1551 ^ builder booleanValueAspectFor:#'prerequisitesMenuVisibleHolder' |
1515 |
1552 |
1575 definitionClass |
1612 definitionClass |
1576 preRequisites do:[:packageName | |
1613 preRequisites do:[:packageName | |
1577 |entry| |
1614 |entry| |
1578 |
1615 |
1579 entry := PrerequisitesListEntry new. |
1616 entry := PrerequisitesListEntry new. |
1580 entry packageName:packageName. |
1617 entry package:packageName. |
1581 entries add:entry. |
1618 entries add:entry. |
1582 ]. |
1619 ]. |
1583 |
1620 |
1584 ^ entries. |
1621 ^ entries. |
1585 |
1622 |
1586 "Created: / 06-09-2006 / 18:45:15 / cg" |
1623 "Created: / 06-09-2006 / 18:45:15 / cg" |
1587 "Modified: / 07-09-2006 / 12:22:36 / cg" |
1624 "Modified: / 07-09-2006 / 12:36:21 / cg" |
1588 ! |
1625 ! |
1589 |
1626 |
1590 fetchValues |
1627 fetchValues |
1591 |definitionClass isApplicationDefinition className| |
1628 |definitionClass isApplicationDefinition startupClassName startupSelector| |
1592 |
1629 |
1593 definitionClass := self definitionClass. |
1630 definitionClass := self definitionClass. |
1594 definitionClass isNil ifTrue:[^ self ]. |
1631 definitionClass isNil ifTrue:[^ self ]. |
1595 |
1632 |
1596 isApplicationDefinition := definitionClass isApplicationDefinition. |
1633 isApplicationDefinition := definitionClass isApplicationDefinition. |
1597 |
1634 |
1598 self isApplicationDefinitionHolder value:isApplicationDefinition. |
1635 self isApplicationDefinitionHolder value:isApplicationDefinition. |
1599 isApplicationDefinition ifTrue:[ |
1636 isApplicationDefinition ifTrue:[ |
1600 Error handle:[:ex | |
1637 startupClassName := definitionClass name. |
1601 className := definitionClass name |
1638 startupSelector := #start. |
1602 ] do:[ |
1639 |
1603 className := definitionClass startupClassName |
1640 Error handle:[:ex | ] do:[ startupClassName := definitionClass startupClassName]. |
1604 ]. |
1641 Error handle:[:ex | ] do:[ startupSelector := definitionClass startupSelector]. |
1605 self startupClassNameHolder value:className. |
1642 self startupClassNameHolder value:startupClassName. |
1606 self startupSelectorHolder value:(definitionClass startupSelector). |
1643 self startupSelectorHolder value:startupSelector. |
|
1644 |
1607 self iconFileNameHolder value:(definitionClass iconFileName). |
1645 self iconFileNameHolder value:(definitionClass iconFileName). |
1608 self tabList value:(self class tabListForApplication). |
1646 self tabList value:(self class tabListForApplication). |
1609 ] ifFalse:[ |
1647 ] ifFalse:[ |
1610 self tabList value:(self class tabListForLibrary). |
1648 self tabList value:(self class tabListForLibrary). |
1611 ]. |
1649 ]. |
1634 ifTrue:'Application' |
1672 ifTrue:'Application' |
1635 ifFalse:'Library' ) |
1673 ifFalse:'Library' ) |
1636 , ' Definition: ',definitionClass name. |
1674 , ' Definition: ',definitionClass name. |
1637 |
1675 |
1638 "Created: / 04-09-2006 / 16:34:39 / cg" |
1676 "Created: / 04-09-2006 / 16:34:39 / cg" |
1639 "Modified: / 07-09-2006 / 12:19:36 / cg" |
1677 "Modified: / 07-09-2006 / 12:36:10 / cg" |
|
1678 ! |
|
1679 |
|
1680 refetchDefinitionValues |
|
1681 self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ). |
|
1682 self fetchValues. |
|
1683 |
|
1684 "Created: / 07-09-2006 / 12:26:54 / cg" |
1640 ! |
1685 ! |
1641 |
1686 |
1642 update:something with:parameter from:changedObject |
1687 update:something with:parameter from:changedObject |
1643 changedObject == self selectedTabIndexHolder ifTrue:[ |
1688 changedObject == self selectedTabIndexHolder ifTrue:[ |
1644 self updateMenuVisibility. |
1689 self updateMenuVisibility. |
1692 ^ super postOpenWith:aBuilder |
1737 ^ super postOpenWith:aBuilder |
1693 ! ! |
1738 ! ! |
1694 |
1739 |
1695 !ProjectDefinitionEditor methodsFor:'menu actions'! |
1740 !ProjectDefinitionEditor methodsFor:'menu actions'! |
1696 |
1741 |
1697 menuGenerateClassList |
1742 menuGenerateProjectDefinitions |
1698 masterApplication |
1743 |action| |
1699 generateProjectDefinitionsIn:(Array with:self definitionClass). |
1744 |
1700 |
1745 action := [:generator :defClass | |
1701 self classListHolder value:(self fetchClassListEntries). |
1746 defClass theNonMetaclass |
1702 |
1747 forEachMethodsCodeToCompileDo: |
1703 "Modified: / 07-09-2006 / 11:35:39 / cg" |
1748 [:code :category | |
|
1749 generator |
|
1750 compile:code |
|
1751 forClass:defClass theMetaclass |
|
1752 inCategory:category. |
|
1753 ] |
|
1754 ignoreOldDefinition:true |
|
1755 ]. |
|
1756 |
|
1757 masterApplication notNil ifTrue:[ |
|
1758 masterApplication |
|
1759 generateUndoableChange:'Generate Project Definitions' |
|
1760 overClasses:(Array with:self definitionClass) |
|
1761 via:action. |
|
1762 ] ifFalse:[ |
|
1763 action value:Compiler value:self definitionClass |
|
1764 ]. |
|
1765 |
|
1766 self refetchDefinitionValues |
|
1767 |
|
1768 "Created: / 07-09-2006 / 12:26:22 / cg" |
1704 ! |
1769 ! |
1705 |
1770 |
1706 menuNew |
1771 menuNew |
1707 "This method was generated by the Browser. |
1772 "This method was generated by the Browser. |
1708 It will be invoked when the menu-item 'new' is selected." |
1773 It will be invoked when the menu-item 'new' is selected." |