# HG changeset patch # User Claus Gittinger # Date 1342808237 -7200 # Node ID b6cd7ee2a43bd96ac7c05ae2b42b5813a1eb66e2 # Parent 6ed90332dbda107d422d0f1574f8aed798ec8d5b added: #openOn: #openOnPackage: changed:8 methods category of: diff -r 6ed90332dbda -r b6cd7ee2a43b Tools__ProjectBuilderAssistantApplication.st --- a/Tools__ProjectBuilderAssistantApplication.st Fri Jul 20 20:15:40 2012 +0200 +++ b/Tools__ProjectBuilderAssistantApplication.st Fri Jul 20 20:17:17 2012 +0200 @@ -394,7 +394,7 @@ model: projectTypeHolder isTriggerOnDown: true onCallBackSelector: projectTypeChanged - select: guiApplicationType + select: #'GUI-Application' extent: (Point 136 22) ) (RadioButtonSpec @@ -404,7 +404,7 @@ model: projectTypeHolder isTriggerOnDown: true onCallBackSelector: projectTypeChanged - select: nonGuiApplicationType + select: #'NonGUI-Application' extent: (Point 136 22) ) (RadioButtonSpec @@ -414,7 +414,7 @@ model: projectTypeHolder isTriggerOnDown: true onCallBackSelector: projectTypeChanged - select: libraryType + select: #Library extent: (Point 136 22) ) ) @@ -478,6 +478,8 @@ ) ) + + "Modified: / 20-07-2012 / 13:27:45 / cg" ! page2_projectSelectionSpec @@ -1453,6 +1455,20 @@ ) ! ! +!ProjectBuilderAssistantApplication class methodsFor:'startup'! + +openOn:aProjectDefinitionClass + ^ self new openOn:aProjectDefinitionClass + + "Created: / 20-07-2012 / 12:33:25 / cg" +! + +openOnPackage:aPackageId + ^ self new openOnPackage:aPackageId + + "Created: / 20-07-2012 / 13:22:50 / cg" +! ! + !ProjectBuilderAssistantApplication methodsFor:'actions'! buildDirectoryChanged @@ -2100,36 +2116,16 @@ ! projectType - self projectTypeHolder value == #libraryType ifTrue:[ - ^ ProjectDefinition libraryType - ]. - self projectTypeHolder value == #guiApplicationType ifTrue:[ - ^ ProjectDefinition guiApplicationType - ]. - self projectTypeHolder value == #nonGuiApplicationType ifTrue:[ - ^ ProjectDefinition nonGuiApplicationType - ]. - self error. + ^ self projectTypeHolder value + + "Modified: / 20-07-2012 / 13:28:46 / cg" ! projectType:aProjectTypeSymbol - |pType| - self assert:(ProjectDefinition projectTypes includes:aProjectTypeSymbol). - aProjectTypeSymbol == ProjectDefinition libraryType ifTrue:[ - pType := #libraryType - ] ifFalse:[ - aProjectTypeSymbol == ProjectDefinition guiApplicationType ifTrue:[ - pType := #guiApplicationType - ] ifFalse:[ - aProjectTypeSymbol == ProjectDefinition nonGuiApplicationType ifTrue:[ - pType := #nonGuiApplicationType - ] ifFalse:[ - self error. - ]. - ] - ]. self projectTypeHolder value:aProjectTypeSymbol + + "Modified: / 20-07-2012 / 13:28:25 / cg" ! projectTypeHolder @@ -2137,9 +2133,11 @@ projectTypeHolder isNil ifTrue:[ projectTypeHolder := RadioButtonGroup new. - projectTypeHolder value:#guiApplicationType. + projectTypeHolder value:ProjectDefinition guiApplicationType. ]. ^ projectTypeHolder. + + "Modified: / 20-07-2012 / 13:30:16 / cg" ! selectedApplicationIndexHolder @@ -2256,6 +2254,50 @@ ^ browser. ! +openOn:aProjectDefinitionClass + |type apps startupClass| + + self allButOpen. + aProjectDefinitionClass isLibraryDefinition ifTrue:[ + type := ProjectDefinition libraryType + ] ifFalse:[ + aProjectDefinitionClass isGUIApplication ifTrue:[ + type := ProjectDefinition guiApplicationType + ] ifFalse:[ + type := ProjectDefinition nonGuiApplicationType + ] + ]. + self projectTypeHolder value:type. + self hideSTXProjects value:false. + selectedProjectDefinition := aProjectDefinitionClass. + self selectedProjectIndexHolder value:(self listOfMatchingPackageIds value indexOf:aProjectDefinitionClass package). + self hasProjectSelectedHolder value:true. + + self gotoPage:3. + type == ProjectDefinition guiApplicationType ifTrue:[ + (startupClass := aProjectDefinitionClass startupClass) notNil ifTrue:[ + selectedStartupClass := startupClass. + self gotoPage:4. + ]. +"/ apps := (aProjectDefinitionClass classes select:[:cls | cls isKindOf:ApplicationModel]) + ]. + self openWindow. + + "Created: / 20-07-2012 / 12:34:02 / cg" +! + +openOnPackage:aPackageId + self allButOpen. + self projectTypeHolder value:(ProjectDefinition guiApplicationType). + self hideSTXProjects value:false. + self selectedProjectIndexHolder value:(self listOfMatchingPackageIds indexOf:aPackageId). + self hasProjectSelectedHolder value:true. + self gotoPage:2. + self openWindow. + + "Created: / 20-07-2012 / 13:24:38 / cg" +! + postBuildMakeOutputWindow:aView makeOutputWindow := aView ! @@ -2385,7 +2427,7 @@ ! canEnterContentsSelection - |prj cls impl| + |prj cls impl mthd| self hasProjectSelected ifFalse:[ self infoHolder value:'no project selected'. @@ -2415,8 +2457,8 @@ ^ false ]. ]. - (prj class compiledMethodAt:#startupClassName) package == prj package ifFalse:[ - (prj class compiledMethodAt:#startupClassName) package == PackageId noProjectID ifFalse:[ + (mthd := prj class compiledMethodAt:#startupClassName) package == prj package ifFalse:[ + mthd package == PackageId noProjectID ifFalse:[ self infoHolder value:('startup class method (#startupClassName) of %3 must be in package "%1" (is in "%2")' bindWith:prj package with:(prj class compiledMethodAt:#startupClassName) package @@ -2424,12 +2466,12 @@ ^ false ]. ]. - (prj class compiledMethodAt:#startupSelector) notNil ifTrue:[ - (prj class compiledMethodAt:#startupSelector) package == prj package ifFalse:[ - (prj class compiledMethodAt:#startupSelector) package == PackageId noProjectID ifFalse:[ + (mthd := prj class compiledMethodAt:#startupSelector) notNil ifTrue:[ + mthd package == prj package ifFalse:[ + mthd package == PackageId noProjectID ifFalse:[ self infoHolder value:('startup class method (#startupSelector) of %3 must be in package "%1" (is in "%2")' bindWith:prj package - with:(prj class compiledMethodAt:#startupSelector) package + with:mthd package with:prj class name). ^ false ] @@ -2450,7 +2492,7 @@ ]. ^ true. - "Modified: / 19-01-2012 / 15:30:54 / cg" + "Modified: / 20-07-2012 / 19:21:34 / cg" ! canEnterDeploy @@ -2494,11 +2536,15 @@ ! projectTypeIsGuiApplication - ^ self projectTypeHolder value == #guiApplicationType + ^ self projectTypeHolder value == ProjectDefinition guiApplicationType + + "Modified: / 20-07-2012 / 13:29:59 / cg" ! projectTypeIsLibrary - ^ self projectTypeHolder value == #libraryType + ^ self projectTypeHolder value == ProjectDefinition libraryType + + "Modified: / 20-07-2012 / 13:29:24 / cg" ! projectTypeIsNotLibrary @@ -2733,7 +2779,8 @@ projectType = ProjectDefinition nonGuiApplicationType ifTrue:[ query := #isConsoleApplication ] ifFalse:[ - self error. + self halt:'oops'. + projectType := ProjectDefinition guiApplicationType. ]. ]. ]. @@ -2767,7 +2814,7 @@ self selectedProjectIndexHolder value:idx. ]. - "Modified: / 04-12-2011 / 19:55:37 / cg" + "Modified: / 20-07-2012 / 15:04:15 / cg" ! updateListOfNewProjectsName