diff --git a/packages/SwaLint-Core.package/MorphicToolBuilder.extension/instance/buildPluggableMultiSelectionList..st b/packages/SwaLint-Core.package/MorphicToolBuilder.extension/instance/buildPluggableMultiSelectionList..st index 15dd2293..9863f79b 100644 --- a/packages/SwaLint-Core.package/MorphicToolBuilder.extension/instance/buildPluggableMultiSelectionList..st +++ b/packages/SwaLint-Core.package/MorphicToolBuilder.extension/instance/buildPluggableMultiSelectionList..st @@ -1,4 +1,4 @@ -*SwaLint-Core-UserInterface +*SwaLint-Core-UserInterface-override buildPluggableMultiSelectionList: aSpec | widget listClass | aSpec getSelected ifNotNil:[^self error:'There is no PluggableListMorphOfManyByItem']. @@ -17,6 +17,9 @@ buildPluggableMultiSelectionList: aSpec widget getIconSelector: aSpec icon. self buildHelpFor: widget spec: aSpec. self setFrame: aSpec frame in: widget. + self setLayoutHintsFor: widget spec: aSpec. + aSpec itemAlignment ifNotNil: [:alignment | widget listMorph cellPositioning: alignment]. + aSpec itemPadding ifNotNil: [:padding | widget listMorph cellInset: padding]. parent ifNotNil:[self add: widget to: parent]. panes ifNotNil:[ aSpec list ifNotNil:[panes add: aSpec list]. diff --git a/packages/SwaLint-Core.package/MorphicToolBuilder.extension/methodProperties.json b/packages/SwaLint-Core.package/MorphicToolBuilder.extension/methodProperties.json index b29d0cb2..efc8eb2f 100644 --- a/packages/SwaLint-Core.package/MorphicToolBuilder.extension/methodProperties.json +++ b/packages/SwaLint-Core.package/MorphicToolBuilder.extension/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "buildPluggableMultiSelectionList:" : "NA 7/21/2015 11:16" } } + "buildPluggableMultiSelectionList:" : "ct 12/21/2024 18:45" } } diff --git a/packages/SwaLint-Core.package/OverviewPyramidMorph.class/instance/asContainer.st b/packages/SwaLint-Core.package/OverviewPyramidMorph.class/instance/asContainer.st new file mode 100644 index 00000000..71471eff --- /dev/null +++ b/packages/SwaLint-Core.package/OverviewPyramidMorph.class/instance/asContainer.st @@ -0,0 +1,4 @@ +initialization +asContainer + + ^ self asContainerWithPadding: 5 px \ No newline at end of file diff --git a/packages/SwaLint-Core.package/OverviewPyramidMorph.class/instance/asContainerWithPadding..st b/packages/SwaLint-Core.package/OverviewPyramidMorph.class/instance/asContainerWithPadding..st new file mode 100644 index 00000000..12882607 --- /dev/null +++ b/packages/SwaLint-Core.package/OverviewPyramidMorph.class/instance/asContainerWithPadding..st @@ -0,0 +1,11 @@ +initialization +asContainerWithPadding: padding + + | container | + container := Morph new + beTransparent; + extent: (self fullBounds; extent) + (padding * 2); + addMorph: self; + yourself. + self position: padding. + ^ container \ No newline at end of file diff --git a/packages/SwaLint-Core.package/OverviewPyramidMorph.class/methodProperties.json b/packages/SwaLint-Core.package/OverviewPyramidMorph.class/methodProperties.json index f6d21425..4a4f9ad3 100644 --- a/packages/SwaLint-Core.package/OverviewPyramidMorph.class/methodProperties.json +++ b/packages/SwaLint-Core.package/OverviewPyramidMorph.class/methodProperties.json @@ -5,6 +5,8 @@ "addCalcMorphWith:to:at:" : "NA 7/31/2015 22:03", "addNameMorphWith:to:at:" : "NA 7/31/2015 21:41", "addResultMorphWith:to:at:" : "NA 7/31/2015 21:41", + "asContainer" : "ct 12/21/2024 20:06", + "asContainerWithPadding:" : "ct 12/21/2024 20:06", "borderWidth" : "ct 12/21/2024 18:18", "buildDictionary" : "ct 12/21/2024 18:18", "buildEntries" : "BD 6/29/2018 12:32", diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildOverviewPyramidWith..st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildOverviewPyramidWith..st new file mode 100644 index 00000000..7ae42a10 --- /dev/null +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildOverviewPyramidWith..st @@ -0,0 +1,11 @@ +building +buildOverviewPyramidWith: aBuilder + + | overviewResults pyramid | + overviewResults := self getOverviewPyramidResults ifNil: [^ nil]. + pyramid := OverviewPyramidMorph newWithResults: overviewResults. + + ^ aBuilder pluggableScrollPaneSpec new + name: self overviewPyramidScrollPaneName; + morph: (pyramid asContainerWithPadding: 20 px); + yourself \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListForMorphicWith..st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListForMorphicWith..st index 66589b8b..87d5d777 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListForMorphicWith..st +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListForMorphicWith..st @@ -4,18 +4,7 @@ buildResultsListForMorphicWith: aBuilder ^ aBuilder pluggablePanelSpec new name: #resultsPanel; frame: self resultsFrame; - children: ({ - aBuilder pluggableScrollPaneSpec new - name: self overviewPyramidScrollPaneName; - frame: (self overviewPyramidScrollFrame); - children: ({ - aBuilder pluggablePanelSpec new - name: self resultsPanelName; - frame: (self overviewPyramidFrame); - yourself.}); - yourself. - "in background" - (self buildResultsListWith: aBuilder) - frame: self resultsFrameInPanel; - yourself}); + wantsResizeHandles: true; + model: self; + children: #buildResultsListMorphs; yourself \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListMorphs.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListMorphs.st new file mode 100644 index 00000000..0a615f08 --- /dev/null +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListMorphs.st @@ -0,0 +1,13 @@ +building +buildResultsListMorphs + + | builder specs | + builder := Project uiManager toolBuilder. + specs := self buildResultsListMorphsWith: builder. + specs withIndexDo: [:spec :index | + spec frame: + (LayoutFrame fullFrame + leftFraction: index - 1 / specs size; + rightFraction: index / specs size; + yourself)]. + ^ specs collect: [:each | each buildWith: builder] \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListMorphsWith..st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListMorphsWith..st new file mode 100644 index 00000000..87f62fc4 --- /dev/null +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildResultsListMorphsWith..st @@ -0,0 +1,9 @@ +building +buildResultsListMorphsWith: aBuilder + + ^ Array streamContents: [:stream | + stream nextPut: + (self buildResultsListWith: aBuilder). + self isOrderedByTests ifFalse: [ + (self buildOverviewPyramidWith: aBuilder) ifNotNil: [:pyramid | + stream nextPut: pyramid]]] \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildWith..st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildWith..st index 2741be36..564f3721 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildWith..st +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/buildWith..st @@ -1,6 +1,7 @@ building buildWith: aBuilder - | window tool | + + | window | window := self buildWindowWith: aBuilder specs:{ self buttonsFrame -> [self buildButtonsWith: aBuilder]. self categoriesFrame -> [self buildCategoriesWith: aBuilder]. @@ -9,8 +10,4 @@ buildWith: aBuilder self testsFrame -> [self buildTestListWith: aBuilder]. self resultsFrame -> [self buildResultsWith: aBuilder]}. - tool := aBuilder build: window. - - Smalltalk isMorphic - ifTrue: [ self createOverviewPyramidMorph: tool ]. - ^ tool \ No newline at end of file + ^ aBuilder build: window \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/createOverviewPyramidMorph..st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/createOverviewPyramidMorph..st deleted file mode 100644 index 5a618546..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/createOverviewPyramidMorph..st +++ /dev/null @@ -1,8 +0,0 @@ -overview-pyramid -createOverviewPyramidMorph: aTool - - | overviewResults | - overviewResults := self getOverviewPyramidResults. - overviewResults isNil - ifFalse: [ self createOverviewPyramidMorphWith: overviewResults and: aTool ] - ifTrue: [ self hideOverviewPyramid ] \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/createOverviewPyramidMorphWith.and..st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/createOverviewPyramidMorphWith.and..st deleted file mode 100644 index 2a285518..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/createOverviewPyramidMorphWith.and..st +++ /dev/null @@ -1,10 +0,0 @@ -overview-pyramid -createOverviewPyramidMorphWith: aDictionary and: aTool - - overviewpyramidMorph := OverviewPyramidMorph newWithResults: aDictionary. - (((aTool submorphNamed: self overviewPyramidScrollPaneName) morph) - submorphNamed: self resultsPanelName) - addMorph: overviewpyramidMorph. - self isOrderedByTests - ifTrue: [ self hideOverviewPyramid ] - ifFalse: [ self showOverviewPyramid ] \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/hideOverviewPyramid.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/hideOverviewPyramid.st deleted file mode 100644 index 2005fa92..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/hideOverviewPyramid.st +++ /dev/null @@ -1,7 +0,0 @@ -building -hideOverviewPyramid - - | resultListPanel | - resultListPanel := self resultPanel submorphs first. - resultListPanel layoutFrame rightFraction: 1 offset: 0. - overviewpyramidMorph hide. \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidFrame.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidFrame.st deleted file mode 100644 index b2640869..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidFrame.st +++ /dev/null @@ -1,9 +0,0 @@ -building -overviewPyramidFrame - - ^ LayoutFrame new - leftFraction: 0 offset: 0; - topFraction: 0 offset: 0; - rightFraction: 9 offset: 0; - bottomFraction: 5.0 offset: 0; - yourself \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidIsSelected.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidIsSelected.st deleted file mode 100644 index 0107684a..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidIsSelected.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -overviewPyramidIsSelected - - ^ self testsSelected contains: [ :each | each symbol = #overviewPyramidMetric: ] diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidScrollFrame.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidScrollFrame.st deleted file mode 100644 index e790df41..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/overviewPyramidScrollFrame.st +++ /dev/null @@ -1,5 +0,0 @@ -building -overviewPyramidScrollFrame - - ^ LayoutFrame - fractions: (0.5 @ 0 corner: 1 @ 1) \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultPanel.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultPanel.st deleted file mode 100644 index fea32ee1..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultPanel.st +++ /dev/null @@ -1,4 +0,0 @@ -building -resultPanel - - ^ self containingWindow deepSubpartNamed: #resultsPanel \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected..st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected..st index 2fa623b9..8ad7130c 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected..st +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected..st @@ -1,4 +1,5 @@ accessing-results resultSelected: anInteger + resultIndex := anInteger. self changed: #resultSelected; changed: #browsable. \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected.st index 6e703d78..5734fe67 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected.st +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultSelected.st @@ -1,4 +1,4 @@ accessing-results resultSelected - ^ 0 \ No newline at end of file + ^ resultIndex \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultsFrameInPanel.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultsFrameInPanel.st deleted file mode 100644 index c75b7ddd..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultsFrameInPanel.st +++ /dev/null @@ -1,9 +0,0 @@ -building -resultsFrameInPanel - - ^ LayoutFrame new - leftFraction: 0 offset: 0; - topFraction: 0 offset: 0; - rightFraction: 1 offset: 0; - bottomFraction: 1 offset: 0; - yourself \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultsPanelName.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultsPanelName.st deleted file mode 100644 index 9255ffe5..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/resultsPanelName.st +++ /dev/null @@ -1,4 +0,0 @@ -building -resultsPanelName - - ^ 'SwaLintResultsPanelForMorphic' \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/showOverviewPyramid.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/showOverviewPyramid.st deleted file mode 100644 index 35a15d6e..00000000 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/showOverviewPyramid.st +++ /dev/null @@ -1,8 +0,0 @@ -building -showOverviewPyramid - - | resultListPanel | - resultListPanel := self resultPanel submorphs first. - resultListPanel layoutFrame rightFraction: 0.5 offset: 0. - resultListPanel layoutChanged. - overviewpyramidMorph show. \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/toggleResultView.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/toggleResultView.st index 863f040c..95187b15 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/toggleResultView.st +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/toggleResultView.st @@ -1,6 +1,4 @@ accessing toggleResultView - (Smalltalk isMorphic and: self overviewPyramidIsSelected and: self isOrderedByTests not) - ifTrue: [ self showOverviewPyramid ] - ifFalse: [ self hideOverviewPyramid ]. \ No newline at end of file + self changed: #buildResultsListMorphs. \ No newline at end of file diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/instance/updateResults.st b/packages/SwaLint-Core.package/SLResultDialog.class/instance/updateResults.st index ab654192..e7928ba5 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/instance/updateResults.st +++ b/packages/SwaLint-Core.package/SLResultDialog.class/instance/updateResults.st @@ -3,4 +3,5 @@ updateResults results := self findResults. resultsSelected := resultsSelected select: [ :each | self results includes: each ]. + self resultSelected: 0. self changed: #resultList; changed: #results; changed: #resultSelected. diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/methodProperties.json b/packages/SwaLint-Core.package/SLResultDialog.class/methodProperties.json index a8f48258..3053e34d 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/methodProperties.json +++ b/packages/SwaLint-Core.package/SLResultDialog.class/methodProperties.json @@ -19,10 +19,13 @@ "browsable" : "NA 7/15/2015 16:11", "browseSelection" : "NA 7/2/2015 14:39", "buildListFrom:" : "NA 7/29/2015 18:16", - "buildResultsListForMorphicWith:" : "ct 12/20/2024 01:11", + "buildOverviewPyramidWith:" : "ct 12/21/2024 20:03", + "buildResultsListForMorphicWith:" : "ct 12/21/2024 19:32", + "buildResultsListMorphs" : "ct 12/21/2024 19:39", + "buildResultsListMorphsWith:" : "ct 12/21/2024 19:35", "buildResultsListWith:" : "NH 7/22/2015 10:28", "buildResultsWith:" : "NA 7/31/2015 20:37", - "buildWith:" : "ct 12/20/2024 00:57", + "buildWith:" : "ct 12/21/2024 20:13", "buttons" : "NA 7/31/2015 13:49", "categoriesBottom" : "NA 7/1/2015 11:44", "categoriesFrame" : "BD 6/29/2018 12:53", @@ -33,8 +36,6 @@ "classAt:put:" : "NA 7/2/2015 19:29", "classList" : "NA 7/15/2015 11:18", "classesFrame" : "BD 6/29/2018 12:53", - "createOverviewPyramidMorph:" : "BD 6/29/2018 12:21", - "createOverviewPyramidMorphWith:and:" : "ct 12/20/2024 00:59", "fetchAllTestObjects" : "NA 7/30/2015 13:21", "fetchChildTestObjectsFrom:" : "BD 7/13/2018 11:50", "findClassesForSelectedCategories" : "ct 12/20/2024 00:11", @@ -42,7 +43,6 @@ "findTestsForSelectedTestCategories" : "ct 12/20/2024 00:15", "getCategoriesFor:" : "NA 7/21/2015 15:40", "getOverviewPyramidResults" : "ct 12/20/2024 02:36", - "hideOverviewPyramid" : "ct 12/20/2024 03:08", "iconAt:" : "NA 7/16/2015 18:11", "initializeInstanceVariables" : "NA 7/30/2015 16:33", "isMultiSelectable" : "NA 7/30/2015 14:43", @@ -51,37 +51,30 @@ "onEnvironment:" : "BD 7/13/2018 11:43", "orderButtonString" : "NA 7/30/2015 14:45", "orderBySymbol" : "NA 7/2/2015 13:27", - "overviewPyramidFrame" : "BD 6/29/2018 12:54", - "overviewPyramidIsSelected" : "ct 12/20/2024 00:16", - "overviewPyramidScrollFrame" : "BD 7/13/2018 11:42", "overviewPyramidScrollPaneName" : "NH 7/22/2015 14:04", "resultAt:" : "NA 7/2/2015 13:45", "resultAt:put:" : "BD 7/13/2018 11:50", "resultDialogLabelFor:" : "NA 7/15/2015 16:17", "resultList" : "NH 7/8/2015 10:06", "resultMenu:" : "NA 7/2/2015 18:29", - "resultPanel" : "ct 12/20/2024 01:03", - "resultSelected" : "BD 7/13/2018 11:42", - "resultSelected:" : "NA 7/16/2015 12:48", + "resultSelected" : "ct 12/21/2024 18:58", + "resultSelected:" : "ct 12/21/2024 18:58", "results" : "BD 7/13/2018 11:44", "resultsBrowserForSelection" : "NA 7/2/2015 14:30", "resultsFrame" : "BD 6/29/2018 12:54", - "resultsFrameInPanel" : "BD 6/29/2018 12:54", - "resultsPanelName" : "TS 7/8/2015 11:59", "run" : "BD 6/29/2018 12:58", "runnable" : "NA 7/1/2015 14:38", "selectAllResults" : "NA 7/16/2015 12:46", "selectNoResults" : "NA 7/16/2015 12:47", "selectionButtonString" : "NA 7/30/2015 14:46", "selectorEnvironmentForResults" : "BD 7/13/2018 11:51", - "showOverviewPyramid" : "ct 12/20/2024 03:09", "testAt:put:" : "NA 7/2/2015 19:29", "testCategoriesBottom" : "NA 7/1/2015 11:44", "testCategoryAt:put:" : "NA 7/2/2015 19:30", "testsFrame" : "BD 6/29/2018 12:54", "toggleResultOrdering" : "NA 7/2/2015 10:13", - "toggleResultView" : "NH 7/22/2015 12:09", + "toggleResultView" : "ct 12/21/2024 18:59", "toggleSelection" : "NA 7/2/2015 10:13", "update" : "NA 7/21/2015 16:31", - "updateResults" : "NA 7/30/2015 14:41", + "updateResults" : "ct 12/21/2024 18:59", "windowTitle" : "TS 7/8/2015 12:00" } } diff --git a/packages/SwaLint-Core.package/SLResultDialog.class/properties.json b/packages/SwaLint-Core.package/SLResultDialog.class/properties.json index 3522cfd6..6bbfbf7a 100644 --- a/packages/SwaLint-Core.package/SLResultDialog.class/properties.json +++ b/packages/SwaLint-Core.package/SLResultDialog.class/properties.json @@ -10,7 +10,7 @@ "isOrderedByTests", "results", "resultsSelected", - "overviewpyramidMorph" ], + "resultIndex" ], "name" : "SLResultDialog", "pools" : [ ],