Skip to content

Commit 62fca48

Browse files
Merge pull request #166 from ThalesGroup/dev-pla
Fix BlSpace management in GeoViewElement and continue refactoring
2 parents f8ed6b4 + e544c7d commit 62fca48

File tree

4 files changed

+28
-52
lines changed

4 files changed

+28
-52
lines changed

src/GeoView-Tests/GeoViewInfosTest.class.st

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/GeoView/AbstractGeoViewLayer.class.st

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ AbstractGeoViewLayer class >> isAbstract [
2121
AbstractGeoViewLayer >> addedToScene: anObject [
2222
"call when the geoview is added to a scene graph"
2323

24-
self addedToSceneGraph
24+
"override me to implement behavior"
2525
]
2626

2727
{ #category : #private }
2828
AbstractGeoViewLayer >> addedToSceneGraph [
2929
"call when the geoview is added to a scene graph"
3030

31-
self deprecated:'used addedToScene:'.
31+
self deprecated: 'used addedToScene:'
3232
]
3333

3434
{ #category : #drawing }
@@ -141,14 +141,14 @@ AbstractGeoViewLayer >> name: anObject [
141141
AbstractGeoViewLayer >> removedFromScene: anObject [
142142
"call when the geoview is removed from a scene graph"
143143

144-
self removedFromSceneGraph
144+
"override me to implement behavior"
145145
]
146146

147147
{ #category : #private }
148148
AbstractGeoViewLayer >> removedFromSceneGraph [
149149
"call when the geoview is removed from a scene graph"
150150

151-
self deprecated:'used removedFromScene:'.
151+
self deprecated: 'used removedFromScene:'
152152
]
153153

154154
{ #category : #private }

src/GeoView/GeoViewAbstractElement.class.st

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,16 @@ GeoViewAbstractElement >> applyDisplayFilterToAllLayers: aDisplayFilter [
162162
thenDo: [ :l | l displayFilter: aDisplayFilter ]
163163
]
164164

165+
{ #category : #'api - space' }
166+
GeoViewAbstractElement >> attachSpace [
167+
168+
super attachSpace.
169+
170+
"send message to all layers"
171+
self layerListMutex criticalReleasingOnError: [
172+
self layers do: [ :e | e addedToScene: self ] ]
173+
]
174+
165175
{ #category : #'API -- scale and center' }
166176
GeoViewAbstractElement >> centerOnGlobalPoint: aGlobalPoint [
167177
"Center the map on a global point"
@@ -232,6 +242,16 @@ GeoViewAbstractElement >> defaultScale [
232242
^ self normalizeScale: self class defaultScale
233243
]
234244

245+
{ #category : #'api - space' }
246+
GeoViewAbstractElement >> detachSpace [
247+
248+
super detachSpace.
249+
250+
"send message to all layers"
251+
self layerListMutex criticalReleasingOnError: [
252+
self layers do: [ :e | e removedFromScene: self ] ]
253+
]
254+
235255
{ #category : #'API -- filters' }
236256
GeoViewAbstractElement >> displayFilter [
237257

@@ -351,6 +371,8 @@ GeoViewAbstractElement >> initialize [
351371

352372
super initialize.
353373

374+
layers := OrderedCollection new.
375+
354376
"Initialize default projection systems"
355377
self mapProjection: GeoViewWebMercatorProjection new.
356378
self displayToGraphicProjection: GeoView2DProjection new.
@@ -406,7 +428,7 @@ GeoViewAbstractElement >> layerProcessDataChanged: anEvent [
406428
{ #category : #accessing }
407429
GeoViewAbstractElement >> layers [
408430

409-
^ layers ifNil: [ layers := OrderedCollection new ]
431+
^ layers
410432
]
411433

412434
{ #category : #'API -- coordinates transformations' }
@@ -542,24 +564,6 @@ GeoViewAbstractElement >> objectIndexAccessor: aSymbol [
542564
objectIndexAccessor := aSymbol
543565
]
544566

545-
{ #category : #'hooks - children' }
546-
GeoViewAbstractElement >> onAddedToSceneGraph [
547-
548-
super onAddedToSceneGraph.
549-
550-
"send message to all layers"
551-
self layers do: [ :e | e addedToScene: self ]
552-
]
553-
554-
{ #category : #'hooks - children' }
555-
GeoViewAbstractElement >> onRemovedFromSceneGraph [
556-
557-
super onRemovedFromSceneGraph.
558-
559-
"send message to all layers"
560-
self layers do: [ :e | e removedFromScene: self ]
561-
]
562-
563567
{ #category : #'API -- picking' }
564568
GeoViewAbstractElement >> pickAt: aGlobalPoint [
565569
"Return all objects under a global point"

src/GeoView/GeoViewElement.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ GeoViewElement >> initializeLayerListElement [
107107

108108
layerListElement layers: self layers.
109109

110-
self addChildFirst: layerListElement
110+
self inUIProcessDo: [ self addChildFirst: layerListElement ]
111111
]
112112

113113
{ #category : #'strategy management' }

0 commit comments

Comments
 (0)