diff --git a/src/NewTools-Scopes/ScopeClyEnvironment.class.st b/src/NewTools-Scopes/ScopeClyEnvironment.class.st new file mode 100644 index 000000000..7bf990752 --- /dev/null +++ b/src/NewTools-Scopes/ScopeClyEnvironment.class.st @@ -0,0 +1,77 @@ +Class { + #name : 'ScopeClyEnvironment', + #superclass : 'Object', + #instVars : [ + 'environment', + 'name', + 'packageOrganizer', + 'projectManager', + 'scope', + 'changesAnnouncer' + ], + #category : 'NewTools-Scopes-Calypso', + #package : 'NewTools-Scopes', + #tag : 'Calypso' +} + +{ #category : 'converting' } +ScopeClyEnvironment >> asGlobalScopeIn: aNavigationEnvironment [ + + ^ClySystemEnvironmentScope of: self in: aNavigationEnvironment named: name +] + +{ #category : 'accessing' } +ScopeClyEnvironment >> changesAnnouncer: anObject [ + changesAnnouncer := anObject +] + +{ #category : 'class management' } +ScopeClyEnvironment >> definedClassesInPackage: aRPackage [ + self flag: 'Consider orphan classes'. + ^ aRPackage definedClasses +] + +{ #category : 'as yet unclassified' } +ScopeClyEnvironment >> extensionMethodsInPackage: aRBPackage [ + + ^ aRBPackage extensionMethods +] + +{ #category : 'accessing' } +ScopeClyEnvironment >> name [ + ^ 'aScopeEnv (',scope label, ')' +] + +{ #category : 'accessing' } +ScopeClyEnvironment >> packages [ + ^ scope packages +] + +{ #category : 'accessing' } +ScopeClyEnvironment >> scope: aRBEnvironment [ + scope := aRBEnvironment +] + +{ #category : 'system changes' } +ScopeClyEnvironment >> subscribe: aClyNavigationEnvironment [ + + self subscribe: aClyNavigationEnvironment for: SystemAnnouncement +] + +{ #category : 'initialization' } +ScopeClyEnvironment >> subscribe: anObject for: anAnnouncementClass [ + "SystemAnnouncer uniqueInstance weak when: anAnnouncementClass send: #systemChanged: to: anObject" + self when: anAnnouncementClass send: #systemChanged: to: anObject. + self flag: 'Caro, implement me later, skip for now' + +] + +{ #category : 'initialization' } +ScopeClyEnvironment >> unsubscribe: anObject [ + changesAnnouncer unsubscribe: anObject +] + +{ #category : 'announcer' } +ScopeClyEnvironment >> when: anAnnouncementClass send: aSelector to: anObject [ + changesAnnouncer weak when: anAnnouncementClass send: aSelector to: anObject +]