diff --git a/sources/JadeiteProjectsBrowserPresenter.cls b/sources/JadeiteProjectsBrowserPresenter.cls index c96a4226..428d8abd 100644 --- a/sources/JadeiteProjectsBrowserPresenter.cls +++ b/sources/JadeiteProjectsBrowserPresenter.cls @@ -911,6 +911,7 @@ registerPresentersForUpdates register: packageListPresenter selector: #projectPackagesUpdate:browser: browser: self. + BrowserUpdate current register: classListPresenter selector: #removedClass:. BrowserUpdate current register: classListPresenter selector: #classesUpdate:browser: diff --git a/sources/Rowan UI Base.pax b/sources/Rowan UI Base.pax index 672c512b..7d4988d4 100644 --- a/sources/Rowan UI Base.pax +++ b/sources/Rowan UI Base.pax @@ -178,6 +178,7 @@ package methodNames add: #RowanCommandResult -> #projectPackagesUpdate:browser:; add: #RowanCommandResult -> #projectSelectionUpdate:; add: #RowanCommandResult -> #projectsUpdate:; + add: #RowanCommandResult -> #removedClass:; add: #RowanCommandResult -> #superclassListUpdate:; add: #RowanCommandResult -> #updateClassCategorySelectionsFor:; add: #RowanCommandResult -> #updateClassHierarchySelectionFor:; @@ -2223,6 +2224,9 @@ projectSelectionUpdate: aPresenter projectsUpdate: aPresenter ! +removedClass: aPresenter +! + superclassListUpdate: presenter ! @@ -2270,6 +2274,7 @@ updateType !RowanCommandResult categoriesFor: #projectPackagesUpdate:browser:!public!updating! ! !RowanCommandResult categoriesFor: #projectSelectionUpdate:!public!updating! ! !RowanCommandResult categoriesFor: #projectsUpdate:!public!updating! ! +!RowanCommandResult categoriesFor: #removedClass:!public!updating! ! !RowanCommandResult categoriesFor: #superclassListUpdate:!public!updating! ! !RowanCommandResult categoriesFor: #updateClassCategorySelectionsFor:!public!updating! ! !RowanCommandResult categoriesFor: #updateClassHierarchySelectionFor:!public!updating! ! diff --git a/sources/RowanClassService.cls b/sources/RowanClassService.cls index bb0a89dc..9ab8ac95 100644 --- a/sources/RowanClassService.cls +++ b/sources/RowanClassService.cls @@ -209,6 +209,12 @@ releaseReferencedServices remoteServiceName ^'Rowan classServiceClass'! +removedClass: presenter + | removal | + updateType == #removedClass: ifFalse: [^self]. + removal := presenter list detect:[:classService | classService name = name] ifNone:[^self ]. + presenter model remove: removal. ! + removeSelector: selector transport send: #removeSelector: to: remoteService withAll: (Array with: selector)! @@ -315,6 +321,7 @@ variables !RowanClassService categoriesFor: #projectName!accessing!private! ! !RowanClassService categoriesFor: #releaseReferencedServices!Init / Release!public! ! !RowanClassService categoriesFor: #remoteServiceName!must not strip!public! ! +!RowanClassService categoriesFor: #removedClass:!public!updating! ! !RowanClassService categoriesFor: #removeSelector:!public!rowan! ! !RowanClassService categoriesFor: #replicateFrom:!public!replication! ! !RowanClassService categoriesFor: #sampleClassName!public! ! diff --git a/sources/RowanService.cls b/sources/RowanService.cls index f6b91a48..5e4e4cf1 100644 --- a/sources/RowanService.cls +++ b/sources/RowanService.cls @@ -184,6 +184,8 @@ remoteService remoteServiceName self subclassResponsibility! +removedClass: aPresenter! + removeSampleSymbolDictionary transport send: #removeSampleSymbolDictionary to: remoteService! @@ -314,6 +316,7 @@ variableListUpdate: aPresenter! ! !RowanService categoriesFor: #releaseReferencedServices!Init / Release!public! ! !RowanService categoriesFor: #remoteService!public! ! !RowanService categoriesFor: #remoteServiceName!must not strip!public! ! +!RowanService categoriesFor: #removedClass:!public!updating! ! !RowanService categoriesFor: #removeSampleSymbolDictionary!public! ! !RowanService categoriesFor: #replicateFrom:!public!replication!updating! ! !RowanService categoriesFor: #sampleDefinitions!examples!public! !