inspectedObjectHolder added
authorClaus Gittinger <cg@exept.de>
Thu, 10 Feb 2000 13:38:59 +0100
changeset 2598 298843749a49
parent 2597 6acd2c15d213
child 2599 9f6773f63f26
inspectedObjectHolder added
InspectorView.st
--- a/InspectorView.st	Thu Feb 10 13:36:59 2000 +0100
+++ b/InspectorView.st	Thu Feb 10 13:38:59 2000 +0100
@@ -13,7 +13,8 @@
 SimpleView subclass:#InspectorView
 	instanceVariableNames:'listView labelView workspace inspectedObject selectedLine nShown
 		hasMore monitorProcess hideReceiver showHex inspectHistory
-		allowFollow isStandaloneInspector selectionIndex object'
+		allowFollow isStandaloneInspector selectionIndex object
+		inspectedObjectHolder'
 	classVariableNames:'DefaultIcon'
 	poolDictionaries:''
 	category:'Interface-Inspector'
@@ -219,6 +220,14 @@
     "Modified: 18.4.1997 / 15:16:53 / cg"
 ! !
 
+!InspectorView class methodsFor:'queries-plugin'!
+
+aspectSelectors
+    ^ #( inspectedObjectHolder )
+
+    "Modified: / 10.2.2000 / 12:25:28 / cg"
+! !
+
 !InspectorView methodsFor:'accessing'!
 
 allowFollow:aBoolean
@@ -317,6 +326,56 @@
     ^ workspace
 ! !
 
+!InspectorView methodsFor:'accessing channels'!
+
+inspectedObjectHolder
+    inspectedObjectHolder isNil ifTrue:[
+        inspectedObjectHolder := ValueHolder new.
+        inspectedObjectHolder addDependent:self.
+    ].
+    ^ inspectedObjectHolder
+
+    "Created: / 10.2.2000 / 13:33:16 / cg"
+    "Modified: / 10.2.2000 / 13:34:23 / cg"
+!
+
+inspectedObjectHolder:aValueHolder
+    inspectedObjectHolder notNil ifTrue:[
+        inspectedObjectHolder removeDependent:self.
+    ].
+    inspectedObjectHolder := aValueHolder.
+    inspectedObjectHolder notNil ifTrue:[
+        inspectedObjectHolder addDependent:self.
+    ].
+
+    "Created: / 10.2.2000 / 13:34:53 / cg"
+! !
+
+!InspectorView methodsFor:'change & update'!
+
+update:something with:aParameter from:changedObject
+    "Invoked when one of my dependees sends a change notification."
+
+    |oldSelection|
+
+    changedObject == inspectedObject ifTrue:[
+        oldSelection := listView selection.
+        self inspect:inspectedObject.
+        oldSelection notNil ifTrue:[
+            self showSelection:oldSelection
+        ]
+    ].
+
+    changedObject == inspectedObjectHolder ifTrue:[
+        self inspect:(inspectedObjectHolder value)
+    ].
+
+    super update:something with:aParameter from:changedObject
+
+    "Created: / 10.2.2000 / 13:46:38 / cg"
+    "Modified: / 10.2.2000 / 13:48:18 / cg"
+! !
+
 !InspectorView methodsFor:'initialization & release'!
 
 destroy
@@ -1176,20 +1235,6 @@
     "Modified: / 7.5.1998 / 02:00:10 / cg"
 !
 
-update:something with:someArgument from:changedObject
-    "handle updates from other inspectors"
-
-    |oldSelection|
-
-    changedObject == inspectedObject ifTrue:[
-	oldSelection := listView selection.
-	self inspect:inspectedObject.
-	oldSelection notNil ifTrue:[
-	    self showSelection:oldSelection
-	]
-    ]
-!
-
 valueAtLine:lineNr
     "helper - return the value of the selected entry"
 
@@ -1237,5 +1282,5 @@
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.105 2000-02-07 11:17:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.106 2000-02-10 12:38:59 cg Exp $'
 ! !