Tools__ProjectBuilderAssistantApplication.st
changeset 2696 c5bbc6a8dfb7
parent 2695 4788e8e6e24a
child 2697 34585829b151
equal deleted inserted replaced
2695:4788e8e6e24a 2696:c5bbc6a8dfb7
  1025 !
  1025 !
  1026 
  1026 
  1027 createNewStartupClass
  1027 createNewStartupClass
  1028     <resource: #uiCallback>
  1028     <resource: #uiCallback>
  1029 
  1029 
  1030     |newClassName newStartupClass|
  1030     |newClassName newStartupClass startupApplication|
  1031 
  1031 
  1032     newClassName := self newStartupClassName value.
  1032     newClassName := self newStartupClassName value.
  1033     newClassName isEmptyOrNil ifTrue:[
  1033     newClassName isEmptyOrNil ifTrue:[
  1034         Dialog warn:'Please enter the name of the Startup-Class first.'.
  1034         Dialog warn:'Please enter the name of the Startup-Class first.'.
  1035         ^ self
  1035         ^ self
  1041             newStartupClass := StandaloneStartup
  1041             newStartupClass := StandaloneStartup
  1042                             subclass:newClassName asSymbol
  1042                             subclass:newClassName asSymbol
  1043                             instanceVariableNames:''
  1043                             instanceVariableNames:''
  1044                             classVariableNames:''
  1044                             classVariableNames:''
  1045                             poolDictionaries:''
  1045                             poolDictionaries:''
  1046                             category:'Applications'.
  1046                             category:'Applications'.   
  1047             CodeGeneratorTool createStartupCodeFor:newStartupClass forStartOf:selectedApplication.
  1047 
       
  1048             self projectTypeIsGuiApplication ifTrue: [startupApplication := selectedApplication].
       
  1049             CodeGeneratorTool createStartupCodeFor:newStartupClass forStartOf:startupApplication.
  1048         ].
  1050         ].
  1049         self updateListOfStartupClassesInProject
  1051         self updateListOfStartupClassesInProject
  1050     ].
  1052     ].
  1051 !
  1053 !
  1052 
  1054 
  1514         projectTypeHolder value:#guiApplicationType.
  1516         projectTypeHolder value:#guiApplicationType.
  1515     ].
  1517     ].
  1516     ^ projectTypeHolder.
  1518     ^ projectTypeHolder.
  1517 !
  1519 !
  1518 
  1520 
  1519 projectTypeIsLibrary
       
  1520     ^ self projectTypeHolder value == #libraryType
       
  1521 !
       
  1522 
       
  1523 projectTypeIsNotLibrary
       
  1524     ^ self projectTypeIsLibrary not
       
  1525 !
       
  1526 
       
  1527 selectedApplicationIndexHolder
  1521 selectedApplicationIndexHolder
  1528     <resource: #uiAspect>
  1522     <resource: #uiAspect>
  1529 
  1523 
  1530     selectedApplicationIndexHolder isNil ifTrue:[
  1524     selectedApplicationIndexHolder isNil ifTrue:[
  1531         selectedApplicationIndexHolder := ValueHolder new.
  1525         selectedApplicationIndexHolder := ValueHolder new.
  1734     ^ self hasProjectBuilder
  1728     ^ self hasProjectBuilder
  1735 !
  1729 !
  1736 
  1730 
  1737 canEnterStartupClassSelection
  1731 canEnterStartupClassSelection
  1738     ^ self hasProjectSelected "and:[ self hasApplicationSelected ]"
  1732     ^ self hasProjectSelected "and:[ self hasApplicationSelected ]"
       
  1733 !
       
  1734 
       
  1735 projectTypeIsGuiApplication
       
  1736     ^ self projectTypeHolder value == #guiApplicationType
       
  1737 !
       
  1738 
       
  1739 projectTypeIsLibrary
       
  1740     ^ self projectTypeHolder value == #libraryType
       
  1741 !
       
  1742 
       
  1743 projectTypeIsNotLibrary
       
  1744     ^ self projectTypeIsLibrary not
  1739 ! !
  1745 ! !
  1740 
  1746 
  1741 !ProjectBuilderAssistantApplication methodsFor:'specs'!
  1747 !ProjectBuilderAssistantApplication methodsFor:'specs'!
  1742 
  1748 
  1743 assistantSpec
  1749 assistantSpec
  1757                        These are subclasses of <I>ProjectDefinition</I> and define the
  1763                        These are subclasses of <I>ProjectDefinition</I> and define the
  1758                        type and contents of a project.'
  1764                        type and contents of a project.'
  1759         )
  1765         )
  1760 
  1766 
  1761         (AssistantPageSpec
  1767         (AssistantPageSpec
  1762             pageTitle: 'Application Selection'
  1768             pageTitle: 'Startup Application Selection'
  1763             windowSpecSelector: page3_applicationSelectionSpec
  1769             windowSpecSelector: page3_applicationSelectionSpec
  1764             isEnabledQuerySelector: #projectTypeIsNotLibrary
  1770             isEnabledQuerySelector: #projectTypeIsGuiApplication
  1765             canEnterQuerySelector: #canEnterApplicationSelection
  1771             canEnterQuerySelector: #canEnterApplicationSelection
  1766             enterCallbackSelector: updateListOfApplicationsInProject
  1772             enterCallbackSelector: updateListOfApplicationsInProject
  1767             infoText: 'Choose an existing application or create a new one.
  1773             infoText: 'Choose an existing application or create a new one.
  1768                        These are subclasses of <I>ApplicationModel</I> and define
  1774                        These are subclasses of <I>ApplicationModel</I> and define
  1769                        the GUI and control flow inside the application.
  1775                        the GUI and control flow inside the application.