SystemOrganization addCategory: #'Occult-Core-Model'! SystemOrganization addCategory: #'Occult-Core-Events'! SystemOrganization addCategory: #'Occult-Core-Widgets'! SystemOrganization addCategory: #'Occult-Tests-Core'! SystemOrganization addCategory: #'Occult-Smalltalk-Core'! SystemOrganization addCategory: #'Occult-Smalltalk-Views'! SystemOrganization addCategory: #'Occult-Morphic'! TestCase subclass: #OCLayoutTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Tests-Core'! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:16'! testBeginLayoutAxisAbsolute | axis interval | axis := OCBeginLayoutAxis new. axis begin: 10; size: 20; sizeRelative: 0. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 110. self assert: interval last = 130! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:14'! testBeginLayoutAxisDefault | axis interval | axis := OCBeginLayoutAxis new. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 100. self assert: interval last = 200! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:25'! testBeginLayoutAxisMixed | axis interval | axis := OCBeginLayoutAxis new. axis begin: 10; beginRelative: 0.2; size: -20; sizeRelative: 0.8. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 130. self assert: interval last = 190! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:17'! testBeginLayoutAxisRelative | axis interval | axis := OCBeginLayoutAxis new. axis beginRelative: 0.2; sizeRelative: 0.6. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 120. self assert: interval last = 180! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:31'! testEndLayoutAxisAbsolute | axis interval | axis := OCEndLayoutAxis new. axis size: 10; sizeRelative: 0; end: 20. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 170. self assert: interval last = 180! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:26'! testEndLayoutAxisDefault | axis interval | axis := OCEndLayoutAxis new. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 100. self assert: interval last = 200! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:32'! testEndLayoutAxisMixed | axis interval | axis := OCEndLayoutAxis new. axis end: 10; endRelative: 0.2; size: -20; sizeRelative: 0.8. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 110. self assert: interval last = 170! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:31'! testEndLayoutAxisRelative | axis interval | axis := OCEndLayoutAxis new. axis endRelative: 0.1; sizeRelative: 0.6. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 130. self assert: interval last = 190! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:29'! testStretchLayoutAxisAbsolute | axis interval | axis := OCStretchLayoutAxis new. axis begin: 10; end: 10. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 110. self assert: interval last = 190! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:25'! testStretchLayoutAxisDefault | axis interval | axis := OCStretchLayoutAxis new. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 100. self assert: interval last = 200! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:30'! testStretchLayoutAxisMixed | axis interval | axis := OCStretchLayoutAxis new. axis begin: 10; beginRelative: 0.2; end: 10; endRelative: 0.2. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 130. self assert: interval last = 170! ! !OCLayoutTest methodsFor: 'tests-axis' stamp: 'lr 5/22/2011 09:29'! testStretchLayoutAxisRelative | axis interval | axis := OCStretchLayoutAxis new. axis beginRelative: 0.2; endRelative: 0.2. interval := axis intervalBetween: 100 and: 200. self assert: interval first = 120. self assert: interval last = 180! ! Object subclass: #OCAnnouncement instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Events'! OCAnnouncement subclass: #OCNodeChanged instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Events'! OCAnnouncement subclass: #OCNodeCreated instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Events'! OCAnnouncement subclass: #OCNodeDeleted instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Events'! OCAnnouncement subclass: #OCNodeSelected instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Events'! Object subclass: #OCAnnouncer instanceVariableNames: 'subscriptions' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Events'! !OCAnnouncer methodsFor: 'actions' stamp: 'lr 5/22/2011 19:15'! announce: anObject subscriptions keysAndValuesDo: [ :class :actions | (anObject isKindOf: class) ifTrue: [ actions do: [ :block | block cull: anObject ] ] ]. ^ anObject! ! !OCAnnouncer methodsFor: 'initialization' stamp: 'lr 5/22/2011 19:18'! initialize subscriptions := Dictionary new! ! !OCAnnouncer methodsFor: 'subscription' stamp: 'lr 5/22/2011 19:16'! subscribe: aClass do: aBlock | actions | actions := subscriptions at: aClass ifAbsent: [ #() ]. subscriptions at: aClass put: (actions copyWith: aBlock). ^ aBlock! ! !OCAnnouncer methodsFor: 'subscription' stamp: 'lr 5/22/2011 19:16'! subscribe: aClass send: aSelector to: anObject ^ self on: aClass do: (MessageSend receiver: anObject selector: aSelector)! ! !OCAnnouncer methodsFor: 'subscription' stamp: 'lr 5/22/2011 19:18'! unsubscribe: anObject subscriptions keysAndValuesDo: [ :class :actions | subscriptions at: class put: (actions copyWithout: anObject) ]! ! Object subclass: #OCApplication instanceVariableNames: 'node announcer' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Model'! !OCApplication methodsFor: 'accessing' stamp: 'lr 5/22/2011 19:21'! announcer "Answer the announcer of this application." ^ announcer! ! !OCApplication methodsFor: 'configuration' stamp: 'lr 5/22/2011 19:22'! defaultAnnouncer ^ OCAnnouncer new! ! !OCApplication methodsFor: 'configuration' stamp: 'lr 5/22/2011 19:22'! defaultRoot ^ OCRoot new! ! !OCApplication methodsFor: 'initialization' stamp: 'lr 5/22/2011 19:22'! initialize node := self defaultRoot. announcer := self defaultAnnouncer! ! !OCApplication methodsFor: 'accessing' stamp: 'lr 5/22/2011 19:21'! node "Answer the root node of this application." ^ node! ! Object subclass: #OCBuilder instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! !OCBuilder methodsFor: 'public' stamp: 'lr 5/25/2011 19:23'! build: aModel ^ aModel buildOn: self! ! !OCBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:25'! buildBreadcrum: aWidget self subclassResponsibility! ! !OCBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:25'! buildConsole: aWidget self subclassResponsibility! ! !OCBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:26'! buildEditor: aWidget self subclassResponsibility! ! !OCBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:26'! buildLayout: aWidget self subclassResponsibility! ! !OCBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:26'! buildMenu: aWidget self subclassResponsibility! ! !OCBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:26'! buildToolbar: aWidget self subclassResponsibility! ! !OCBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:26'! buildTree: aWidget self subclassResponsibility! ! OCBuilder subclass: #OCMorphicBuilder instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Morphic'! !OCMorphicBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:27'! buildBreadcrum: aWidget self shouldBeImplemented! ! !OCMorphicBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:27'! buildConsole: aWidget self shouldBeImplemented! ! !OCMorphicBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:27'! buildEditor: aWidget self shouldBeImplemented! ! !OCMorphicBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:27'! buildLayout: aWidget self shouldBeImplemented! ! !OCMorphicBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:27'! buildToolbar: aWidget self shouldBeImplemented! ! !OCMorphicBuilder methodsFor: 'building' stamp: 'lr 5/25/2011 19:27'! buildTree: aWidget self shouldBeImplemented! ! !OCMorphicBuilder methodsFor: 'accessing' stamp: 'lr 5/25/2011 19:34'! theme ^ UITheme current! ! Object subclass: #OCContext instanceVariableNames: 'environment' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Model'! !OCContext methodsFor: 'accessing' stamp: 'lr 6/3/2011 09:48'! environment "Answer the context of the current environment." ^ environment! ! Object subclass: #OCLayout instanceVariableNames: 'verticalAxis horizontalAxis' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! !OCLayout methodsFor: 'accessing' stamp: 'lr 5/22/2011 08:37'! horizontalAxis ^ horizontalAxis! ! !OCLayout methodsFor: 'initialization' stamp: 'lr 5/22/2011 09:10'! initialize verticalAxis := OCStretchLayoutAxis new. horizontalAxis := OCStretchLayoutAxis new! ! !OCLayout methodsFor: 'accessing' stamp: 'lr 5/22/2011 08:37'! verticalAxis ^ verticalAxis! ! Object subclass: #OCLayoutAxis instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCLayoutAxis subclass: #OCBeginLayoutAxis instanceVariableNames: 'begin beginRelative size sizeRelative' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! !OCBeginLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:19'! begin: anInteger begin := anInteger asInteger! ! !OCBeginLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:19'! beginRelative: aFloat beginRelative := aFloat! ! !OCBeginLayoutAxis methodsFor: 'initialization' stamp: 'lr 5/22/2011 09:06'! initialize begin := 0. beginRelative := 0. size := 0. sizeRelative := 1! ! !OCBeginLayoutAxis methodsFor: 'querying' stamp: 'lr 5/22/2011 09:24'! intervalBetween: beginInteger and: endInteger | totalSize beginValue endValue | totalSize := endInteger - beginInteger. beginValue := beginInteger + begin + (totalSize * beginRelative) rounded. endValue := beginValue + size + (totalSize * sizeRelative) rounded. ^ beginValue to: endValue! ! !OCBeginLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:19'! size: anInteger size := anInteger asInteger! ! !OCBeginLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! sizeRelative: aFloat sizeRelative := aFloat! ! OCLayoutAxis subclass: #OCEndLayoutAxis instanceVariableNames: 'size sizeRelative end endRelative' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! !OCEndLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! end: anInteger end := anInteger asInteger! ! !OCEndLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! endRelative: aFloat endRelative := aFloat! ! !OCEndLayoutAxis methodsFor: 'initialization' stamp: 'lr 5/22/2011 09:06'! initialize size := 0. sizeRelative := 1. end := 0. endRelative := 0! ! !OCEndLayoutAxis methodsFor: 'querying' stamp: 'lr 5/22/2011 09:19'! intervalBetween: beginInteger and: endInteger | totalSize beginValue endValue | totalSize := endInteger - beginInteger. endValue := endInteger - end - (totalSize * endRelative) rounded. beginValue := endValue - size - (totalSize * sizeRelative) rounded. ^ beginValue to: endValue! ! !OCEndLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! size: anInteger size := anInteger asInteger! ! !OCEndLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! sizeRelative: aFloat sizeRelative := aFloat! ! !OCLayoutAxis methodsFor: 'querying' stamp: 'lr 5/22/2011 08:53'! beginBetween: aStartInteger and: anEndInteger self subclassResponsibility! ! !OCLayoutAxis methodsFor: 'querying' stamp: 'lr 5/22/2011 08:53'! endBetween: aStartInteger and: anEndInteger self subclassResponsibility! ! !OCLayoutAxis methodsFor: 'initialization' stamp: 'lr 5/22/2011 09:05'! initialize ! ! !OCLayoutAxis methodsFor: 'querying' stamp: 'lr 5/22/2011 08:57'! intervalBetween: beginInteger and: endInteger self subclassResponsibility! ! OCLayoutAxis subclass: #OCStretchLayoutAxis instanceVariableNames: 'begin beginRelative end endRelative' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! !OCStretchLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! begin: anInteger begin := anInteger asInteger! ! !OCStretchLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! beginRelative: aFloat beginRelative := aFloat! ! !OCStretchLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! end: anInteger end := anInteger asInteger! ! !OCStretchLayoutAxis methodsFor: 'accessing' stamp: 'lr 5/22/2011 09:20'! endRelative: aFloat endRelative := aFloat! ! !OCStretchLayoutAxis methodsFor: 'initialization' stamp: 'lr 5/22/2011 09:07'! initialize begin := 0. beginRelative := 0. end := 0. endRelative := 0! ! !OCStretchLayoutAxis methodsFor: 'querying' stamp: 'lr 5/22/2011 09:19'! intervalBetween: beginInteger and: endInteger | totalSize beginValue endValue | totalSize := endInteger - beginInteger. beginValue := beginInteger + begin + (totalSize * beginRelative) rounded. endValue := endInteger - end - (totalSize * endRelative) rounded. ^ beginValue to: endValue! ! Object subclass: #OCNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Model'! !OCNode methodsFor: 'initialization' stamp: 'lr 5/22/2011 19:52'! setParent: aNode (parent isNil or: [ parent == aNode ]) ifFalse: [ self error: 'Unable to reparent node.' ]. parent := aNode! ! OCNode subclass: #OCProjectNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Model'! OCNode subclass: #OCStCodeNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! OCStCodeNode subclass: #OCStClassAwareNode instanceVariableNames: 'theClass' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! !OCStClassAwareNode methodsFor: 'comparing' stamp: 'lr 5/24/2011 20:31'! = aNode ^ self species = aNode species and: [ self theClass = aNode theClass ]! ! !OCStClassAwareNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:13'! declarationsInHierarchy "Returns the definitions (implementors) of the receiver within its hierarchy." ^ self declarationsIn: self surroundingHierarchy! ! !OCStClassAwareNode methodsFor: 'comparing' stamp: 'lr 5/24/2011 20:31'! hash ^ self theClass hash! ! !OCStClassAwareNode methodsFor: 'navigation' stamp: 'lr 6/3/2011 09:37'! methods "Returns all the methods of the receiver." ^ self methodsIn: BrowserEnvironment new! ! !OCStClassAwareNode methodsFor: 'navigation' stamp: 'lr 6/3/2011 09:37'! methodsIn: aBrowserEnvironment "Returns the methods of the receiver in the system." | result | result := OrderedCollection new. aBrowserEnvironment selectorsForClass: self theClass do: [ :each | result addLast: (OCStMethodNode class: self theClass selector: each) ]. ^ result! ! !OCStClassAwareNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:13'! referencesInHierarchy "Returns the references (senders) of the receiver within its hierarchy." ^ self referencesIn: self surroundingHierarchy! ! !OCStClassAwareNode methodsFor: 'initializing' stamp: 'lr 5/24/2011 20:30'! setClass: aClass theClass := aClass! ! !OCStClassAwareNode methodsFor: 'private' stamp: 'lr 5/24/2011 21:13'! surroundingHierarchy | result | result := ClassEnvironment new. self theNonMetaClass allSuperclassesDo: [ :each | result addClass: each; addClass: each class ]; withAllSubclassesDo: [ :each | result addClass: each; addClass: each class ]. ^ result! ! !OCStClassAwareNode methodsFor: 'accessing' stamp: 'lr 5/24/2011 20:30'! theClass ^ theClass! ! !OCStClassAwareNode methodsFor: 'accessing' stamp: 'lr 5/24/2011 20:31'! theMetaClass ^ self theClass theMetaClass! ! !OCStClassAwareNode methodsFor: 'accessing' stamp: 'lr 5/24/2011 20:31'! theNonMetaClass ^ self theClass theNonMetaClass! ! OCStClassAwareNode subclass: #OCStClassNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! !OCStClassNode class methodsFor: 'instance creation' stamp: 'lr 5/24/2011 21:23'! class: aClass ^ self new setClass: aClass; yourself! ! !OCStClassNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:28'! classVariables ^ self theNonMetaClass classVarNames collect: [ :each | OCStClassVariableNode class: self theClass name: each ]! ! !OCStClassNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:14'! declarationsIn: aBrowserEnvironment "Returns the definitions (implementors) of the receiver within aBrowserEnvironment." ^ (aBrowserEnvironment includesClass: self theClass) ifTrue: [ Array with: self copy ] ifFalse: [ Array new ]! ! !OCStClassNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:27'! instanceVariables ^ self theClass instVarNames collect: [ :each | OCStInstanceVariableNode class: self theClass name: each ]! ! !OCStClassNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:11'! referencesIn: aBrowserEnvironment "Returns the references (senders) of the receiver within aBrowserEnvironment." ^ self methodNodesFrom: (aBrowserEnvironment referencesTo: self theNonMetaClass binding)! ! OCStClassAwareNode subclass: #OCStMethodNode instanceVariableNames: 'selector' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! !OCStMethodNode class methodsFor: 'instance creation' stamp: 'lr 5/24/2011 21:24'! class: aClass selector: aSelector ^ self new setClass: aClass; setSelector: aSelector; yourself! ! !OCStMethodNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:12'! declarationsIn: aBrowserEnvironment "Returns the definitions (implementors) of the receiver within aBrowserEnvironment." ^ self methodNodesFrom: (aBrowserEnvironment implementorsOf: self selector)! ! !OCStMethodNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:12'! referencesIn: aBrowserEnvironment "Returns the references (senders) of the receiver within aBrowserEnvironment." ^ self methodNodesFrom: (aBrowserEnvironment referencesTo: self selector)! ! !OCStMethodNode methodsFor: 'accessing' stamp: 'lr 5/24/2011 21:12'! selector "Answer the selector of this method." ^ selector! ! !OCStMethodNode methodsFor: 'initialization' stamp: 'lr 5/24/2011 21:25'! setName: aString name := aString! ! !OCStMethodNode methodsFor: 'initialization' stamp: 'lr 5/24/2011 21:25'! setSelector: aSelector selector := aSelector! ! OCStClassAwareNode subclass: #OCStVariableNode instanceVariableNames: 'name' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! OCStVariableNode subclass: #OCStClassVariableNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! !OCStClassVariableNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:23'! declarationsIn: aBrowserEnvironment "Returns the definitions (implementors) of the receiver within aBrowserEnvironment." ^ (aBrowserEnvironment includesClass: self theClass) ifTrue: [ Array with: self copy ] ifFalse: [ Array new ]! ! !OCStClassVariableNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:20'! referencesIn: aBrowserEnvironment "Returns the references (senders) of the receiver within aBrowserEnvironment." ^ self methodNodesFrom: (aBrowserEnvironment classVarRefsTo: self name in: self theNonMetaClass) ! ! OCStVariableNode subclass: #OCStInstanceVariableNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! !OCStInstanceVariableNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:23'! declarationsIn: aBrowserEnvironment "Returns the definitions (implementors) of the receiver within aBrowserEnvironment." ^ (aBrowserEnvironment includesClass: self theClass) ifTrue: [ Array with: self copy ] ifFalse: [ Array new ]! ! !OCStInstanceVariableNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:22'! referencesIn: aBrowserEnvironment "Returns the references (senders) of the receiver within aBrowserEnvironment." ^ self methodNodesFrom: (aBrowserEnvironment instVarRefsTo: self name in: self theClass) ! ! !OCStVariableNode class methodsFor: 'instance creation' stamp: 'lr 5/24/2011 21:24'! class: aClass name: aString ^ self new setClass: aClass; setName: aString; yourself! ! !OCStVariableNode methodsFor: 'accessing' stamp: 'lr 5/24/2011 21:25'! name ^ name! ! !OCStVariableNode methodsFor: 'initialization' stamp: 'lr 5/24/2011 21:24'! setName: aString name := aString! ! !OCStCodeNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 20:48'! declarations "Returns the definitions (implementors) of the receiver in the system." ^ self declarationsIn: BrowserEnvironment new! ! !OCStCodeNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:19'! declarationsIn: aBrowserEnvironment "Returns the definitions (implementors) of the receiver within aBrowserEnvironment." self subclassResponsibility! ! !OCStCodeNode methodsFor: 'private' stamp: 'lr 5/24/2011 21:30'! methodNodesFrom: aBrowserEnvironment | result | result := OrderedCollection new. aBrowserEnvironment classesAndSelectorsDo: [ :class :selector | result addLast: (OCStMethodNode class: class selector: selector) ]. ^ result! ! !OCStCodeNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 20:48'! references "Returns the references (senders) of the receiver in the system." ^ self referencesIn: BrowserEnvironment new! ! !OCStCodeNode methodsFor: 'navigation' stamp: 'lr 5/24/2011 21:19'! referencesIn: aBrowserEnvironment "Returns the references (senders) of the receiver within aBrowserEnvironment." self subclassResponsibility! ! OCStCodeNode subclass: #OCStPackageNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Core'! OCNode subclass: #OCViewNode instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Model'! OCViewNode subclass: #OCStCodeView instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Views'! OCViewNode subclass: #OCStDebugView instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Smalltalk-Views'! Object subclass: #OCWidget instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCWidget subclass: #OCBreadcrumWidget instanceVariableNames: 'iconSelector labelSelector' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! !OCBreadcrumWidget methodsFor: 'building' stamp: 'lr 5/25/2011 19:24'! buildOn: aBuilder ^ aBuilder buildBreadcrum: self! ! OCWidget subclass: #OCButtonWidget instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCWidget subclass: #OCConsoleWidget instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCWidget subclass: #OCEditorWidget instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCWidget subclass: #OCLayoutWidget instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCWidget subclass: #OCMenuWidget instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCWidget subclass: #OCToolbarWidget instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'! OCWidget subclass: #OCTreeWidget instanceVariableNames: 'iconSelector labelSelector childSelector' classVariableNames: '' poolDictionaries: '' category: 'Occult-Core-Widgets'!