NewInspectorView.st
author ca
Sat, 01 Mar 1997 13:44:39 +0100
changeset 72 a5a7054e2b7d
parent 39 03af455029eb
child 88 d6dccf1ad344
permissions -rw-r--r--
*** empty log message ***

"{ NameSpace: NewInspector }"

VariableVerticalPanel subclass:#InspectorView
	instanceVariableNames:'inspectorView userSpace workSpace inspectedObject'
	classVariableNames:''
	poolDictionaries:''
	category:'Inspector'
!

!InspectorView class methodsFor:'documentation'!

examples

"
    open an inspector on an array
                                                                        [exBegin]
    |array|

    array := Array new:5.
    array at:1 put:(Array new:400).
    NewInspector::InspectorView inspect:array
                                                                        [exEnd]
"
! !

!InspectorView class methodsFor:'instance creation'!

inspect:anInstance
    "start inspector on an instance
    "
    |top isp|

    top := StandardSystemView new extent:600@400.
    isp := InspectorView origin:0.0@0.0  corner:1.0@1.0 in:top.
    isp inspect:anInstance.
    top open.

  ^ isp.
! !

!InspectorView methodsFor:'accessing'!

inspect:anInstance

    inspectedObject := anInstance.
    self topView label:(inspectedObject class name asString).
    inspectorView inspect:anInstance.
    self updateWorkSpace.

! !

!InspectorView methodsFor:'initialization'!

initialize
    |view|

    super initialize.

    view := SimpleView origin:0.0 @ 0.0 corner:1.0 @ 0.5 in:self.

    inspectorView := InspectorPanelView origin:0.0 @ 0.0 corner:1.0 @ 1.0 in:view.
    workSpace     := Workspace          origin:0.0 @ 1.0 corner:1.0 @ 1.0 in:view.
    userSpace     := Workspace          origin:0.0 @ 0.5 corner:1.0 @ 1.0 in:self.

    workSpace     topInset:-18.
    inspectorView bottomInset:18.

    userSpace acceptAction:[:theText|inspectorView accept:theText notifying:workSpace].
    workSpace acceptAction:[:theText|inspectorView accept:theText notifying:workSpace].

    userSpace   doItAction:[:theCode|inspectorView doIt:theCode notifying:workSpace].
    workSpace   doItAction:[:theCode|inspectorView doIt:theCode notifying:workSpace].

    inspectorView action:[:el|self updateWorkSpace].

    inspectorView valueChangedAction:[:el||lbl|
        workSpace list:(Array with:(el displayString)).
    ].
! !

!InspectorView methodsFor:'update'!

updateWorkSpace
    "update the workSpace
    "
    workSpace list:(Array with:(inspectorView selectedInstanceVar displayString)).
! !

!InspectorView class methodsFor:'documentation'!

version
    ^ '$Header$'
! !