ClassInspectorView.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 13 Mar 2013 01:04:29 +0000
branchjv
changeset 12459 7899fe07efd7
parent 12431 9f0c59c742d5
parent 12447 a35a8b2fe1f5
child 13173 e9da2324940d
permissions -rw-r--r--
Merged f80cf2f8e9cb and ea3f2adb406f (branch default - CVS HEAD)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
     1
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1994 by Claus Gittinger
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
     3
              All Rights Reserved
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
     4
205d53e91c52 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
205d53e91c52 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
205d53e91c52 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
205d53e91c52 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
205d53e91c52 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
205d53e91c52 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    11
"
2997
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    12
"{ Package: 'stx:libtool' }"
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    13
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    14
InspectorView subclass:#ClassInspectorView
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    15
	instanceVariableNames:''
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    16
	classVariableNames:''
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    17
	poolDictionaries:''
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    18
	category:'Interface-Inspector'
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    19
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    20
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    21
!ClassInspectorView class methodsFor:'documentation'!
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    22
205d53e91c52 Initial revision
claus
parents:
diff changeset
    23
copyright
205d53e91c52 Initial revision
claus
parents:
diff changeset
    24
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    25
 COPYRIGHT (c) 1994 by Claus Gittinger
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    26
              All Rights Reserved
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    27
205d53e91c52 Initial revision
claus
parents:
diff changeset
    28
 This software is furnished under a license and may be used
205d53e91c52 Initial revision
claus
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
205d53e91c52 Initial revision
claus
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
205d53e91c52 Initial revision
claus
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
205d53e91c52 Initial revision
claus
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
205d53e91c52 Initial revision
claus
parents:
diff changeset
    33
 hereby transferred.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    34
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    35
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    36
2997
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    37
!
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    38
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    39
documentation
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    40
"
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    41
    modified Inspector for Classes; in addition to instance variables,
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    42
    also shows ClassVariables in its left SelectionList.
3200
4889a13402db *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2997
diff changeset
    43
4889a13402db *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2997
diff changeset
    44
        Array inspect
4889a13402db *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2997
diff changeset
    45
        View inspect
2997
928594257211 Move documentation method to class protocol.
Stefan Vogel <sv@exept.de>
parents: 2271
diff changeset
    46
"
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    47
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
    48
12459
7899fe07efd7 Merged f80cf2f8e9cb and ea3f2adb406f (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12431 12447
diff changeset
    49
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    50
!ClassInspectorView methodsFor:'accessing'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    51
2271
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    52
fieldList
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    53
    "return a list of names to show in the selectionList"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    54
205d53e91c52 Initial revision
claus
parents:
diff changeset
    55
    |aList|
205d53e91c52 Initial revision
claus
parents:
diff changeset
    56
2271
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    57
    aList := super fieldList.
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    58
205d53e91c52 Initial revision
claus
parents:
diff changeset
    59
    "/
205d53e91c52 Initial revision
claus
parents:
diff changeset
    60
    "/ add class variables
205d53e91c52 Initial revision
claus
parents:
diff changeset
    61
    "/
205d53e91c52 Initial revision
claus
parents:
diff changeset
    62
    inspectedObject class withAllSuperclasses reverse do:[:aClass |
2271
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    63
        |varNames|
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    64
2271
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    65
        varNames := aClass classVarNames.
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    66
        varNames notEmpty ifTrue:[
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    67
            aList add:'--- classvariables from ' , aClass name , ' ---'.
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    68
            varNames do:[:classVarName |
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    69
                aList add:classVarName
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    70
            ]
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
    71
        ]
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    72
    ].
205d53e91c52 Initial revision
claus
parents:
diff changeset
    73
    ^ aList
12447
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    74
!
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    75
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    76
valueAtLine:lineNr
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    77
    "return a list of names to show in the selectionList"
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    78
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    79
    |list idx0|
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    80
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    81
    list := super fieldList.
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    82
    lineNr <= list size ifTrue:[ ^ super valueAtLine:lineNr ].
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    83
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    84
    "/
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    85
    "/ a class variable
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    86
    "/
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    87
    idx0 := list size + 1.
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    88
    inspectedObject class withAllSuperclasses reverse do:[:aClass |
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    89
        |varNames varName|
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    90
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    91
        varNames := aClass classVarNames.
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    92
        varNames notEmpty ifTrue:[
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    93
            (lineNr between:idx0+1 and:(idx0 + 1 + varNames size - 1)) ifTrue:[
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    94
                varName := varNames at:lineNr-idx0.
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    95
                ^ aClass classVarAt:varName.
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    96
            ].
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    97
            idx0 := idx0 + varNames size + 1.
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    98
        ]
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
    99
    ].
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
   100
    ^ nil
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   101
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
   102
12459
7899fe07efd7 Merged f80cf2f8e9cb and ea3f2adb406f (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12431 12447
diff changeset
   103
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   104
!ClassInspectorView class methodsFor:'documentation'!
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   105
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   106
version
12447
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
   107
    ^ '$Header: /cvs/stx/stx/libtool/ClassInspectorView.st,v 1.12 2013-03-09 12:49:15 cg Exp $'
12431
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   108
!
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   109
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   110
version_HG
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   111
9f0c59c742d5 Added LintRuleSettingsApplication and LintRuleEditDialog to define user-defined rule sets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   112
    ^ '$Changeset: <not expanded> $'
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   113
! !
12447
a35a8b2fe1f5 class: ClassInspectorView
Claus Gittinger <cg@exept.de>
parents: 3201
diff changeset
   114