# HG changeset patch # User Claus Gittinger # Date 1475961286 -7200 # Node ID f9ec2e76c54ca401a8a353c0876e8bdbe7ae709b # Parent 108c139b4bbd2a602919ed9f687adbe4b6a181fb #FEATURE by cg class: Tools::ProjectBuilderAssistantApplication added: #projectTypeIsNonGuiApplication changed:15 methods geometry; allow startup with a startupclass in addition to a projectDefnition class. diff -r 108c139b4bbd -r f9ec2e76c54c Tools__ProjectBuilderAssistantApplication.st --- a/Tools__ProjectBuilderAssistantApplication.st Fri Oct 07 01:57:58 2016 +0200 +++ b/Tools__ProjectBuilderAssistantApplication.st Sat Oct 08 23:14:46 2016 +0200 @@ -493,124 +493,124 @@ ^ - #(FullSpec - name: #'page2_projectSelectionSpec' - window: - (WindowSpec - label: 'Project Selection' - name: 'Project Selection' - min: (Point 0 0) - bounds: (Rectangle 0 0 521 453) - ) - component: - (SpecCollection - collection: ( - (FramedBoxSpec - label: 'New Project''s PackageID' - name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 72 0) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (ExtendedComboBoxSpec - name: 'NewProjectsNameListExtendedComboBox' - layout: (LayoutFrame 1 0 6 0 -113 1 28 0) - activeHelpKey: listOfNewProjectsName - model: newProjectsName - readOnly: false - miniScrollerHorizontal: true - postBuildCallback: postBuildNewProjectsNameListExtendedComboBox: - ) - (ActionButtonSpec - label: 'Create' - name: 'Button1' - layout: (LayoutFrame -100 1 6 0 2 1 28 0) - activeHelpKey: createNewProject - translateLabel: true - model: createNewProject - ) + #(FullSpec + name: #'page2_projectSelectionSpec' + window: + (WindowSpec + label: 'Project Selection' + name: 'Project Selection' + min: (Point 0 0) + bounds: (Rectangle 0 0 521 453) + ) + component: + (SpecCollection + collection: ( + (FramedBoxSpec + label: 'New Project''s PackageID' + name: 'FramedBox3' + layout: (LayoutFrame 0 0.0 5 0 4 1.0 72 0) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (ExtendedComboBoxSpec + name: 'NewProjectsNameListExtendedComboBox' + layout: (LayoutFrame 1 0 6 0 -113 1 34 0) + activeHelpKey: listOfNewProjectsName + model: newProjectsName + readOnly: false + miniScrollerHorizontal: true + postBuildCallback: postBuildNewProjectsNameListExtendedComboBox: + ) + (ActionButtonSpec + label: 'Create' + name: 'Button1' + layout: (LayoutFrame -100 1 6 0 2 1 34 0) + activeHelpKey: createNewProject + translateLabel: true + model: createNewProject ) - - ) - ) - (FramedBoxSpec - label: 'Existing Projects with ProjectDefinition' - name: 'FramedBox4' - layout: (LayoutFrame 0 0.0 70 0 4 1.0 -30 1) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (VariableHorizontalPanelSpec - name: 'VariableHorizontalPanel2' - layout: (LayoutFrame 0 0 4 0 0 1 -26 1) - component: - (SpecCollection - collection: ( - (SequenceViewSpec - name: 'List2' - model: selectedProjectIndexHolder - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - useIndex: true - sequenceList: listOfMatchingPackageIds - ) - (TextEditorSpec - name: 'TextEditor2' - model: selectedProjectsComment - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - isReadOnly: true - hasKeyboardFocusInitially: false - viewClassName: 'TextView' - ) + ) + + ) + ) + (FramedBoxSpec + label: 'Existing Projects with ProjectDefinition' + name: 'FramedBox4' + layout: (LayoutFrame 0 0.0 70 0 4 1.0 -34 1) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (VariableHorizontalPanelSpec + name: 'VariableHorizontalPanel2' + layout: (LayoutFrame 0 0 4 0 0 1 -26 1) + component: + (SpecCollection + collection: ( + (SequenceViewSpec + name: 'List2' + model: selectedProjectIndexHolder + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + useIndex: true + sequenceList: listOfMatchingPackageIds + ) + (TextEditorSpec + name: 'TextEditor2' + model: selectedProjectsComment + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + isReadOnly: true + hasKeyboardFocusInitially: false + viewClassName: 'TextView' ) - - ) - handles: (Any 0.34560327198364 1.0) - ) - (CheckBoxSpec - label: 'Hide ST/X Base Packages' - name: 'CheckBox1' - layout: (LayoutFrame -1 0 -17 1 0 1 5 1) - activeHelpKey: hideSTXBasePackages - model: hideSTXProjects - translateLabel: true - ) + ) + + ) + handles: (Any 0.35000000000000003 1.0) + ) + (CheckBoxSpec + label: 'Hide ST/X Base Packages' + name: 'CheckBox1' + layout: (LayoutFrame -1 0 -17 1 0 1 5 1) + activeHelpKey: hideSTXBasePackages + model: hideSTXProjects + translateLabel: true ) - - ) - ) - (HorizontalPanelViewSpec - name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) - horizontalLayout: leftSpace - verticalLayout: center - horizontalSpace: 3 - verticalSpace: 3 - component: - (SpecCollection - collection: ( - (ActionButtonSpec - label: 'Browse Selected Project' - name: 'Button3' - activeHelpKey: browseSelectedProject - translateLabel: true - model: doBrowseProject - enableChannel: hasProjectSelectedHolder - useDefaultExtent: true - ) + ) + + ) + ) + (HorizontalPanelViewSpec + name: 'HorizontalPanel1' + layout: (LayoutFrame 0 0 -34 1 0 1 0 1) + horizontalLayout: leftSpace + verticalLayout: center + horizontalSpace: 3 + verticalSpace: 3 + component: + (SpecCollection + collection: ( + (ActionButtonSpec + label: 'Browse Selected Project' + name: 'Button3' + activeHelpKey: browseSelectedProject + translateLabel: true + model: doBrowseProject + enableChannel: hasProjectSelectedHolder + useDefaultExtent: true ) - - ) - ) + ) + + ) ) - - ) - ) + ) + + ) + ) ! page3_applicationSelectionSpec @@ -628,133 +628,133 @@ ^ - #(FullSpec - name: #'page3_applicationSelectionSpec' - window: - (WindowSpec - label: 'Application Selection' - name: 'Application Selection' - min: (Point 0 0) - bounds: (Rectangle 0 0 519 406) - ) - component: - (SpecCollection - collection: ( - (FramedBoxSpec - label: 'New Application Class' - name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (InputFieldSpec - name: 'EntryField1' - layout: (LayoutFrame 1 0 6 0 -113 1 28 0) - model: newApplicationsName - acceptOnReturn: true - acceptOnTab: true - acceptOnLostFocus: true - acceptOnPointerLeave: true - emptyFieldReplacementText: 'MyApplication' - activeHelpKey: nameOfApplicationClass - ) - (ActionButtonSpec - label: 'Create' - name: 'Button1' - layout: (LayoutFrame -100 1 6 0 1 1 28 0) - translateLabel: true - model: createNewApplication - activeHelpKey: createNewApplication - ) + #(FullSpec + name: #'page3_applicationSelectionSpec' + window: + (WindowSpec + label: 'Application Selection' + name: 'Application Selection' + min: (Point 0 0) + bounds: (Rectangle 0 0 519 406) + ) + component: + (SpecCollection + collection: ( + (FramedBoxSpec + label: 'New Application Class' + name: 'FramedBox3' + layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (InputFieldSpec + name: 'EntryField1' + layout: (LayoutFrame 1 0 6 0 -113 1 34 0) + activeHelpKey: nameOfApplicationClass + model: newApplicationsName + acceptOnReturn: true + acceptOnTab: true + acceptOnLostFocus: true + acceptOnPointerLeave: true + emptyFieldReplacementText: 'MyApplication' + ) + (ActionButtonSpec + label: 'Create' + name: 'Button1' + layout: (LayoutFrame -100 1 6 0 1 1 34 0) + activeHelpKey: createNewApplication + translateLabel: true + model: createNewApplication ) - - ) - ) - (FramedBoxSpec - label: 'Existing Applications' - name: 'FramedBox4' - layout: (LayoutFrame 0 0.0 72 0 4 1.0 -30 1) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (VariableHorizontalPanelSpec - name: 'VariableHorizontalPanel2' - layout: (LayoutFrame 0 0 4 0 0 1 -26 1) - component: - (SpecCollection - collection: ( - (SequenceViewSpec - name: 'List2' - model: selectedApplicationIndexHolder - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - useIndex: true - sequenceList: listOfApplicationsInProject - ignoreReselect: false - ) - (TextEditorSpec - name: 'TextEditor2' - model: selectedApplicationsComment - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - isReadOnly: true - hasKeyboardFocusInitially: false - viewClassName: 'TextView' - ) + ) + + ) + ) + (FramedBoxSpec + label: 'Existing Applications' + name: 'FramedBox4' + layout: (LayoutFrame 0 0.0 72 0 4 1.0 -34 1) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (VariableHorizontalPanelSpec + name: 'VariableHorizontalPanel2' + layout: (LayoutFrame 0 0 4 0 0 1 -26 1) + component: + (SpecCollection + collection: ( + (SequenceViewSpec + name: 'List2' + model: selectedApplicationIndexHolder + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + useIndex: true + sequenceList: listOfApplicationsInProject + ignoreReselect: false + ) + (TextEditorSpec + name: 'TextEditor2' + model: selectedApplicationsComment + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + isReadOnly: true + hasKeyboardFocusInitially: false + viewClassName: 'TextView' ) - - ) - 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 - ) + ) + + ) + handles: (Any 0.35000000000000003 1.0) + ) + (CheckBoxSpec + label: 'Hide other Application Classes' + name: 'CheckBox1' + layout: (LayoutFrame -1 0 -18 1 0 1 4 1) + model: hideOtherApplicationClasses + translateLabel: true ) - - ) - ) - (HorizontalPanelViewSpec - name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) - horizontalLayout: leftSpace - verticalLayout: center - horizontalSpace: 3 - verticalSpace: 3 - component: - (SpecCollection - collection: ( - (ActionButtonSpec - label: 'Browse Selected Application' - name: 'Button3' - translateLabel: true - model: doBrowseApplication - enableChannel: hasApplicationSelectedHolder - extent: (Point 180 22) - ) - (ActionButtonSpec - label: 'Launch Selected Application' - name: 'Button4' - translateLabel: true - model: doLaunchApplication - enableChannel: hasApplicationSelectedHolder - extent: (Point 180 22) - ) + ) + + ) + ) + (HorizontalPanelViewSpec + name: 'HorizontalPanel1' + layout: (LayoutFrame 0 0 -34 1 0 1 0 1) + horizontalLayout: leftSpace + verticalLayout: center + horizontalSpace: 3 + verticalSpace: 3 + component: + (SpecCollection + collection: ( + (ActionButtonSpec + label: 'Browse Selected App' + name: 'Button3' + translateLabel: true + model: doBrowseApplication + enableChannel: hasApplicationSelectedHolder + useDefaultExtent: true ) - - ) - ) + (ActionButtonSpec + label: 'Launch Selected App' + name: 'Button4' + translateLabel: true + model: doLaunchApplication + enableChannel: hasApplicationSelectedHolder + useDefaultExtent: true + ) + ) + + ) ) - - ) - ) + ) + + ) + ) ! page4_startupClassSelectionSpec @@ -772,125 +772,125 @@ ^ - #(FullSpec - name: #'page4_startupClassSelectionSpec' - window: - (WindowSpec - label: 'Startup Class Selection' - name: 'Startup Class Selection' - min: (Point 0 0) - bounds: (Rectangle 0 0 521 408) - ) - component: - (SpecCollection - collection: ( - (FramedBoxSpec - label: 'New Startup Class' - name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (InputFieldSpec - name: 'EntryField1' - layout: (LayoutFrame 1 0 6 0 -113 1 28 0) - activeHelpKey: nameOfStartupClass - model: newStartupClassName - acceptOnReturn: true - acceptOnTab: true - acceptOnLostFocus: true - acceptOnPointerLeave: true - emptyFieldReplacementText: 'MyStandAloneStartup' - ) - (ActionButtonSpec - label: 'Create' - name: 'Button1' - layout: (LayoutFrame -100 1 6 0 1 1 28 0) - activeHelpKey: createNewStartupClass - translateLabel: true - model: createNewStartupClass - ) + #(FullSpec + name: #'page4_startupClassSelectionSpec' + window: + (WindowSpec + label: 'Startup Class Selection' + name: 'Startup Class Selection' + min: (Point 0 0) + bounds: (Rectangle 0 0 521 408) + ) + component: + (SpecCollection + collection: ( + (FramedBoxSpec + label: 'New Startup Class' + name: 'FramedBox3' + layout: (LayoutFrame 0 0.0 5 0 4 1.0 70 0) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (InputFieldSpec + name: 'EntryField1' + layout: (LayoutFrame 1 0 6 0 -113 1 34 0) + activeHelpKey: nameOfStartupClass + model: newStartupClassName + acceptOnReturn: true + acceptOnTab: true + acceptOnLostFocus: true + acceptOnPointerLeave: true + emptyFieldReplacementText: 'MyStandAloneStartup' + ) + (ActionButtonSpec + label: 'Create' + name: 'Button1' + layout: (LayoutFrame -100 1 6 0 1 1 34 0) + activeHelpKey: createNewStartupClass + translateLabel: true + model: createNewStartupClass ) - - ) - ) - (FramedBoxSpec - label: 'Existing Startup Classes' - name: 'FramedBox4' - layout: (LayoutFrame 0 0.0 72 0 4 1.0 -30 1) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (VariableHorizontalPanelSpec - name: 'VariableHorizontalPanel2' - layout: (LayoutFrame 0 0 4 0 0 1 -26 1) - component: - (SpecCollection - collection: ( - (SequenceViewSpec - name: 'List2' - model: selectedStartupClassIndexHolder - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - useIndex: true - sequenceList: listOfStartupClassesInProject - ) - (TextEditorSpec - name: 'TextEditor2' - model: selectedStartupClassesComment - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - isReadOnly: true - hasKeyboardFocusInitially: false - viewClassName: 'TextView' - ) + ) + + ) + ) + (FramedBoxSpec + label: 'Existing Startup Classes' + name: 'FramedBox4' + layout: (LayoutFrame 0 0.0 72 0 4 1.0 -34 1) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (VariableHorizontalPanelSpec + name: 'VariableHorizontalPanel2' + layout: (LayoutFrame 0 0 4 0 0 1 -26 1) + component: + (SpecCollection + collection: ( + (SequenceViewSpec + name: 'List2' + model: selectedStartupClassIndexHolder + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + useIndex: true + sequenceList: listOfStartupClassesInProject + ) + (TextEditorSpec + name: 'TextEditor2' + model: selectedStartupClassesComment + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + isReadOnly: true + hasKeyboardFocusInitially: false + viewClassName: 'TextView' ) - - ) - handles: (Any 0.34560327198364 1.0) - ) - (CheckBoxSpec - label: 'Hide other Startup Classes' - name: 'CheckBox1' - layout: (LayoutFrame -1 0 -20 1 0 1 2 1) - activeHelpKey: hideOtherStartupClasses - model: hideOtherStartupClasses - translateLabel: true - ) + ) + + ) + handles: (Any 0.35000000000000003 1.0) + ) + (CheckBoxSpec + label: 'Hide other Startup Classes' + name: 'CheckBox1' + layout: (LayoutFrame -1 0 -20 1 0 1 2 1) + activeHelpKey: hideOtherStartupClasses + model: hideOtherStartupClasses + translateLabel: true ) - - ) - ) - (HorizontalPanelViewSpec - name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) - horizontalLayout: leftSpace - verticalLayout: center - horizontalSpace: 3 - verticalSpace: 3 - component: - (SpecCollection - collection: ( - (ActionButtonSpec - label: 'Browse Selected StartupClass' - name: 'Button3' - translateLabel: true - model: doBrowseStartupClass - enableChannel: hasStartupClassSelectedHolder - extent: (Point 180 22) - ) + ) + + ) + ) + (HorizontalPanelViewSpec + name: 'HorizontalPanel1' + layout: (LayoutFrame 0 0 -34 1 0 1 0 1) + horizontalLayout: leftSpace + verticalLayout: center + horizontalSpace: 3 + verticalSpace: 3 + component: + (SpecCollection + collection: ( + (ActionButtonSpec + label: 'Browse Selected StartupClass' + name: 'Button3' + translateLabel: true + model: doBrowseStartupClass + enableChannel: hasStartupClassSelectedHolder + useDefaultExtent: true ) - - ) - ) + ) + + ) ) - - ) - ) + ) + + ) + ) ! page5_specifyIncludedClasses @@ -908,72 +908,72 @@ ^ - #(FullSpec - name: #'page5_specifyIncludedClasses' - window: - (WindowSpec - label: 'Project Selection' - name: 'Project Selection' - min: (Point 0 0) - bounds: (Rectangle 0 0 521 400) - ) - component: - (SpecCollection - collection: ( - (FramedBoxSpec - label: 'Project Contents' - name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 -30 1) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (SequenceViewSpec - name: 'List1' - layout: (LayoutFrame 0 0 0 0 0 1 0 1) - initiallyDisabled: true - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - useIndex: false - sequenceList: listOfClassesInProject - ) + #(FullSpec + name: #'page5_specifyIncludedClasses' + window: + (WindowSpec + label: 'Project Selection' + name: 'Project Selection' + min: (Point 0 0) + bounds: (Rectangle 0 0 521 400) + ) + component: + (SpecCollection + collection: ( + (FramedBoxSpec + label: 'Project Contents' + name: 'FramedBox3' + layout: (LayoutFrame 0 0.0 5 0 4 1.0 -34 1) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (SequenceViewSpec + name: 'List1' + layout: (LayoutFrame 0 0 0 0 0 1 0 1) + initiallyDisabled: true + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + useIndex: false + sequenceList: listOfClassesInProject ) - - ) - ) - (HorizontalPanelViewSpec - name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) - horizontalLayout: center - verticalLayout: center - horizontalSpace: 3 - verticalSpace: 3 - component: - (SpecCollection - collection: ( - (ActionButtonSpec - label: 'Browse Project Definition' - name: 'Button3' - translateLabel: true - model: doBrowseProjectDefinitionClass - useDefaultExtent: true - ) - (ActionButtonSpec - label: 'Update Contents (Scan)' - name: 'Button4' - translateLabel: true - model: doGenerateProjectContentsDefinition - useDefaultExtent: true - ) + ) + + ) + ) + (HorizontalPanelViewSpec + name: 'HorizontalPanel1' + layout: (LayoutFrame 0 0 -34 1 0 1 0 1) + horizontalLayout: center + verticalLayout: center + horizontalSpace: 3 + verticalSpace: 3 + component: + (SpecCollection + collection: ( + (ActionButtonSpec + label: 'Browse Project Definition' + name: 'Button3' + translateLabel: true + model: doBrowseProjectDefinitionClass + useDefaultExtent: true ) - - ) - ) + (ActionButtonSpec + label: 'Update Contents (Scan)' + name: 'Button4' + translateLabel: true + model: doGenerateProjectContentsDefinition + useDefaultExtent: true + ) + ) + + ) ) - - ) - ) + ) + + ) + ) ! page5b_specifyPrerequisitePackages @@ -991,72 +991,72 @@ ^ - #(FullSpec - name: #'page5b_specifyPrerequisitePackages' - window: - (WindowSpec - label: 'Project Selection' - name: 'Project Selection' - min: (Point 0 0) - bounds: (Rectangle 0 0 521 400) - ) - component: - (SpecCollection - collection: ( - (FramedBoxSpec - label: 'Prerequisite Packages' - name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 -30 1) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (SequenceViewSpec - name: 'List1' - layout: (LayoutFrame 0 0 0 0 0 1 0 1) - initiallyDisabled: true - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - useIndex: false - sequenceList: listOfPrerequisitesInProject - ) + #(FullSpec + name: #'page5b_specifyPrerequisitePackages' + window: + (WindowSpec + label: 'Project Selection' + name: 'Project Selection' + min: (Point 0 0) + bounds: (Rectangle 0 0 521 400) + ) + component: + (SpecCollection + collection: ( + (FramedBoxSpec + label: 'Prerequisite Packages' + name: 'FramedBox3' + layout: (LayoutFrame 0 0.0 5 0 4 1.0 -34 1) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (SequenceViewSpec + name: 'List1' + layout: (LayoutFrame 0 0 0 0 0 1 0 1) + initiallyDisabled: true + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + useIndex: false + sequenceList: listOfPrerequisitesInProject ) - - ) - ) - (HorizontalPanelViewSpec - name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) - horizontalLayout: center - verticalLayout: center - horizontalSpace: 3 - verticalSpace: 3 - component: - (SpecCollection - collection: ( - (ActionButtonSpec - label: 'Browse Project Definition' - name: 'Button3' - translateLabel: true - model: doBrowseProjectDefinitionClassForPrereqs - useDefaultExtent: true - ) - (ActionButtonSpec - label: 'Update Prerequisites (Scan)' - name: 'Button4' - translateLabel: true - model: doGenerateProjectPrerequisitesDefinition - useDefaultExtent: true - ) + ) + + ) + ) + (HorizontalPanelViewSpec + name: 'HorizontalPanel1' + layout: (LayoutFrame 0 0 -34 1 0 1 0 1) + horizontalLayout: center + verticalLayout: center + horizontalSpace: 3 + verticalSpace: 3 + component: + (SpecCollection + collection: ( + (ActionButtonSpec + label: 'Browse Project Definition' + name: 'Button3' + translateLabel: true + model: doBrowseProjectDefinitionClassForPrereqs + useDefaultExtent: true ) - - ) - ) + (ActionButtonSpec + label: 'Update Prerequisites (Scan)' + name: 'Button4' + translateLabel: true + model: doGenerateProjectPrerequisitesDefinition + useDefaultExtent: true + ) + ) + + ) ) - - ) - ) + ) + + ) + ) ! page6a_specifyProjectAttributes @@ -1074,65 +1074,65 @@ ^ - #(FullSpec - name: #'page6a_specifyProjectAttributes' - window: - (WindowSpec - label: 'Project Selection' - name: 'Project Selection' - min: (Point 0 0) - bounds: (Rectangle 0 0 521 239) - ) - component: - (SpecCollection - collection: ( - (FramedBoxSpec - label: 'Product Information' - name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 101 0) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (LabelSpec - label: 'Product Name:' - name: 'Label1' - layout: (LayoutFrame 0 0 10 0 148 0 32 0) - translateLabel: true - adjust: right - ) - (InputFieldSpec - name: 'EntryField4' - layout: (LayoutFrame 150 0.0 10 0 0 1.0 32 0) - model: productNameHolder - acceptOnLostFocus: true - acceptOnPointerLeave: true - viewClassName: '' - ) - (LabelSpec - label: 'Company Name:' - name: 'Label2' - layout: (LayoutFrame 0 0 39 0 148 0 61 0) - translateLabel: true - adjust: right - ) - (InputFieldSpec - name: 'EntryField3' - layout: (LayoutFrame 150 0.0 39 0 0 1.0 61 0) - model: companyNameHolder - acceptOnLostFocus: true - acceptOnPointerLeave: true - viewClassName: '' - ) + #(FullSpec + name: #'page6a_specifyProjectAttributes' + window: + (WindowSpec + label: 'Project Selection' + name: 'Project Selection' + min: (Point 0 0) + bounds: (Rectangle 0 0 521 239) + ) + component: + (SpecCollection + collection: ( + (FramedBoxSpec + label: 'Product Information' + name: 'FramedBox3' + layout: (LayoutFrame 0 0.0 5 0 4 1.0 116 0) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (LabelSpec + label: 'Product Name:' + name: 'Label1' + layout: (LayoutFrame 0 0 10 0 148 0 40 0) + translateLabel: true + adjust: right ) - - ) - ) + (InputFieldSpec + name: 'EntryField4' + layout: (LayoutFrame 150 0.0 10 0 0 1.0 40 0) + model: productNameHolder + acceptOnLostFocus: true + acceptOnPointerLeave: true + viewClassName: '' + ) + (LabelSpec + label: 'Company Name:' + name: 'Label2' + layout: (LayoutFrame 0 0 45 0 148 0 75 0) + translateLabel: true + adjust: right + ) + (InputFieldSpec + name: 'EntryField3' + layout: (LayoutFrame 150 0.0 45 0 0 1.0 75 0) + model: companyNameHolder + acceptOnLostFocus: true + acceptOnPointerLeave: true + viewClassName: '' + ) + ) + + ) ) - - ) - ) + ) + + ) + ) ! page6b_specifyBuildDirectorySpec @@ -1150,83 +1150,83 @@ ^ - #(FullSpec - name: #'page6b_specifyBuildDirectorySpec' - window: - (WindowSpec - label: 'Project Selection' - name: 'Project Selection' - min: (Point 0 0) - bounds: (Rectangle 0 0 521 361) - ) - component: - (SpecCollection - collection: ( - (FramedBoxSpec - label: 'Build Directory' - name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 79 0) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (FilenameInputFieldSpec - name: 'FilenameEntryField1' - layout: (LayoutFrame 0 0.0 10 0 0 1.0 32 0) - model: buildDirectoryHolder - acceptOnPointerLeave: true - viewClassName: FilenameWidgetWithHistory - ) + #(FullSpec + name: #'page6b_specifyBuildDirectorySpec' + window: + (WindowSpec + label: 'Project Selection' + name: 'Project Selection' + min: (Point 0 0) + bounds: (Rectangle 0 0 521 361) + ) + component: + (SpecCollection + collection: ( + (FramedBoxSpec + label: 'Build Directory' + name: 'FramedBox3' + layout: (LayoutFrame 0 0.0 5 0 4 1.0 79 0) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (FilenameInputFieldSpec + name: 'FilenameEntryField1' + layout: (LayoutFrame 0 0.0 10 0 0 1.0 40 0) + model: buildDirectoryHolder + acceptOnPointerLeave: true + viewClassName: FilenameWidgetWithHistory ) - - ) - ) - (FramedBoxSpec - label: 'Compiler / Toolchain' - name: 'FramedBox4' - layout: (LayoutFrame 0 0.0 81 0 4 1.0 155 0) - labelPosition: topLeft - translateLabel: true - component: - (SpecCollection - collection: ( - (ComboListSpec - name: 'ComboList1' - layout: (LayoutFrame 0 0 10 0 137 0 32 0) - model: usedCompilerHolder - comboList: listOfPossibleCompilers - useIndex: false - ) - (LabelSpec - label: 'Compiler Suite' - name: 'Label2' - layout: (LayoutFrame 163 0 10 0 0 1 32 0) - translateLabel: true - labelChannel: nameOfUsedCompilerSuiteHolder - adjust: left - ) + ) + + ) + ) + (FramedBoxSpec + label: 'Compiler / Toolchain' + name: 'FramedBox4' + layout: (LayoutFrame 0 0.0 81 0 4 1.0 155 0) + labelPosition: topLeft + translateLabel: true + component: + (SpecCollection + collection: ( + (ComboListSpec + name: 'ComboList1' + layout: (LayoutFrame 0 0 10 0 137 0 40 0) + model: usedCompilerHolder + comboList: listOfPossibleCompilers + useIndex: false ) - - ) - ) - (TextEditorSpec - name: 'TextEditor1' - layout: (LayoutFrame 2 0.0 158 0 -2 1.0 303 0) - level: -1 - visibilityChannel: compilerWarnMessageVisibleHolder - model: compilerWarnMessageHolder - hasHorizontalScrollBar: true - hasVerticalScrollBar: true - miniScrollerHorizontal: true - backgroundColor: (Color 100.0 49.9992370489052 49.9992370489052) - hasKeyboardFocusInitially: false - postBuildCallback: postBuildWarnMessageView: - ) + (LabelSpec + label: 'Compiler Suite' + name: 'Label2' + layout: (LayoutFrame 163 0 10 0 0 1 40 0) + translateLabel: true + labelChannel: nameOfUsedCompilerSuiteHolder + adjust: left + ) + ) + + ) ) - - ) - ) + (TextEditorSpec + name: 'TextEditor1' + layout: (LayoutFrame 2 0.0 158 0 -2 1.0 303 0) + level: -1 + visibilityChannel: compilerWarnMessageVisibleHolder + model: compilerWarnMessageHolder + hasHorizontalScrollBar: true + hasVerticalScrollBar: true + miniScrollerHorizontal: true + backgroundColor: (Color 100.0 50.0 50.0) + hasKeyboardFocusInitially: false + postBuildCallback: postBuildWarnMessageView: + ) + ) + + ) + ) ! page7_buildSpec @@ -1259,7 +1259,7 @@ (FramedBoxSpec label: 'Make Output' name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1) + layout: (LayoutFrame 0 0.0 5 0 4 1.0 -106 1) labelPosition: topLeft translateLabel: true component: @@ -1273,8 +1273,8 @@ hasHorizontalScrollBar: true hasVerticalScrollBar: true hasKeyboardFocusInitially: false + postBuildCallback: postBuildMakeOutputWindow: viewClassName: 'TextCollector' - postBuildCallback: postBuildMakeOutputWindow: ) ) @@ -1282,7 +1282,7 @@ ) (HorizontalPanelViewSpec name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -90 1 0 1 -60 1) + layout: (LayoutFrame 0 0 -106 1 0 1 -72 1) horizontalLayout: leftSpace verticalLayout: center horizontalSpace: 3 @@ -1346,7 +1346,7 @@ ) (HorizontalPanelViewSpec name: 'HorizontalPanel2' - layout: (LayoutFrame 0 0 -60 1 0 1 -30 1) + layout: (LayoutFrame 0 0 -70 1 0 1 -36 1) horizontalLayout: leftSpace verticalLayout: center horizontalSpace: 3 @@ -1354,8 +1354,14 @@ component: (SpecCollection collection: ( + (LabelSpec + label: 'Build Directory' + name: 'Label1' + translateLabel: true + useDefaultExtent: true + ) (ActionButtonSpec - label: 'Finder on Build Directory' + label: 'Finder' name: 'Button13' activeHelpKey: openFinder visibilityChannel: osIsOSX @@ -1364,7 +1370,7 @@ useDefaultExtent: true ) (ActionButtonSpec - label: 'Explorer on Build Directory' + label: 'Explorer' name: 'Button14' activeHelpKey: openExplorer visibilityChannel: osIsWindows @@ -1373,7 +1379,7 @@ useDefaultExtent: true ) (ActionButtonSpec - label: 'Browser on Build Directory' + label: 'Browser' name: 'Button11' activeHelpKey: openFileBrowser translateLabel: true @@ -1385,7 +1391,7 @@ extent: (Point 20 10) ) (ActionButtonSpec - label: 'Clear Build Directory' + label: 'Clear' name: 'Button12' activeHelpKey: clearBuildDirectory translateLabel: true @@ -1398,7 +1404,7 @@ ) (HorizontalPanelViewSpec name: 'HorizontalPanel3' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) + layout: (LayoutFrame 0 0 -34 1 0 1 0 1) horizontalLayout: leftSpace verticalLayout: center horizontalSpace: 3 @@ -1453,7 +1459,7 @@ collection: ( (HorizontalPanelViewSpec name: 'HorizontalPanel2' - layout: (LayoutFrame 10 0 10 0 0 1 40 0) + layout: (LayoutFrame 10 0 10 0 0 1 44 0) horizontalLayout: leftSpace verticalLayout: center horizontalSpace: 3 @@ -1511,7 +1517,7 @@ (FramedBoxSpec label: 'Make Output' name: 'FramedBox3' - layout: (LayoutFrame 0 0.0 5 0 4 1.0 -91 1) + layout: (LayoutFrame 0 0.0 5 0 4 1.0 -106 1) labelPosition: topLeft translateLabel: true component: @@ -1525,8 +1531,8 @@ hasHorizontalScrollBar: true hasVerticalScrollBar: true hasKeyboardFocusInitially: false + postBuildCallback: postBuildMakeOutputWindow: viewClassName: 'TextCollector' - postBuildCallback: postBuildMakeOutputWindow: ) ) @@ -1534,7 +1540,7 @@ ) (HorizontalPanelViewSpec name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -90 1 0 1 -60 1) + layout: (LayoutFrame 0 0 -106 1 -2 1 -72 1) horizontalLayout: leftSpace verticalLayout: center horizontalSpace: 3 @@ -1598,7 +1604,7 @@ ) (HorizontalPanelViewSpec name: 'HorizontalPanel2' - layout: (LayoutFrame 0 0 -60 1 0 1 -30 1) + layout: (LayoutFrame 0 0 -70 1 -2 1 -36 1) horizontalLayout: leftSpace verticalLayout: center horizontalSpace: 3 @@ -1606,8 +1612,14 @@ component: (SpecCollection collection: ( + (LabelSpec + label: 'Build Directory:' + name: 'Label1' + translateLabel: true + useDefaultExtent: true + ) (ActionButtonSpec - label: 'Finder on Build Directory' + label: 'Finder' name: 'Button13' activeHelpKey: openFinder visibilityChannel: osIsOSX @@ -1616,7 +1628,7 @@ useDefaultExtent: true ) (ActionButtonSpec - label: 'Explorer on Build Directory' + label: 'Explorer' name: 'Button14' activeHelpKey: openExplorer visibilityChannel: osIsWindows @@ -1625,7 +1637,7 @@ useDefaultExtent: true ) (ActionButtonSpec - label: 'Browser on Build Directory' + label: 'Browser' name: 'Button11' activeHelpKey: openFileBrowser translateLabel: true @@ -1637,7 +1649,7 @@ extent: (Point 20 10) ) (ActionButtonSpec - label: 'Clear Build Directory' + label: 'Clear' name: 'Button12' activeHelpKey: clearBuildDirectory translateLabel: true @@ -1650,7 +1662,7 @@ ) (HorizontalPanelViewSpec name: 'HorizontalPanel3' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) + layout: (LayoutFrame 0 0 -34 1 -2 1 0 1) horizontalLayout: leftSpace verticalLayout: center horizontalSpace: 3 @@ -1698,7 +1710,7 @@ label: 'Project Selection' name: 'Project Selection' min: (Point 0 0) - bounds: (Rectangle 0 0 521 472) + bounds: (Rectangle 0 0 520 478) ) component: (SpecCollection @@ -1714,7 +1726,7 @@ collection: ( (SubCanvasSpec name: 'FileBrowserSubCanvas' - layout: (LayoutFrame 0 0 0 0 0 1 -30 1) + layout: (LayoutFrame 0 0 0 0 0 1 -34 1) hasHorizontalScrollBar: false hasVerticalScrollBar: false clientHolder: fileBrowserInstance @@ -1723,7 +1735,7 @@ ) (HorizontalPanelViewSpec name: 'HorizontalPanel1' - layout: (LayoutFrame 0 0 -30 1 0 1 0 1) + layout: (LayoutFrame 0 0 -34 1 -2 1 0 1) horizontalLayout: centerMax verticalLayout: center horizontalSpace: 3 @@ -1732,30 +1744,30 @@ (SpecCollection collection: ( (ActionButtonSpec - label: 'Open Windows Explorer' + label: 'Windows Explorer' name: 'Button1' visibilityChannel: osIsWindows translateLabel: true resizeForLabel: true model: doOpenExplorer - extent: (Point 172 22) + useDefaultExtent: true ) (ActionButtonSpec - label: 'Open Finder' + label: ' Finder' name: 'Button3' visibilityChannel: osIsOSX translateLabel: true resizeForLabel: true model: doOpenFinder - extent: (Point 172 22) + useDefaultExtent: true ) (ActionButtonSpec - label: 'Open Terminal' + label: 'Terminal' name: 'Button2' translateLabel: true resizeForLabel: true model: doOpenTerminal - extent: (Point 172 22) + useDefaultExtent: true ) ) @@ -1824,8 +1836,8 @@ !ProjectBuilderAssistantApplication class methodsFor:'startup'! -openOn:aProjectDefinitionClass - ^ self new openOn:aProjectDefinitionClass +openOn:aProjectDefinitionOrStartupClass + ^ self new openOn:aProjectDefinitionOrStartupClass "Created: / 20-07-2012 / 12:33:25 / cg" ! @@ -1966,7 +1978,12 @@ ifFalse:[newProjectsName value]. Class packageQuerySignal answer:pkg do:[ - newStartupClass := StandaloneStartup + |startupClass| + + startupClass := self projectTypeIsNonGuiApplication + ifTrue:[ StandaloneStartupHeadless ] + ifFalse:[ StandaloneStartup ]. + newStartupClass := startupClass subclass:newClassName asSymbol instanceVariableNames:'' classVariableNames:'' @@ -2740,29 +2757,43 @@ ^ browser. ! -openOn:aProjectDefinitionClass - |type "apps" startupClass pageToGo| +openOn:aProjectDefinitionOrStartupClass + |type "apps" projectDefinitionClass startupClass pageToGo| self allButOpen. - aProjectDefinitionClass isLibraryDefinition ifTrue:[ - type := ProjectDefinition libraryType - ] ifFalse:[ - aProjectDefinitionClass isGUIApplication ifTrue:[ - type := ProjectDefinition guiApplicationType - ] ifFalse:[ - type := ProjectDefinition nonGuiApplicationType - ] + (aProjectDefinitionOrStartupClass inheritsFrom:StandaloneStartup) ifTrue:[ + startupClass := aProjectDefinitionOrStartupClass. + type := ProjectDefinition nonGuiApplicationType. + projectDefinitionClass := startupClass projectDefinitionClass. + (projectDefinitionClass startupClass == startupClass) ifFalse:[ + self halt. + ]. + ] ifFalse:[ + projectDefinitionClass := aProjectDefinitionOrStartupClass. + projectDefinitionClass isFolderForProjectsDefinition ifFalse:[ + projectDefinitionClass isLibraryDefinition ifTrue:[ + type := ProjectDefinition libraryType + ] ifFalse:[ + projectDefinitionClass isGUIApplication ifTrue:[ + type := ProjectDefinition guiApplicationType. + startupClass := projectDefinitionClass startupClass + ] ifFalse:[ + type := ProjectDefinition nonGuiApplicationType. + startupClass := projectDefinitionClass startupClass + ] + ]. + ]. ]. self projectTypeHolder value:type. self hideSTXProjects value:false. - selectedProjectDefinition := aProjectDefinitionClass. - self selectedProjectIndexHolder value:(self listOfMatchingPackageIds value indexOf:aProjectDefinitionClass package). + selectedProjectDefinition := projectDefinitionClass. + self selectedProjectIndexHolder value:(self listOfMatchingPackageIds value indexOf:projectDefinitionClass package). self hasProjectSelectedHolder value:true. pageToGo := 2. (type == ProjectDefinition guiApplicationType) ifTrue:[ pageToGo := 3. - (startupClass := aProjectDefinitionClass startupClass) notNil ifTrue:[ + startupClass notNil ifTrue:[ self updateListOfStartupClassesInProject. selectedStartupClass := startupClass. self selectedStartupClassIndexHolder value:(self listOfStartupClassesInProject value indexOf:startupClass). @@ -2772,7 +2803,7 @@ ]. (type == ProjectDefinition nonGuiApplicationType) ifTrue:[ pageToGo := 4. - (startupClass := aProjectDefinitionClass startupClass) notNil ifTrue:[ + startupClass notNil ifTrue:[ self updateListOfStartupClassesInProject. selectedStartupClass := startupClass. self selectedStartupClassIndexHolder value:(self listOfStartupClassesInProject value indexOf:startupClass). @@ -3044,17 +3075,21 @@ ! projectTypeIsGuiApplication - ^ self projectTypeHolder value == ProjectDefinition guiApplicationType + ^ self projectType == ProjectDefinition guiApplicationType "Modified: / 20-07-2012 / 13:29:59 / cg" ! projectTypeIsLibrary - ^ self projectTypeHolder value == ProjectDefinition libraryType + ^ self projectType == ProjectDefinition libraryType "Modified: / 20-07-2012 / 13:29:24 / cg" ! +projectTypeIsNonGuiApplication + ^ self projectType == ProjectDefinition nonGuiApplicationType +! + projectTypeIsNotLibrary ^ self projectTypeIsLibrary not ! !