# HG changeset patch # User Claus Gittinger # Date 1256244532 -7200 # Node ID 48cb061347ef746c80b614c5c3885416f44c9654 # Parent f2e117783c83ac197b97732fa530310d2ba83941 *** empty log message *** diff -r f2e117783c83 -r 48cb061347ef Tools__ProjectBuilderAssistantApplication.st --- a/Tools__ProjectBuilderAssistantApplication.st Thu Oct 22 22:17:50 2009 +0200 +++ b/Tools__ProjectBuilderAssistantApplication.st Thu Oct 22 22:48:52 2009 +0200 @@ -7,6 +7,7 @@ selectedProjectIndexHolder selectedProjectDefinition listOfMatchingProjects selectedProjectsComment hasProjectSelectedHolder newProjectsName hideSTXProjects + hideOtherApplicationClasses hideOtherStartupClasses startMakeButtonEnabled stopMakeButtonVisible makeOutputHolder newApplicationsName listOfApplicationsInProject selectedApplicationIndexHolder selectedApplication @@ -345,7 +346,7 @@ label: 'Application Selection' name: 'Application Selection' min: (Point 0 0) - bounds: (Rectangle 0 0 521 408) + bounds: (Rectangle 0 0 519 406) ) component: (SpecCollection @@ -390,7 +391,7 @@ collection: ( (VariableHorizontalPanelSpec name: 'VariableHorizontalPanel2' - layout: (LayoutFrame 0 0 4 0 0 1 0 1) + layout: (LayoutFrame 0 0 4 0 0 1 -26 1) component: (SpecCollection collection: ( @@ -401,6 +402,7 @@ hasVerticalScrollBar: true useIndex: true sequenceList: listOfApplicationsInProject + ignoreReselect: false ) (TextEditorSpec name: 'TextEditor2' @@ -416,6 +418,13 @@ ) handles: (Any 0.34560327198364 1.0) ) + (CheckBoxSpec + label: 'Hide other Application Classes' + name: 'CheckBox1' + layout: (LayoutFrame -1 0 -18 1 0 1 4 1) + model: hideOtherApplicationClasses + translateLabel: true + ) ) ) @@ -523,7 +532,7 @@ collection: ( (VariableHorizontalPanelSpec name: 'VariableHorizontalPanel2' - layout: (LayoutFrame 0 0 4 0 0 1 0 1) + layout: (LayoutFrame 0 0 4 0 0 1 -26 1) component: (SpecCollection collection: ( @@ -549,6 +558,13 @@ ) handles: (Any 0.34560327198364 1.0) ) + (CheckBoxSpec + label: 'Hide other Startup Classes' + name: 'CheckBox1' + layout: (LayoutFrame -1 0 -20 1 0 1 2 1) + model: hideOtherStartupClasses + translateLabel: true + ) ) ) @@ -1124,10 +1140,13 @@ ! selectedApplicationChanged - self selectedApplicationIndexHolder value isNil ifTrue:[ + |idx| + + ((idx := self selectedApplicationIndexHolder value) isNil + or:[idx == 0]) ifTrue:[ selectedApplication := nil. ] ifFalse:[ - selectedApplication := self listOfApplicationsInProject value at:(self selectedApplicationIndexHolder value). + selectedApplication := self listOfApplicationsInProject value at:idx. ]. self hasApplicationSelectedHolder value:(selectedApplication notNil). @@ -1235,6 +1254,26 @@ ^ hasStartupClassSelectedHolder. ! +hideOtherApplicationClasses + + + hideOtherApplicationClasses isNil ifTrue:[ + hideOtherApplicationClasses := true asValue. + hideOtherApplicationClasses onChangeSend:#updateListOfApplicationsInProject to:self. + ]. + ^ hideOtherApplicationClasses. +! + +hideOtherStartupClasses + + + hideOtherStartupClasses isNil ifTrue:[ + hideOtherStartupClasses := true asValue. + hideOtherStartupClasses onChangeSend:#updateListOfStartupClassesInProject to:self. + ]. + ^ hideOtherStartupClasses. +! + hideSTXProjects @@ -1562,7 +1601,7 @@ ! canEnterStartupClassSelection - ^ self hasProjectSelected and:[ self hasApplicationSelected ] + ^ self hasProjectSelected "and:[ self hasApplicationSelected ]" ! ! !ProjectBuilderAssistantApplication methodsFor:'specs'! @@ -1593,7 +1632,8 @@ enterCallbackSelector: updateListOfApplicationsInProject infoText: 'Choose an existing application or create a new one. These are subclasses of ApplicationModel and define - the GUI and control flow inside the application.' + the GUI and control flow inside the application. + Can also be left blank if the startup class does it all (stx build).' ) (AssistantPageSpec @@ -1703,8 +1743,7 @@ ! updateListOfApplicationsInProject - |oldList applicationClasses package startUpClassName startUpClass - appClass appClassIndex| + |oldList applicationClasses package appClass appClassIndex| appClassIndex := nil. @@ -1715,8 +1754,9 @@ applicationClasses := Smalltalk allClasses select:[:cls | - (cls package = package - and:[ cls isSubclassOf:ApplicationModel ]) + ((cls isSubclassOf:ApplicationModel) + and:[ self hideOtherApplicationClasses value not + or:[ cls package = package ]]) ]. applicationClasses := applicationClasses asOrderedCollection. applicationClasses sort:[:a :b | a name < b name]. @@ -1799,8 +1839,9 @@ startupClasses := Smalltalk allClasses select:[:cls | - (cls package = package - and:[ cls isSubclassOf:StandaloneStartup ]) + ((cls includesBehavior:StandaloneStartup) + and:[ self hideOtherStartupClasses value not + or:[ cls package = package ]]) ]. startupClasses := startupClasses asOrderedCollection. startupClasses sort:[:a :b | a name < b name].