Skip to content

Commit

Permalink
Only deselect removed element, not all
Browse files Browse the repository at this point in the history
  • Loading branch information
JanBliznicenko committed Nov 23, 2024
1 parent e1c4602 commit 684a12d
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 14 deletions.
12 changes: 9 additions & 3 deletions repository/OpenPonk-Core/OPController.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,12 @@ OPController >> elementsToShowInside [
^ #( )
]

{ #category : 'as yet unclassified' }
OPController >> ensureDeselected [

self subclassResponsibility
]

{ #category : 'accessing' }
OPController >> ensureDiagramElement [

Expand Down Expand Up @@ -329,15 +335,15 @@ OPController >> removeFigure [
deprecated: 'Use #removeDiagramElement instead'
transformWith:
'`@receiver removeFigure' -> '`@receiver removeDiagramElement'.
self diagramController deselectAll.
self ensureDeselected.
self figure remove
]

{ #category : 'destruction' }
OPController >> removeFromDiagramController [

self diagramController ifNil: [ ^ self ].
self diagramController deselectAll.
self ensureDeselected.
self diagramController removeController: self
]

Expand All @@ -358,7 +364,7 @@ OPController >> removeModelElement: aModelElement [
{ #category : 'destruction' }
OPController >> removeRender [

self diagramController deselectAll.
self ensureDeselected.
self diagramElement removeRender
]

Expand Down
6 changes: 6 additions & 0 deletions repository/OpenPonk-Core/OPDiagramController.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,12 @@ OPDiagramController >> ensureControllerFor: aModel [
^ controller
]

{ #category : 'as yet unclassified' }
OPDiagramController >> ensureDeselected [

self deselectAll
]

{ #category : 'accessing' }
OPDiagramController >> figureAdded: aFigure [

Expand Down
17 changes: 17 additions & 0 deletions repository/OpenPonk-Core/OPElementController.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,23 @@ OPElementController >> diagramElementClass [
^ self subclassResponsibility
]

{ #category : 'as yet unclassified' }
OPElementController >> ensureDeselected [

| roassalShape |
self isRendered ifFalse: [ ^ self ].
roassalShape := self roassalShape.
roassalShape isSelectable ifFalse: [ ^ self ].
roassalShape isSelected ifFalse: [ ^ self ].
roassalShape propertyAt: OPRSSelectable ifPresent: [ :selectable |
selectable clicked: roassalShape by: (RSMouseLeftClick new
controlKeyPressed: true;
canvas: roassalShape canvas;
shape: roassalShape;
position: roassalShape position;
yourself) ]
]

{ #category : 'accessing' }
OPElementController >> ensureDiagramElement [

Expand Down
14 changes: 5 additions & 9 deletions repository/OpenPonk-Spec/OPDiagramExplorer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ OPDiagramExplorer >> hideDependentFor: aDataElement [
{ #category : 'actions' }
OPDiagramExplorer >> hideElement: element [

diagramController deselectAll.
element = diagramController model
ifTrue: [ diagramController hideAllElements ]
ifFalse: [ diagramController hideModelFromDiagram: element ].
Expand All @@ -61,9 +60,8 @@ OPDiagramExplorer >> hideElement: element [

{ #category : 'actions' }
OPDiagramExplorer >> hideElements: elements [
diagramController deselectAll.
elements
do: [ :each | diagramController hideModelFromDiagram: each ].

elements do: [ :each | diagramController hideModelFromDiagram: each ].
diagramController canvas signalUpdate
]

Expand All @@ -88,7 +86,6 @@ OPDiagramExplorer >> showDependentFor: aModelObject [
OPDiagramExplorer >> showElement: aModelObject [

| existingCtrl ctrl |
self diagramController deselectAll.
aModelObject = diagramController model ifTrue: [
^ diagramController showAllElements ].
diagramController disableRefresh.
Expand All @@ -107,19 +104,18 @@ OPDiagramExplorer >> showElements: aCollectionOfModelObjects [

| ctrls existingCtrls |
aCollectionOfModelObjects ifEmpty: [ ^ self ].
self diagramController deselectAll.
diagramController disableRefresh.
existingCtrls := aCollectionOfModelObjects asArray
collect: [ :each |
collect: [ :each |
diagramController
controllerForModel: each
ifNone: [ nil ] ]
thenSelect: [ :each | each isNotNil ].
ctrls := (aCollectionOfModelObjects sorted: [ :a :b |
ctrls := (aCollectionOfModelObjects sorted: [ :a :b |
self adapters
dependsTypeOf: b
on: a
in: diagramController model ]) collect: [ :each |
in: diagramController model ]) collect: [ :each |
diagramController showWithoutDependentInDiagramModel: each ].
diagramController enableRefresh
]
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,6 @@ OPDiagramRemoveFigureCommand >> executeWithConfirmation [
OPDiagramRemoveFigureCommand >> executeWithoutConfirmation [

| allShown |
diagramController deselectAll.

allShown := self showDependentAndReturnOriginallyShown.

figures do: [ :each |
Expand Down

0 comments on commit 684a12d

Please sign in to comment.