Skip to content

Commit

Permalink
Refactoring show dependencies (#63)
Browse files Browse the repository at this point in the history
* tried removing knowledge of view-morphs from the model

* refactored relatedMorph-handling such that model now doesn't know about view morphs anymore

* fixed a bug regarding layers of the method tree

* fixed exception when update receives nil
  • Loading branch information
Zyranix committed Jul 5, 2021
1 parent 2554f72 commit ab85be9
Show file tree
Hide file tree
Showing 28 changed files with 87 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ hoveredMorph: aMorph
hoveredMorph ifNotNil: [:theMorph | theMorph changed].
hoveredMorph := aMorph.
hoveredMorph ifNotNil: [:theMorph | theMorph changed].
self findRelatedSelector ifNotNil: [:theSymbol | self update: theSymbol]
self update: self findRelatedSelector
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ initialize
self
selectedMorphs: OrderedCollection new;
basicRelatedMorphs: OrderedCollection new;
setStateOfRelatedSelector: #();
findRelatedSelector: #();
getSelectedSelector: #();
setSelectedSelector: #().
self roots do: [:aNode | aNode expand]
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
accessing
relatedMorphs: anOrderedCollection
"relatedMorphs need to be reloaded in order to be displayed correctly"

self reloadMorphs: relatedMorphs isIndicated: false.

relatedMorphs := anOrderedCollection.
self reloadMorphs: relatedMorphs isIndicated: false
self reloadNodeMorphs

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
drawing
reloadNodeMorphs

self update: self setStateOfRelatedSelector.
self items do: [:aMorph |
aMorph
refresh;
setProperty: #wasRefreshed toValue: false;
changed]
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
setStateOfRelatedSelector: aSymbol

setStateOfRelatedSelector := aSymbol
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
setStateOfRelatedSelector

^ setStateOfRelatedSelector
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@ updating
update: anAspect

anAspect ifNil: [^ self].
anAspect ifEmpty: [^ self].

anAspect == self getSelectedSelector
ifTrue: [self updateGetSelectedSelector.
^ self].

anAspect == self setStateOfRelatedSelector
ifTrue: [self updateSetStateOfRelatedSelector.
^ self].

anAspect == self setSelectedSelector
ifTrue: [self updateSetSelectedSelector.
^ self].
Expand All @@ -15,4 +20,4 @@ update: anAspect
ifTrue: [self updateFindRelatedSelector.
^ self].

super update: anAspect
super update: anAspect
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
updating
updateFindRelatedSelector

self relatedMorphs: ((model perform: self findRelatedSelector with: hoveredMorph with: self items)
ifNil: [OrderedCollection new])
self hoveredMorph
ifNil: [self relatedMorphs: OrderedCollection new]
ifNotNil: [self relatedMorphs: (self items select: [:anItem |
(self model perform: self findRelatedSelector with: self hoveredMorph complexContents)
includes: anItem complexContents asString])]
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
updating
updateSetStateOfRelatedSelector

self model perform: self setStateOfRelatedSelector with: (self relatedMorphs collect: [:aMorph | aMorph complexContents])
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,26 @@
"findRelatedSelector:" : "SC 6/3/2021 22:35",
"handlesMouseOver:" : "SC 5/13/2021 14:48",
"highlightSelection" : "SC 5/13/2021 15:22",
"hoveredMorph:" : "SC 6/4/2021 00:31",
"initialize" : "SC 6/4/2021 00:26",
"hoveredMorph:" : "SC 7/1/2021 12:01",
"initialize" : "SC 7/1/2021 12:00",
"insertNewMorphs:" : "jb 7/24/2019 12:35",
"keyStroke:" : "jb 7/18/2019 13:39",
"listSelectionFor:with:" : "jb 7/19/2019 15:14",
"mouseDown:" : "SC 5/13/2021 14:59",
"mouseUp:" : "jb 7/24/2019 12:34",
"noteRemovalOfAll:" : "jb 7/24/2019 12:36",
"relatedMorphs" : "SC 6/1/2021 02:52",
"relatedMorphs:" : "SH 6/10/2021 17:43",
"reloadMorphs:isIndicated:" : "SH 6/10/2021 17:40",
"relatedMorphs:" : "SC 7/1/2021 13:11",
"reloadNodeMorphs" : "SC 7/1/2021 13:10",
"removeFromSelectedMorphs:" : "jb 7/24/2019 12:47",
"selectedMorphs" : "FFN 6/12/2019 15:58",
"selectedMorphs:" : "FFN 7/3/2019 15:20",
"setStateOfRelatedSelector" : "SC 7/1/2021 11:59",
"setStateOfRelatedSelector:" : "SC 7/1/2021 11:59",
"specialKeyPressed:" : "jb 7/24/2019 12:51",
"unhighlightSelection" : "jb 7/24/2019 12:30",
"update:" : "SC 6/3/2021 22:34",
"updateFindRelatedSelector" : "SC 6/4/2021 00:19",
"update:" : "SC 7/1/2021 13:03",
"updateFindRelatedSelector" : "SC 7/1/2021 13:04",
"updateGetSelectedSelector" : "jb 7/24/2019 12:53",
"updateSetSelectedSelector" : "jb 7/24/2019 12:54" } }
"updateSetSelectedSelector" : "jb 7/24/2019 12:54",
"updateSetStateOfRelatedSelector" : "SC 7/1/2021 13:06" } }
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"instvars" : [
"selectedMorphs",
"relatedMorphs",
"findRelatedSelector" ],
"findRelatedSelector",
"setStateOfRelatedSelector" ],
"name" : "MEXPluggableMultiSelectionTreeMorph",
"pools" : [
],
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
setStateOfRelated: aSymbol

setStateOfRelated := aSymbol
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
setStateOfRelated

^ setStateOfRelated
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@
"setSelectedPath" : "jb 7/24/2019 14:20",
"setSelectedPath:" : "jb 7/16/2019 15:23",
"setSelectionList" : "FFN 6/12/2019 15:30",
"setSelectionList:" : "jb 7/16/2019 15:06" } }
"setSelectionList:" : "jb 7/16/2019 15:06",
"setStateOfRelated" : "SC 7/1/2021 12:01",
"setStateOfRelated:" : "SC 7/1/2021 12:01" } }
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"instvars" : [
"setSelectionList",
"getSelectionList",
"findRelated" ],
"findRelated",
"setStateOfRelated" ],
"name" : "MEXPluggableMultiSelectionTreeSpec",
"pools" : [
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ buildPluggableMultiSelectionTree: aSpec
widget := self multiSelectionTreeClass new.

widget findRelatedSelector: aSpec findRelated.
widget setStateOfRelatedSelector: aSpec setStateOfRelated.

self
register: widget id: aSpec name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"class" : {
"open:" : "jb 7/24/2019 14:27" },
"instance" : {
"buildPluggableMultiSelectionTree:" : "SC 6/3/2021 22:36",
"buildPluggableMultiSelectionTree:" : "SC 7/1/2021 12:02",
"buttonClass" : "lk 6/4/2019 09:50",
"initialize:with:" : "jb 7/24/2019 14:30",
"multiSelectionTreeClass" : "FFN 6/12/2019 15:11",
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ buildMethodListWith: aBuilder
nodeClass: MEXListItemWrapper;
getSelectionList: #getSelectionFor:;
setSelectionList: #setSelectionFor:with:;
findRelated: #findDependeesOf:In:;
findRelated: #getDependeesOf:;
setStateOfRelated: #setDependeeStateOf:;
frame: (LayoutFrame new
leftFraction: self class leftSpecsHorizontalDistribution x;
topFraction: self class backButtonFractionHeight y;
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
accessing
getDependeesOf: aListItemWrapper

^ aListItemWrapper getDependencies
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,9 @@ initialize
defaultMorphs: Dictionary new;
actualDefaultMorph: Morph new;
morphBox: Morph new;
basicDependentMethods: OrderedCollection new;
category: MEXCategory new;
playground: (PasteUpMorph new
layoutFrame: (LayoutFrame fractions: self class fullFractions);
color: (self userInterfaceTheme color ifNil: [Color white]);
dropEnabled: false;
yourself)

"self defaultMorphs add: #a -> 1"
yourself)
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
accessing
setDependeeStateOf: anOrderedCollection

| methods |

methods := anOrderedCollection collect: [:aListItemWrapper | aListItemWrapper item].
self methodList do: [:aRootMethod | aRootMethod hasSubMethods
ifTrue: [aRootMethod subMethods do:
[:aSubMethod | aSubMethod isActiveDependee: (methods includes: aSubMethod)]]
ifFalse: [aRootMethod isActiveDependee: (methods includes: aRootMethod)]]
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@
"instance" : {
"actualDefaultMorph" : "SC 6/21/2021 12:45",
"actualDefaultMorph:" : "SC 6/21/2021 12:45",
"basicDependentMethods:" : "SC 6/3/2021 23:26",
"buildBackToOverViewButtonWith:" : "jb 7/24/2019 14:05",
"buildChildrenWith:" : "TB 5/13/2021 15:24",
"buildCodeEditorWith:" : "PM 6/11/2021 14:57",
"buildDefaultMorphBoxWith:" : "TB 6/7/2021 12:09",
"buildForCategory:" : "FFN 5/9/2019 10:10",
"buildMethodListWith:" : "SC 6/21/2021 13:07",
"buildMethodListWith:" : "SC 7/1/2021 13:04",
"buildMorphPlaygroundPanelWith:" : "jb 7/24/2019 14:07",
"buildSaveDefaultMorphButtonWith:" : "TB 5/13/2021 15:31",
"category" : "FFN 5/9/2019 10:09",
Expand All @@ -36,14 +35,12 @@
"defaultMorph:" : "jb 6/5/2019 16:06",
"defaultMorphClass" : "jb 6/20/2019 02:39",
"defaultMorphs:" : "SH 5/20/2021 13:30",
"dependentMethods" : "SC 6/3/2021 23:03",
"dependentMethods:" : "SC 6/22/2021 00:01",
"evaluateCode:" : "jb 7/24/2019 14:09",
"evaluateMethodsForMorph:" : "SH 5/20/2021 17:28",
"fillMorphBox" : "PC 6/25/2021 14:24",
"findDependeesOf:In:" : "SC 6/21/2021 23:43",
"fillMorphBox" : "SC 6/21/2021 23:38",
"getDependeesOf:" : "SC 7/1/2021 12:14",
"getSelectionFor:" : "FFN 6/19/2019 16:18",
"initialize" : "PC 6/25/2021 13:46",
"initialize" : "SC 7/1/2021 12:32",
"methodList" : "FFN 6/5/2019 23:02",
"morphBox" : "TB 6/7/2021 12:10",
"morphBox:" : "TB 6/7/2021 12:10",
Expand All @@ -53,6 +50,7 @@
"scaleForMorphBox:" : "SC 6/21/2021 23:38",
"selectedMethods" : "FFN 5/17/2019 14:17",
"selectedMethods:" : "FFN 5/17/2019 14:17",
"setDependeeStateOf:" : "SC 7/1/2021 13:23",
"setSelectionFor:with:" : "jb 7/24/2019 14:04",
"updateMorphBox" : "SH 5/20/2021 17:20",
"updatePlaygroundContents:" : "FFN 7/11/2019 14:00" } }
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
"selectedMethods",
"playground",
"actualDefaultMorph",
"morphBox",
"dependentMethods" ],
"morphBox" ],
"name" : "MEXToolExplorationView",
"pools" : [
],
Expand Down

0 comments on commit ab85be9

Please sign in to comment.