DictionaryInspectorView.st
author Claus Gittinger <cg@exept.de>
Thu, 25 Apr 1996 18:32:38 +0200
changeset 510 6543e55fb227
parent 470 5bb60cb688c8
child 532 12050a9af056
permissions -rw-r--r--
documentation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     1
"
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     3
	      All Rights Reserved
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     4
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    10
 hereby transferred.
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    11
"
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    12
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    13
InspectorView subclass:#DictionaryInspectorView
361
d1c82e7aa149 handle nil inspectedObjects (mhmh)
Claus Gittinger <cg@exept.de>
parents: 200
diff changeset
    14
	instanceVariableNames:'keys'
d1c82e7aa149 handle nil inspectedObjects (mhmh)
Claus Gittinger <cg@exept.de>
parents: 200
diff changeset
    15
	classVariableNames:''
d1c82e7aa149 handle nil inspectedObjects (mhmh)
Claus Gittinger <cg@exept.de>
parents: 200
diff changeset
    16
	poolDictionaries:''
d1c82e7aa149 handle nil inspectedObjects (mhmh)
Claus Gittinger <cg@exept.de>
parents: 200
diff changeset
    17
	category:'Interface-Inspector'
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    18
!
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    19
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    20
!DictionaryInspectorView class methodsFor:'documentation'!
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    21
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    22
copyright
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    23
"
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    24
 COPYRIGHT (c) 1993 by Claus Gittinger
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    25
	      All Rights Reserved
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    26
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    27
 This software is furnished under a license and may be used
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    28
 only in accordance with the terms of that license and with the
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    30
 be provided or otherwise made available to, or used by, any
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    31
 other person.  No title to or ownership of the software is
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    32
 hereby transferred.
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    33
"
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    34
!
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    35
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    36
documentation
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    37
"
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    38
    a modified Inspector for Dictionaries
510
6543e55fb227 documentation
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
    39
6543e55fb227 documentation
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
    40
    [author:]
6543e55fb227 documentation
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
    41
        Claus Gittinger
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    42
"
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    43
! !
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    44
470
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    45
!DictionaryInspectorView methodsFor:'menu'!
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    46
73
e332d9c71624 *** empty log message ***
claus
parents: 57
diff changeset
    47
fieldMenu
45
950b84ba89e6 *** empty log message ***
claus
parents: 36
diff changeset
    48
    |labels selectors|
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
    49
45
950b84ba89e6 *** empty log message ***
claus
parents: 36
diff changeset
    50
    inspectedObject == Smalltalk ifTrue:[
470
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    51
        labels := #(
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    52
                       'inspect'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    53
                       'inspect key'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    54
                       'basicInspect'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    55
                       'references'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    56
                       '-'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    57
                       'add key'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    58
                       'remove key'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    59
                   ).
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    60
        selectors := #(
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    61
                       doInspect 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    62
                       doInspectKey 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    63
                       doBasicInspect 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    64
                       doReferences 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    65
                       nil 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    66
                       doAddKey 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    67
                       doRemoveKey
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    68
                      ).
45
950b84ba89e6 *** empty log message ***
claus
parents: 36
diff changeset
    69
    ] ifFalse:[
470
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    70
        labels := #(
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    71
                       'inspect'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    72
                       'inspect key'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    73
                       'basicInspect'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    74
                       '-'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    75
                       'add key'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    76
                       'remove key'
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    77
                   ).
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    78
        selectors := #(
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    79
                       doInspect 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    80
                       doInspectKey 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    81
                       doBasicInspect 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    82
                       nil 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    83
                       doAddKey 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    84
                       doRemoveKey
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    85
                      ).
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    86
    ].
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    87
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    88
    monitorProcess isNil ifTrue:[
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    89
        labels := labels , #('-' 'start monitor').
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    90
        selectors := selectors , #(nil #doStartMonitor).
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    91
    ] ifFalse:[
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    92
        labels := labels , #('-' 'stop monitor').
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    93
        selectors := selectors , #(nil #doStopMonitor).
45
950b84ba89e6 *** empty log message ***
claus
parents: 36
diff changeset
    94
    ].
950b84ba89e6 *** empty log message ***
claus
parents: 36
diff changeset
    95
73
e332d9c71624 *** empty log message ***
claus
parents: 57
diff changeset
    96
    ^ PopUpMenu
470
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    97
         labels:(resources array:labels)
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    98
         selectors:selectors
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
    99
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   100
    "Modified: 12.4.1996 / 13:45:32 / cg"
36
ccde5a941840 *** empty log message ***
claus
parents:
diff changeset
   101
! !
200
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   102
470
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   103
!DictionaryInspectorView methodsFor:'menu actions'!
200
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   104
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   105
doAddKey
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   106
    "add a key"
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   107
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   108
    |keyName key|
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   109
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   110
    keyName := Dialog request:'key to add:' initialAnswer:''.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   111
    keyName notEmpty ifTrue:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   112
	key := keyName asSymbol.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   113
	(inspectedObject includesKey:key) ifFalse:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   114
	    inspectedObject at:key put:nil.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   115
	    selectedLine := nil.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   116
	    inspectedObject changed.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   117
	    self inspect:inspectedObject. "force list update"
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   118
	]
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   119
    ]
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   120
!
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   121
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   122
doInspectKey
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   123
    "inspect selected items key"
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   124
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   125
    selectedLine notNil ifTrue:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   126
	selectedLine ~~ 1 ifTrue:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   127
	    (keys at:selectedLine - 1) inspect
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   128
	].
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   129
    ]
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   130
!
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   131
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   132
doReferences
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   133
    "show users of selected key (i.e. global)"
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   134
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   135
    |k|
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   136
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   137
    selectedLine notNil ifTrue:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   138
	selectedLine == 1 ifFalse:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   139
	    k := (keys at:selectedLine - 1).
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   140
	    SystemBrowser browseReferendsOf:k asSymbol
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   141
	].
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   142
    ]
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   143
!
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   144
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   145
doRemoveKey
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   146
    "remove selected item from keys"
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   147
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   148
    |key|
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   149
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   150
    selectedLine == 1 ifFalse:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   151
	key := (keys at:selectedLine - 1).
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   152
	(inspectedObject includesKey:key) ifTrue:[
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   153
	    listView cursor:(Cursor wait).
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   154
	    inspectedObject removeKey:key.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   155
	    keys := nil.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   156
	    selectedLine := nil.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   157
	    inspectedObject changed.
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   158
	    listView cursor:(Cursor hand).
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   159
	    self inspect:inspectedObject. "force list update"
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   160
	].
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   161
    ]
470
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   162
! !
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   163
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   164
!DictionaryInspectorView methodsFor:'private'!
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   165
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   166
fieldList 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   167
    "return a list of names for the selectionlist. Leave hasMore as
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   168
     true, if a '...' entry should be added."
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   169
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   170
    |aList|
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   171
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   172
    inspectedObject isNil ifTrue:[^ #()].
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   173
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   174
    keys := inspectedObject keys asSortedCollection:[:a :b | a printString < b printString].
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   175
    aList := keys collect:[:k | k isSymbol ifTrue:[
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   176
                                                k printString
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   177
                                               ] ifFalse:[
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   178
                                                k displayString
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   179
                                               ]
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   180
                                         ].
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   181
    aList := aList asOrderedCollection.
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   182
    aList addFirst:'self'.
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   183
    ^ aList
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   184
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   185
    "Modified: 9.2.1996 / 21:16:07 / cg"
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   186
!
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   187
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   188
release 
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   189
    "release inspected object"
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   190
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   191
    keys := nil.
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   192
    super release
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   193
! !
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   194
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   195
!DictionaryInspectorView methodsFor:'user interaction'!
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   196
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   197
doAccept:theText
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   198
    "accept value for selected item"
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   199
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   200
    |value|
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   201
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   202
    value := Compiler evaluate:theText receiver:inspectedObject notifying:workspace.
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   203
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   204
    selectedLine notNil ifTrue:[
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   205
	selectedLine == 1 ifFalse:[
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   206
	    inspectedObject at:(keys at:selectedLine - 1) put:value.
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   207
	    inspectedObject changed
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   208
	].
5bb60cb688c8 category rename / added monitor stuff
Claus Gittinger <cg@exept.de>
parents: 385
diff changeset
   209
    ]
200
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   210
!
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   211
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   212
valueAtLine:lineNr
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   213
    "helper - return the value of the selected entry"
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   214
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   215
    |key|
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   216
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   217
    lineNr == 1 ifTrue:[
385
439554333cc8 handle nonExistingKey when retrieving values (in case its a weakDictionary)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   218
        ^ inspectedObject
200
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   219
    ].
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   220
    key := (keys at:lineNr - 1).
385
439554333cc8 handle nonExistingKey when retrieving values (in case its a weakDictionary)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   221
    ^ inspectedObject at:key ifAbsent:nil.
439554333cc8 handle nonExistingKey when retrieving values (in case its a weakDictionary)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   222
439554333cc8 handle nonExistingKey when retrieving values (in case its a weakDictionary)
Claus Gittinger <cg@exept.de>
parents: 361
diff changeset
   223
    "Modified: 22.2.1996 / 17:56:42 / cg"
200
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   224
! !
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   225
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   226
!DictionaryInspectorView class methodsFor:'documentation'!
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   227
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   228
version
510
6543e55fb227 documentation
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
   229
    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.22 1996-04-25 16:32:16 cg Exp $'
200
01ce3d3636d5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   230
! !