OCInspView.st
author claus
Sat, 08 Jan 1994 18:30:44 +0100
changeset 18 850295468cac
child 23 3363884b8e9f
permissions -rw-r--r--
Initial revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
850295468cac Initial revision
claus
parents:
diff changeset
     1
"
850295468cac Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
850295468cac Initial revision
claus
parents:
diff changeset
     3
              All Rights Reserved
850295468cac Initial revision
claus
parents:
diff changeset
     4
850295468cac Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
850295468cac Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
850295468cac Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
850295468cac Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
850295468cac Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
850295468cac Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
850295468cac Initial revision
claus
parents:
diff changeset
    11
"
850295468cac Initial revision
claus
parents:
diff changeset
    12
850295468cac Initial revision
claus
parents:
diff changeset
    13
InspectorView subclass:#OrderedCollectionInspectorView
850295468cac Initial revision
claus
parents:
diff changeset
    14
	 instanceVariableNames:''
850295468cac Initial revision
claus
parents:
diff changeset
    15
	 classVariableNames:''
850295468cac Initial revision
claus
parents:
diff changeset
    16
	 poolDictionaries:''
850295468cac Initial revision
claus
parents:
diff changeset
    17
	 category:'Interface-Inspector'
850295468cac Initial revision
claus
parents:
diff changeset
    18
!
850295468cac Initial revision
claus
parents:
diff changeset
    19
850295468cac Initial revision
claus
parents:
diff changeset
    20
!OrderedCollectionInspectorView methodsFor:'user interaction'!
850295468cac Initial revision
claus
parents:
diff changeset
    21
850295468cac Initial revision
claus
parents:
diff changeset
    22
showSelection:lineNr
850295468cac Initial revision
claus
parents:
diff changeset
    23
    "user clicked on an instvar - show value in workspace"
850295468cac Initial revision
claus
parents:
diff changeset
    24
850295468cac Initial revision
claus
parents:
diff changeset
    25
    |val string|
850295468cac Initial revision
claus
parents:
diff changeset
    26
850295468cac Initial revision
claus
parents:
diff changeset
    27
    workspace contents:nil.
850295468cac Initial revision
claus
parents:
diff changeset
    28
    lineNr == 1 ifTrue:[
850295468cac Initial revision
claus
parents:
diff changeset
    29
        val := inspectedObject
850295468cac Initial revision
claus
parents:
diff changeset
    30
    ] ifFalse:[
850295468cac Initial revision
claus
parents:
diff changeset
    31
        val := inspectedObject at:(lineNr - 1)
850295468cac Initial revision
claus
parents:
diff changeset
    32
    ].
850295468cac Initial revision
claus
parents:
diff changeset
    33
    string := val displayString.
850295468cac Initial revision
claus
parents:
diff changeset
    34
    workspace show:string.
850295468cac Initial revision
claus
parents:
diff changeset
    35
    selectedLine := lineNr
850295468cac Initial revision
claus
parents:
diff changeset
    36
! !
850295468cac Initial revision
claus
parents:
diff changeset
    37
850295468cac Initial revision
claus
parents:
diff changeset
    38
!OrderedCollectionInspectorView methodsFor:'accessing'!
850295468cac Initial revision
claus
parents:
diff changeset
    39
850295468cac Initial revision
claus
parents:
diff changeset
    40
listOfNames
850295468cac Initial revision
claus
parents:
diff changeset
    41
    "return a list of names to show in the selectionList"
850295468cac Initial revision
claus
parents:
diff changeset
    42
850295468cac Initial revision
claus
parents:
diff changeset
    43
    |aList n cut|
850295468cac Initial revision
claus
parents:
diff changeset
    44
850295468cac Initial revision
claus
parents:
diff changeset
    45
    aList := Text new.
850295468cac Initial revision
claus
parents:
diff changeset
    46
    aList add:'self'.
850295468cac Initial revision
claus
parents:
diff changeset
    47
    n := inspectedObject size.
850295468cac Initial revision
claus
parents:
diff changeset
    48
    (n > nShown) ifTrue:[
850295468cac Initial revision
claus
parents:
diff changeset
    49
        n := nShown.
850295468cac Initial revision
claus
parents:
diff changeset
    50
        cut := true.
850295468cac Initial revision
claus
parents:
diff changeset
    51
        listView setMiddleButtonMenu:menu2.
850295468cac Initial revision
claus
parents:
diff changeset
    52
    ] ifFalse:[
850295468cac Initial revision
claus
parents:
diff changeset
    53
        cut := false.
850295468cac Initial revision
claus
parents:
diff changeset
    54
        listView setMiddleButtonMenu:menu1.
850295468cac Initial revision
claus
parents:
diff changeset
    55
    ].
850295468cac Initial revision
claus
parents:
diff changeset
    56
    1 to:n do:[:index |
850295468cac Initial revision
claus
parents:
diff changeset
    57
        aList add:(index printString)
850295468cac Initial revision
claus
parents:
diff changeset
    58
    ].
850295468cac Initial revision
claus
parents:
diff changeset
    59
    cut ifTrue:[
850295468cac Initial revision
claus
parents:
diff changeset
    60
        aList add:' ... '
850295468cac Initial revision
claus
parents:
diff changeset
    61
    ].
850295468cac Initial revision
claus
parents:
diff changeset
    62
    ^ aList
850295468cac Initial revision
claus
parents:
diff changeset
    63
! !
850295468cac Initial revision
claus
parents:
diff changeset
    64