BrowserView.st
author tz
Fri, 13 Mar 1998 22:07:42 +0100
changeset 1511 45832de7f112
parent 1510 ec5dd071b570
child 1512 ed3ac00a74c0
permissions -rw-r--r--
method icons revised and completed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     1
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
     3
	      All Rights Reserved
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     4
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
f2c56efa3599 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    11
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    12
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    13
StandardSystemView subclass:#BrowserView
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    14
	instanceVariableNames:'classCategoryListView classListView methodCategoryListView
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    15
		methodListView classMethodListView codeView classToggle
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    16
		instanceToggle currentNamespace currentClassCategory
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    17
		currentClassHierarchy currentClass currentMethodCategory
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    18
		currentMethod currentSelector showInstance actualClass fullClass
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    19
		lastMethodCategory aspect variableListView fullProtocol
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    20
		lockUpdates autoSearch myLabel acceptClass lastSourceLogMessage
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
    21
		lastCategory lastModule lastPackage lastMethodMoveClass
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
    22
		namespaceList allNamespaces gotClassList classList selectorList
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    23
		showAllNamespaces classInstVarsInVarList'
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    24
	classVariableNames:'CheckForInstancesWhenRemovingClasses RememberAspect DefaultIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    25
		StopIcon TraceIcon TimeIcon CanvasIcon MenuIcon ImageIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
    26
		TabListIcon HierarchicalListIcon TableColumnsIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    27
		ShowResourceIcons'
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    28
	poolDictionaries:''
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    29
	category:'Interface-Browsers'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    30
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    31
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
    32
!BrowserView class methodsFor:'documentation'!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    33
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    34
copyright
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    35
"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    36
 COPYRIGHT (c) 1989 by Claus Gittinger
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    37
	      All Rights Reserved
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    38
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    39
 This software is furnished under a license and may be used
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    40
 only in accordance with the terms of that license and with the
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    41
 inclusion of the above copyright notice.   This software may not
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    42
 be provided or otherwise made available to, or used by, any
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    43
 other person.  No title to or ownership of the software is
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    44
 hereby transferred.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    45
"
165
df29ee4514c1 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 161
diff changeset
    46
!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    47
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    48
documentation
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    49
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    50
    this class implements all kinds of class browsers.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    51
    Typically, it is started with 'SystemBrowser open', but there are many other 
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    52
    startup messages, to launch special browsers.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    53
    See the categories 'startup' and 'special search startup' in the classes
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    54
    protocol.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    55
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    56
    Alse, see the extra document 'doc/misc/sbrowser.doc' or the HTML online doc
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    57
    for how to use the browser.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    58
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    59
    written winter 89 by claus
106
claus
parents: 105
diff changeset
    60
claus
parents: 105
diff changeset
    61
    Notice: SystemBrowser is currently being rewritten to be an instance
claus
parents: 105
diff changeset
    62
    of ApplicationModel - this transition is not yet complete and you see
claus
parents: 105
diff changeset
    63
    here intermediate versions of BrowserView/SystemBrowser. 
claus
parents: 105
diff changeset
    64
    All action is (currently) still done here in BrowserView, although the
claus
parents: 105
diff changeset
    65
    SystemBrowsers class methods are used to startup a browser.
claus
parents: 105
diff changeset
    66
    This will certainly change ...
509
8ccb7c3d6726 documentation
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
    67
8ccb7c3d6726 documentation
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
    68
    [author:]
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    69
	Claus Gittinger
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    70
"
201
3331e9abc9f0 more features & checkin from browser
Claus Gittinger <cg@exept.de>
parents: 199
diff changeset
    71
! !
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    72
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
    73
!BrowserView class methodsFor:'initialization'!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    75
initialize
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    76
    "Browser configuration;
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    77
     (values can be changed from your private startup file)"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    78
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    79
    ShowResourceIcons := true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    80
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    81
    "
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    82
     setting this to false, the removeClass function will remove
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    83
     classes WITHOUT checking for instances. Otherwise,
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    84
     it will check and let you confirm in case there are instances.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    85
     Checking for instances may be a bit time consuming, though.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    86
     The default is true - therefore, it will check
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    87
    "
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    88
    CheckForInstancesWhenRemovingClasses := true.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    89
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    90
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    91
     setting this to true makes the browser remember the aspect shown
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    92
     in the classList and show this aspect when a new class is selected.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    93
     If false, it always switches to the classes definition
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    94
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    95
    RememberAspect := true.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    96
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    97
    "
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    98
     CheckForInstancesWhenRemovingClasses := true
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    99
     CheckForInstancesWhenRemovingClasses := false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   100
     RememberAspect := true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   101
     RememberAspect := false
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   102
     ShowResourceIcons := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   103
     ShowResourceIcons := false
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   104
    "
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   105
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   106
    "Created: / 23.11.1995 / 11:35:58 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   107
    "Modified: / 27.10.1997 / 17:34:25 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   108
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   109
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
   110
!BrowserView class methodsFor:'cleanup'!
486
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   111
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   112
lowSpaceCleanup
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   113
    DefaultIcon := StopIcon := TraceIcon := TimeIcon := nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   114
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   115
    "Created: / 18.4.1996 / 16:46:40 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   116
    "Modified: / 25.10.1997 / 19:30:32 / cg"
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   117
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   118
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   119
preSnapshot
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   120
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   121
    StopIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   122
    TraceIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   123
    TimeIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   124
    CanvasIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   125
    MenuIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   126
    ImageIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   127
    TabListIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   128
    HierarchicalListIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   129
    TableColumnsIcon :=
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   130
    nil
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   131
486
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   132
! !
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   133
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
   134
!BrowserView class methodsFor:'defaults'!
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   135
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   136
defaultIcon
1149
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   137
    "return the browsers default window icon"
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   138
1288
9f6e0e8c3ab8 fixed icon
Claus Gittinger <cg@exept.de>
parents: 1282
diff changeset
   139
    <resource: #style (#SYSTEMBROWSER_ICON #SYSTEMBROWSER_ICON_FILE)>
1149
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   140
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   141
    |nm i|
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   142
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   143
    (i := DefaultIcon) isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   144
	i := self classResources at:'SYSTEMBROWSER_ICON' default:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   145
	i isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   146
	    nm := ClassResources at:'SYSTEMBROWSER_ICON_FILE' default:'SBrowser.xbm'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   147
	    i := Image fromFile:nm resolution:100.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   148
	    i isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   149
		i := Image fromFile:('bitmaps/' , nm) resolution:100.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   150
		i isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   151
		    i := StandardSystemView defaultIcon
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   152
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   153
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   154
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   155
	i notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   156
	    DefaultIcon := i := i on:Display
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   157
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   158
    ].
1149
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   159
    ^ i
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   160
1083
dee24d07aa75 allow icon to be specified in resource file.
Claus Gittinger <cg@exept.de>
parents: 1080
diff changeset
   161
    "Modified: 19.3.1997 / 20:48:34 / ca"
1288
9f6e0e8c3ab8 fixed icon
Claus Gittinger <cg@exept.de>
parents: 1282
diff changeset
   162
    "Modified: 15.8.1997 / 15:29:16 / cg"
1126
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   163
!
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   164
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   165
fileImageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   166
    "answer an icon to mark file-loading image  methods"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   167
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   168
    ^ self imageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   169
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   170
    "Created: / 29.10.1997 / 03:32:43 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   171
!
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   172
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   173
programMenuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   174
    "answer an icon to mark programmed-menu (menuSpec) methods"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   175
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   176
    ^ self menuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   177
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   178
    "Created: / 28.10.1997 / 13:40:49 / cg"
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   179
! !
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   180
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   181
!BrowserView class methodsFor:'image specs'!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   182
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   183
canvasIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   184
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   185
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   186
    ImageEditor openOnClass:self andSelector:#canvasIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   187
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   188
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   189
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   190
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   191
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   192
        constantNamed:#'BrowserView canvasIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   193
        ifAbsentPut:[(Depth4Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@.;.;.;.0@@@@@@@@@@C.;/C.;/@@9&XP9&XP@NY&DNY&D@C&Y!!C&Y!!@@9&XP9&XP@NY&DNY&D@C1DQC1DQ@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??#?>O?8??#?>O?8??#?>O?8??#?>@@a') ; yourself); yourself]!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   194
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   195
hierarchicalListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   196
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   197
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   198
    ImageEditor openOnClass:self andSelector:#hierarchicalListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   199
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   200
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   201
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   202
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   203
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   204
        constantNamed:#'BrowserView hierarchicalListIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   205
        ifAbsentPut:[(Depth8Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@A@PDA@PDA@PDAD@@@@P@BDA@PDA@PD@H@@@DP@A@PDA@PDA@B@@@AD@@@@@@@@@@P@ @@@Q@@DA@PDA@PD@H@@@DP@@@@@@@@@A@B@@@AD@@PDA@PDA@P@ @@@Q@B@@@@@@@@D@H@@A@B@ HB@ HB@ HB@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170 0 0 51 0 0 102 0 0 153 0 0 204 0 51 0 0 51 51 0 51 102 0 51 153 0 51 204 0 51 255 0 102 0 0 102 51 0 102 102 0 102 153 0 102 204 0 102 255 0 153 0 0 153 51 0 153 102 0 153 153 0 153 204 0 153 255 0 204 0 0 204 51 0 204 102 0 204 153 0 204 204 0 204 255 0 255 51 0 255 102 0 255 153 0 255 204 51 0 0 51 0 51 51 0 102 51 0 153 51 0 204 51 0 255 51 51 0 51 51 51 51 51 102 51 51 153 51 51 204 51 51 255 51 102 0 51 102 51 51 102 102 51 102 153 51 102 204 51 102 255 51 153 0 51 153 51 51 153 102 51 153 153 51 153 204 51 153 255 51 204 0 51 204 51 51 204 102 51 204 153 51 204 204 51 204 255 51 255 0 51 255 51 51 255 102 51 255 153 51 255 204 51 255 255 102 0 0 102 0 51 102 0 102 102 0 153 102 0 204 102 0 255 102 51 0 102 51 51 102 51 102 102 51 153 102 51 204 102 51 255 102 102 0 102 102 51 102 102 102 102 102 153 102 102 204 102 102 255 102 153 0 102 153 51 102 153 102 102 153 153 102 153 204 102 153 255 102 204 0 102 204 51 102 204 102 102 204 153 102 204 204 102 204 255 102 255 0 102 255 51 102 255 102 102 255 153 102 255 204 102 255 255 153 0 0 153 0 51 153 0 102 153 0 153 153 0 204 153 0 255 153 51 0 153 51 51 153 51 102 153 51 153 153 51 204 153 51 255 153 102 0 153 102 51 153 102 102 153 102 153 153 102 204 153 102 255 153 153 0 153 153 51 153 153 102 153 153 153 153 153 204 153 153 255 153 204 0 153 204 51 153 204 102 153 204 153 153 204 204 153 204 255 153 255 0 153 255 51 153 255 102 153 255 153 153 255 204 153 255 255 204 0 0 204 0 51 204 0 102 204 0 153 204 0 204 204 0 255 204 51 0 204 51 51 204 51 102 204 51 153 204 51 204 204 51 255 204 102 0 204 102 51 204 102 102 204 102 153 204 102 204 204 102 255 204 153 0 204 153 51 204 153 102 204 153 153 204 153 204 204 153 255 204 204 0 204 204 51 204 204 102 204 204 153 204 204 204 204 204 255 204 255 0 204 255 51 204 255 102 204 255 153 204 255 204 204 255 255 255 0 51 255 0 102 255 0 153 255 0 204 255 51 0 255 51 51 255 51 102 255 51 153 255 51 204 255 51 255 255 102 0 255 102 51 255 102 102 255 102 153 255 102 204 255 102 255 255 153 0 255 153 51 255 153 102 255 153 153 255 153 204 255 153 255 255 204 0 255 204 51 255 204 102 255 204 153 255 204 204 255 204 255 255 255 51 255 255 102 255 255 153 255 255 204 7 7 7 17 17 17 28 28 28 38 38 38 48 48 48 58 58 58 66 66 66 76 76 76 86 86 86 96 96 96 107 107 107 117 117 117 135 135 135 145 145 145 155 155 155 165 165 165 175 175 175 186 186 186 193 193 193 214 214 214 224 224 224 234 234 234 244 244 244]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??#?>O?8??#?>O?8??#?>O?8??#?>@@a') ; yourself); yourself]!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   206
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   207
imageIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   208
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   209
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   210
    ImageEditor openOnClass:self andSelector:#imageIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   211
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   212
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   213
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   214
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   215
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   216
        constantNamed:#'BrowserView imageIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   217
        ifAbsentPut:[(Depth8Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@AYVU%YVU%YVU%YVP@@VPDAVU%YAPUYVU$@@E$A@U%YVPTEVU%Y@@AYVU%YVU$EAPUYVP@@VU%YVU$EAPTBVU$@@E%YVU%YAPTBVU%Y@@@C@0LC@0LE@ LC@0@@@0LC@0LCAPHC@0L@@@LC@0LC@0LC@0LC@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 0 0 127 0 255 153 0 204 255 255 51 153 153 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 0 255 127 0 0 0 0 127 0 127 127 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170 0 0 51 0 0 102 0 0 153 0 0 204 0 51 0 0 51 51 0 51 102 0 51 153 0 51 204 0 51 255 0 102 0 0 102 51 0 102 102 0 102 153 0 102 204 0 102 255 0 153 0 0 153 51 0 153 102 0 153 153 0 153 204 0 153 255 0 204 0 0 204 51 0 204 102 0 204 153 0 204 204 0 204 255 0 255 51 0 255 102 0 255 153 0 255 204 51 0 0 51 0 51 51 0 102 51 0 153 51 0 204 51 0 255 51 51 0 51 51 51 51 51 102 51 51 153 51 51 204 51 51 255 51 102 0 51 102 51 51 102 102 51 102 153 51 102 204 51 102 255 51 153 0 51 153 51 51 153 102 51 153 204 51 153 255 51 204 0 51 204 51 51 204 102 51 204 153 51 204 204 51 204 255 51 255 0 51 255 51 51 255 102 51 255 153 51 255 204 51 255 255 102 0 0 102 0 51 102 0 102 102 0 153 102 0 204 102 0 255 102 51 0 102 51 51 102 51 102 102 51 153 102 51 204 102 51 255 102 102 0 102 102 51 102 102 102 102 102 153 102 102 204 102 102 255 102 153 0 102 153 51 102 153 102 102 153 153 102 153 204 102 153 255 102 204 0 102 204 51 102 204 102 102 204 153 102 204 204 102 204 255 102 255 0 102 255 51 102 255 102 102 255 153 102 255 204 102 255 255 153 0 0 153 0 51 153 0 102 153 0 153 153 0 204 153 0 255 153 51 0 153 51 51 153 51 102 153 51 153 153 51 204 153 51 255 153 102 0 153 102 51 153 102 102 153 102 153 153 102 204 153 102 255 153 153 0 153 153 51 153 153 102 153 153 153 153 153 204 153 153 255 153 204 0 153 204 51 153 204 102 153 204 153 153 204 204 153 204 255 153 255 0 153 255 51 153 255 102 153 255 153 153 255 204 153 255 255 204 0 0 204 0 51 204 0 102 204 0 153 204 0 204 204 0 255 204 51 0 204 51 51 204 51 102 204 51 153 204 51 204 204 51 255 204 102 0 204 102 51 204 102 102 204 102 153 204 102 204 204 102 255 204 153 0 204 153 51 204 153 102 204 153 153 204 153 204 204 153 255 204 204 0 204 204 51 204 204 102 204 204 153 204 204 204 204 204 255 204 255 0 204 255 51 204 255 102 204 255 153 204 255 204 255 0 51 255 0 102 255 0 153 255 0 204 255 51 0 255 51 51 255 51 102 255 51 153 255 51 204 255 51 255 255 102 0 255 102 51 255 102 102 255 102 153 255 102 204 255 102 255 255 153 51 255 153 102 255 153 153 255 153 204 255 153 255 255 204 0 255 204 51 255 204 102 255 204 153 255 204 204 255 204 255 255 255 51 255 255 102 255 255 153 255 255 204 7 7 7 17 17 17 28 28 28 38 38 38 48 48 48 58 58 58 66 66 66 76 76 76 86 86 86 96 96 96 107 107 107 117 117 117 135 135 135 145 145 145 155 155 155 165 165 165 175 175 175 186 186 186 193 193 193 214 214 214 224 224 224 234 234 234 244 244 244]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??#?>O?8??#?>O?8??#?>O?8??#?>@@a') ; yourself); yourself]!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   218
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   219
menuIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   220
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   221
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   222
    ImageEditor openOnClass:self andSelector:#menuIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   223
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   224
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   225
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   226
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   227
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   228
        constantNamed:#'BrowserView menuIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   229
        ifAbsentPut:[(Depth2Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@AUUU DZ**(@@@@@@AUUU @Z**(8@@@@@AUUU @Z**(@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 170 170 170 255 0 0]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??#?>O?8??#?>O?8??#?>O?8?? @@@@a') ; yourself); yourself]!
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   230
1126
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   231
stopIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   232
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   233
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   234
    ImageEditor openOnClass:self andSelector:#stopIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   235
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   236
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   237
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   238
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   239
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   240
        constantNamed:#'BrowserView stopIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   241
        ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@B*(@@J**(@J*V* J*%**B*)Z*"**V****%****)Z****V****%*******(****(J*%**@*)Z*@B***@@B*(@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'A>@_>C?<_?9??/???????????????7?>_?8??A?8A>@b') ; yourself); yourself]!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   242
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   243
tabListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   244
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   245
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   246
    ImageEditor openOnClass:self andSelector:#tabListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   247
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   248
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   249
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   250
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   251
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   252
        constantNamed:#'BrowserView tabListIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   253
        ifAbsentPut:[(Depth4Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@G0; ; @@@A<@@@@@@A@_??????@@G?????? DA??????8@@_?????>C@G?????? @A??????8OC>;.;.;.@@@@@@@@@@Db') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'?8C?0O?0??#?>O?8??#?>O?8??#?>@@a') ; yourself); yourself]!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   254
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   255
tableColumnsIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   256
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   257
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   258
    ImageEditor openOnClass:self andSelector:#tableColumnsIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   259
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   260
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   261
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   262
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   263
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   264
        constantNamed:#'BrowserView tableColumnsIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   265
        ifAbsentPut:[(Depth4Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@DQDQDQG0@A<O<O<O8A@P@@@@@N@@G0?0?0? DA@@@@@@8@@_C?C?C>C@D@@@@@C @A<O<O<O8OC>;.;.;.@@@@@@@@@@Db') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 255 0 255 0 255 127 0 0 0 127 0 0 0 127 0 127 127 127 127 0 127 0 127 127 127 127 170 170 170]; mask:((Depth1Image new) width: 13; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??#?>O?8??#?>O?8??#?>O?8??#?>@@a') ; yourself); yourself]!
1126
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   266
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
   267
timeIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   268
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   269
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   270
    ImageEditor openOnClass:self andSelector:#timeIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   271
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   272
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   273
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   274
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   275
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   276
        constantNamed:#'BrowserView timeIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   277
        ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@FXA?8O''0>_G9>_''8>AC8D_?9??#?<O?0_>@Y @@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'A>@_>C?<_?9??/???????????????7?>_?8??A?8A>@b') ; yourself); yourself]!
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
   278
1126
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   279
traceIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   280
    "Generated by the Image Editor"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   281
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   282
    ImageEditor openOnClass:self andSelector:#traceIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   283
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   284
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   285
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   286
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   287
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   288
        constantNamed:#'BrowserView traceIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   289
        ifAbsentPut:[(Depth2Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@B**** ****(B%UU(@)UUZ@B%UZ@@)UV @B%V @@)U(@@B%(@@@)Z@@@B*@@@@* @@@B @@@@(@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 0 255 0]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@A??''?>O?0??A?8G? O<@?0A>@G8@O@@<@A @F@@@@b') ; yourself); yourself]! !
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   290
132
claus
parents: 131
diff changeset
   291
!BrowserView methodsFor:'change & update'!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   292
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   293
delayedUpdate:something with:someArgument from:changedObject
273
0fc84937f240 check oldMethod in method-update notification
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   294
    |list selector oldMethod|
93
claus
parents: 92
diff changeset
   295
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   296
    (changedObject == Smalltalk) ifTrue:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   297
        something == #methodInClassRemoved ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   298
            "/ ignored; I am dependent of individual class update messages
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   299
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   300
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   301
        something == #methodInClass ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   302
            "/ ignored; I am dependent of individual class update messages
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   303
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   304
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   305
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   306
        self updateNamespaceList.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   307
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   308
        something == #newClass ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   309
            (currentClass notNil
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   310
            and:[someArgument name = currentClass name]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   311
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   312
                 the current class has changed
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   313
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   314
                (aspect == #definition
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   315
                and:[codeView modified not]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   316
                    self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   317
                    self classSelectionChanged.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   318
                ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   319
                    self updateClassListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   320
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   321
                currentClass wasAutoloaded ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   322
                    self warnLabel:'the selected class has changed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   323
                ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   324
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   325
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   326
            ((someArgument category = currentClassCategory)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   327
            or:[currentClassCategory notNil
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   328
                and:[currentClassCategory startsWith:$*]]) ifTrue:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   329
                self updateClassListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   330
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   331
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   332
            someArgument category ~= currentClassCategory ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   333
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   334
                 category new ?
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   335
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   336
                (classCategoryListView notNil 
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   337
                and:[(list := classCategoryListView list) notNil
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   338
                and:[(list includes:someArgument category) not]])
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   339
                ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   340
                    self updateClassCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   341
                ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   342
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   343
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   344
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   345
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   346
        something == #classRemove ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   347
            someArgument == currentClass ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   348
                self warnLabel:'the selected class was removed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   349
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   350
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   351
            " fall into general update "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   352
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   353
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   354
        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   355
         any other (unknown) change 
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   356
         with the Smalltalk dictionary ...
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   357
        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   358
        self updateClassCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   359
        self updateClassListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   360
        ^ self
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   361
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   362
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   363
    changedObject isBehavior ifTrue:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   364
        "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   365
        "/ its a class, that has changed
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   366
        "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   367
        fullClass ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   368
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   369
            "/ full-class browser ...
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   370
            "/ (must check for both class and metaclass changes)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   371
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   372
            (currentClass == changedObject
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   373
            or:[currentClass class == changedObject]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   374
                self warnLabel:'class was changed - the code shown may be obsolete'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   375
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   376
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   377
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   378
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   379
        (currentClass notNil 
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   380
        and:[changedObject name = currentClass name]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   381
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   382
            "/ its the current class that has changed
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   383
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   384
            ((something == #methodDictionary)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   385
            or:[something == #methodTrap
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   386
            or:[something == #methodPrivacy]]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   387
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   388
                "/ new feature: changeArg may be an array consisting of
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   389
                "/ the selector and the oldMethod
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   390
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   391
                someArgument isArray ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   392
                    oldMethod := someArgument at:2.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   393
                    selector := someArgument at:1.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   394
                ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   395
                    selector := someArgument
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   396
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   397
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   398
                (selector isSymbol) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   399
                    |changedMethod s1 s2 oldMethodSelection oldMethodCategorySelection|
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   400
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   401
                    "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   402
                     the method with selector was changed or removed
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   403
                    "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   404
                    methodListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   405
                        oldMethodSelection := methodListView selection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   406
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   407
                    (something ~~ #methodTrap
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   408
                    and:[something ~~ #methodPrivacy]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   409
                        methodCategoryListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   410
                            oldMethodCategorySelection := methodCategoryListView selection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   411
                            self updateMethodCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   412
                            methodCategoryListView selection:oldMethodCategorySelection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   413
                        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   414
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   415
                    self updateMethodListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   416
                    methodListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   417
                        methodListView setSelection:oldMethodSelection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   418
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   419
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   420
                    classMethodListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   421
                        oldMethodSelection := classMethodListView selection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   422
                        self updateMethodCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   423
                        classMethodListView selection:oldMethodSelection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   424
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   425
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   426
                    selector == currentSelector ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   427
                        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   428
                         special care here: the currently shown method has been
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   429
                         changed somehow in another browser (or via fileIn)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   430
                        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   431
                        changedMethod := currentClass compiledMethodAt:currentSelector.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   432
                        changedMethod isNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   433
                            self warnLabel:'the method shown was removed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   434
                            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   435
                        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   436
                        "compare the source codes"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   437
                        currentMethod notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   438
                            s1 := changedMethod source asString asCollectionOfLines copy.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   439
                            [s1 last isEmpty] whileTrue:[s1 removeLast].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   440
                            s2 := codeView contents  asCollectionOfLines copy.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   441
                            [s2 last isEmpty] whileTrue:[s2 removeLast].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   442
                            s1 = s2 ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   443
                                self warnLabel:'method has changed - the code shown may be obsolete'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   444
                            ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   445
                        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   446
                        ^ self    
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   447
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   448
                ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   449
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   450
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   451
            something == #comment ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   452
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   453
                 the class has changed its comment; we dont care, except if
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   454
                 currently showing the comment
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   455
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   456
                aspect == #comment ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   457
                    codeView modified ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   458
                        self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   459
                        self updateCodeView
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   460
                    ] ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   461
                        self warnLabel:'the comment has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   462
                    ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   463
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   464
                self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   465
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   466
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   467
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   468
            something == #definition ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   469
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   470
                 the class has changed its definition.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   471
                 Warn, except if showing a method.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   472
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   473
                aspect notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   474
                    codeView modified ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   475
                        self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   476
                        self updateCodeView
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   477
                    ] ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   478
                        self warnLabel:'the classes definition has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   479
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   480
                    ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   481
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   482
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   483
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   484
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   485
            "/ if I am not showing code update if unmodified,
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   486
            "/ warn if modified
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   487
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   488
            aspect notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   489
                codeView modified ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   490
                    self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   491
                    self updateCodeView
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   492
                ] ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   493
                    self warnLabel:'the classes has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   494
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   495
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   496
            ].
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
   497
        
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   498
            "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   499
             get the class again - in case of a changed class definition,
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   500
             we are otherwise refering to the obsolete old class
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   501
            "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   502
            self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   503
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   504
            self updateMethodCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   505
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   506
            "dont update codeView ...."
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   507
            "self update"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   508
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   509
            self warnLabel:'the class has changed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   510
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   511
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   512
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   513
        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   514
         any other class has changed (but not its organization, since
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   515
         that is caught in the above case).
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   516
         We are not interested in it - except, if showing fullProtocol
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   517
         or hierarchy ...
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   518
        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   519
        currentClassHierarchy notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   520
            fullProtocol ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   521
                (currentClass isSubclassOf:changedObject) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   522
                    self warnLabel:'some superclass has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   523
                ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   524
            ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   525
                ((currentClass isSubclassOf:changedObject)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   526
                or:[changedObject isSubclassOf:currentClass]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   527
                    self warnLabel:'some superclass has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   528
                ]                
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   529
            ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   530
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   531
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   532
        ^ self
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   533
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   534
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   535
    (changedObject isMethod) ifTrue:[
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   536
    ]
236
d94505a6f697 release currentMethod when compiling or change notification arrives
Claus Gittinger <cg@exept.de>
parents: 229
diff changeset
   537
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   538
    "Created: / 4.1.1997 / 13:54:00 / cg"
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   539
    "Modified: / 5.3.1998 / 02:46:01 / cg"
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   540
!
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   541
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   542
refetchClass
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   543
    "after a class definition change in another browser,
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   544
     this is sent to update (otherwise, we'd still refer to the obsolete class)"
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   545
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   546
"/    currentClass := Smalltalk at:(currentClass name asSymbol).
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   547
    self switchToClass:(Smalltalk at:(currentClass name asSymbol)).
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   548
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   549
"/    showInstance ifTrue:[
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   550
"/        actualClass := currentClass
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   551
"/    ] ifFalse:[
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   552
"/        actualClass := currentClass class
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   553
"/    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   554
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   555
    "Created: 8.2.1996 / 13:22:27 / cg"
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   556
    "Modified: 8.2.1996 / 13:40:18 / cg"
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   557
!
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   558
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   559
update:something with:someArgument from:changedObject
909
ccbc84af922c oops - dont delay update if occurring during startup;
Claus Gittinger <cg@exept.de>
parents: 908
diff changeset
   560
    |argList sensor|
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   561
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   562
    (changedObject == ObjectMemory) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   563
	(something == #earlyRestart 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   564
	or:[something == #restarted
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   565
	or:[something == #returnFromSnapshot]]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   566
	    "/ those are to be ignored.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   567
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   568
	]
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   569
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   570
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   571
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   572
    "/ avoid update/warn after my own changes
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   573
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   574
    lockUpdates == true ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   575
	^ self
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   576
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   577
927
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   578
    "/
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   579
    "/ quick hack: delayed update fails, if I autoload
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   580
    "/ LabelAndIcon in the update, and another browser
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   581
    "/ gets a chance to do an update as well, trying to
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   582
    "/ access the (temporarily nil) LabelAndIcon.
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   583
    "/ To get that beast out, do it synchronous for now.
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   584
    "/ also do it immediately, if not yet realized (no sensor)
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   585
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   586
    (LabelAndIcon isLoaded not
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   587
    or:[(sensor := self sensor) isNil]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   588
	^ self delayedUpdate:something with:someArgument from:changedObject
909
ccbc84af922c oops - dont delay update if occurring during startup;
Claus Gittinger <cg@exept.de>
parents: 908
diff changeset
   589
    ].
ccbc84af922c oops - dont delay update if occurring during startup;
Claus Gittinger <cg@exept.de>
parents: 908
diff changeset
   590
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   591
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   592
    "/ if such an update is already in the queue, ignore it.
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   593
    "/ Otherwise push it as an event, to be handled when I am back
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   594
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   595
    argList := Array with:something 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   596
		     with:someArgument 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   597
		     with:changedObject.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   598
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   599
    (sensor 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   600
	hasEvent:#delayedUpdate:with:from:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   601
	for:self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   602
	withArguments:argList) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   603
	^ self
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   604
    ].
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   605
    sensor
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   606
	pushUserEvent:#delayedUpdate:with:from:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   607
	for:self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   608
	withArguments:argList
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   609
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   610
    "Modified: 26.3.1997 / 18:29:51 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   611
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   612
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   613
!BrowserView methodsFor:'class category list menu'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   614
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   615
classCategoryClone
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   616
    "open a new SystemBrowser showing the same method as I do"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   617
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   618
    SystemBrowser openInClass:actualClass selector:currentSelector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   619
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   620
    "Created: 14.9.1995 / 10:55:20 / claus"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   621
    "Modified: 14.9.1995 / 10:59:31 / claus"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   622
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   623
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   624
classCategoryFileOut
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   625
    "create a file 'categoryName.st' consisting of all classes in current category
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   626
     into the current projects defaultDirectory."
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   627
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   628
    self classCategoryFileOutAsk:false
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   629
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   630
    "Modified: 11.10.1997 / 16:47:46 / cg"
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   631
!
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   632
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   633
classCategoryFileOutAs
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   634
    "create a file consisting of all classes in the current category
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   635
     into a file as user-specified."
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   636
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   637
    self classCategoryFileOutAsk:true
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   638
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   639
    "Modified: 11.10.1997 / 16:38:56 / cg"
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   640
    "Created: 11.10.1997 / 16:44:35 / cg"
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   641
!
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   642
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   643
classCategoryFileOutAsk:doAsk
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   644
    "create a file 'categoryName' consisting of all classes in current category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   645
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   646
    |aStream fileName classesToInitialize|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   647
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   648
    self checkClassCategorySelected ifFalse:[^ self].
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   649
    (currentClassCategory startsWith:$*) ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   650
        self warn:(resources string:'try a real category').
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   651
        ^ self
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   652
    ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   653
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   654
    fileName := currentClassCategory asString , '.st'.
1316
3fefcc2e9b16 mostly filename changes
Claus Gittinger <cg@exept.de>
parents: 1313
diff changeset
   655
    fileName replaceAll:Character space with:$_.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   656
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   657
    self withBusyCursorDo:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   658
        |saveName fileBox dir|
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   659
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   660
        doAsk ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   661
            fileBox := FileSelectionBox
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   662
                            title:(resources string:'fileOut %1 as:' with:currentClassCategory)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   663
                            okText:(resources string:'fileOut')
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   664
                            abortText:(resources string:'cancel')
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   665
                            action:[:fileName |saveName := fileName.].
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   666
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   667
            fileBox initialText:fileName.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   668
            dir := FileSelectionBox lastFileSelectionDirectory.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   669
            dir isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   670
                "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   671
                 this test allows a smalltalk to be built without Projects/ChangeSets
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   672
                "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   673
                Project notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   674
                    dir := Project currentProjectDirectory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   675
                ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   676
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   677
            dir notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   678
                fileBox directory:dir.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   679
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   680
            fileBox showAtPointer.
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   681
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   682
            fileBox destroy.
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   683
            fileBox := nil.
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   684
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   685
            saveName isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   686
                ^ self
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   687
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   688
            saveName isEmpty ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   689
                self warn:'bad name given'.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   690
                ^ self
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   691
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   692
            FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   693
            fileName := saveName.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   694
        ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   695
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   696
             this test allows a smalltalk to be built without Projects/ChangeSets
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   697
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   698
            Project notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   699
                fileName := Project currentProjectDirectory asFilename constructString: fileName.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   700
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   701
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   702
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   703
        "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   704
         if file exists, save original in a .sav file
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   705
        "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   706
        fileName asFilename exists ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   707
            self busyLabel:'saving existing %1' with:fileName.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   708
            fileName asFilename copyTo:(fileName , '.sav')
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   709
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   710
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   711
        aStream := FileStream newFileNamed:fileName.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   712
        aStream isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   713
            self warn:'cannot create: %1' with:fileName
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   714
        ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   715
            self busyLabel:'writing: %1' with:fileName.
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   716
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   717
            classesToInitialize := OrderedCollection new.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   718
            self allClassesInCategory:currentClassCategory inOrderDo:[:aClass |
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   719
                aClass isPrivate ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   720
                    (self listOfNamespaces includesIdentical:aClass nameSpace)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   721
                    ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   722
                        self busyLabel:'writing: %1' with:fileName.
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   723
                        aClass fileOutOn:aStream withTimeStamp:true withInitialize:false.
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   724
                        (aClass class implements:#initialize) ifTrue:[
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   725
                            classesToInitialize add:aClass
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   726
                        ].
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   727
                        aStream cr.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   728
                    ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   729
                ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   730
            ].
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   731
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   732
            "/ all class-inits at the end
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   733
            "/ (this makes certain, that all classes have been loaded
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   734
            "/  before possibly used/needed in an initializer
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   735
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   736
            classesToInitialize do:[:aClass |
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   737
                aClass printClassNameOn:aStream. aStream nextPutAll:' initialize'.
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   738
                aStream nextPutChunkSeparator.
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   739
                aStream cr
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   740
            ].
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   741
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   742
            aStream close.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   743
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   744
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   745
    self normalLabel.
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
   746
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   747
    "Created: / 11.10.1997 / 16:38:29 / cg"
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   748
    "Modified: / 13.3.1998 / 15:24:12 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   749
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   750
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   751
classCategoryFileOutBinaryEach
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   752
    "fileOut each class in the current category as binary bytecode."
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   753
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   754
    |mode|
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   755
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   756
    (currentClassCategory startsWith:$*) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   757
        self warn:(resources string:'try a real category').
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   758
        ^ self
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   759
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   760
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   761
    mode := Dialog choose:(resources string:'save including sources ?')
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   762
                   labels:(resources array:#('cancel' 'discard' 'by file reference' 'include source'))
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   763
                   values:#(nil #discard #reference #keep)
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   764
                   default:#keep.
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   765
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   766
    mode isNil ifTrue:[^ self].
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   767
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   768
    self withBusyCursorDo:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   769
        self allClassesInCategory:currentClassCategory do:[:aClass |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   770
            aClass isPrivate ifFalse:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   771
                (self listOfNamespaces includesIdentical:aClass nameSpace)
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   772
                ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   773
                    self busyLabel:'saving binary of: %1' with:aClass name.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   774
                    Class fileOutErrorSignal handle:[:ex |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   775
                        self warn:'cannot create: %1' with:ex parameter.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   776
                        ex return.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   777
                    ] do:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   778
                        aClass binaryFileOutWithSourceMode:mode.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   779
                    ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   780
                ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   781
            ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   782
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   783
        self normalLabel.
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   784
    ]
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   785
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   786
    "Created: / 25.1.1996 / 17:27:45 / cg"
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   787
    "Modified: / 5.3.1998 / 02:45:30 / cg"
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   788
!
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   789
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   790
classCategoryFileOutEach
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   791
    (currentClassCategory startsWith:$*) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   792
        self warn:(resources string:'try a real category').
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   793
        ^ self
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   794
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   795
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   796
    self withBusyCursorDo:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   797
        self allClassesInCategory:currentClassCategory do:[:aClass |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   798
            aClass isPrivate ifFalse:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   799
                (self listOfNamespaces includesIdentical:aClass nameSpace)
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   800
                ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   801
                    self busyLabel:'saving: %1' with:aClass name.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   802
                    Class fileOutErrorSignal handle:[:ex |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   803
                        self warn:'cannot fileOut: %1\(%2)' with:aClass name with:ex errorString.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   804
                        ex return.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   805
                    ] do:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   806
                        aClass fileOut
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   807
                    ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   808
                ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   809
            ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   810
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   811
        self normalLabel.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   812
    ]
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
   813
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   814
    "Modified: / 5.3.1998 / 02:45:38 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   815
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   816
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   817
classCategoryFindClass
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   818
    "find a class - and switch by default"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   819
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   820
    self classCategoryFindClassOpen:false
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   821
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   822
    "Modified: 15.1.1997 / 22:55:20 / cg"
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   823
!
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   824
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   825
classCategoryFindClassOpen:doOpen
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   826
    "common code for both opening a new browser on a class and
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   827
     to search for a class in this browser"
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   828
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   829
    |box openButton title open okText okText2|
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   830
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   831
    open := doOpen.
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   832
    open ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   833
	title := 'class to browse:'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   834
	okText := 'open'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   835
	okText2 := 'find here'.
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   836
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   837
	title := 'class to find:'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   838
	okText := 'find'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   839
	okText2 := 'open new'.
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   840
    ].
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   841
    box := self enterBoxForCodeSelectionTitle:title okText:okText.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   842
    box label:(resources string:'browse or search class').
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   843
    openButton := box addButton:(Button label:(resources string:okText2)) before:(box okButton).
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   844
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   845
    openButton action:[
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   846
       open := open not.
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   847
       box doAccept.
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   848
       box okPressed.
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   849
    ].
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   850
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   851
    box entryCompletionBlock:[:contents |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   852
	|s what m|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   853
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   854
	s := contents withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   855
	what := Smalltalk classnameCompletion:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   856
	box contents:what first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   857
	(what at:2) size ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   858
	    self beep
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   859
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   860
    ].
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   861
    box action:[:aString |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   862
			|brwsr|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   863
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   864
			open ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   865
			    brwsr := SystemBrowser open
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   866
			] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   867
			    brwsr := self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   868
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   869
			brwsr switchToClassNameMatching:aString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   870
		].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   871
    box showAtPointer
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   872
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
   873
    "Created: 1.6.1996 / 16:03:15 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   874
    "Modified: 15.1.1997 / 23:14:16 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   875
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   876
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   877
classCategoryFindMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   878
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   879
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   880
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   881
		listBoxForCodeSelectionTitle:'selector to find:' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   882
		okText:'find'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   883
    box label:(resources string:'find method').
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   884
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   885
    box entryCompletionBlock:[:contents |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   886
	|s what m|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   887
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   888
	s := contents withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   889
	box topView withWaitCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   890
	    what := Smalltalk selectorCompletion:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   891
	    box list:(what at:2).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   892
	    box contents:what first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   893
	    (what at:2) size ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   894
		self beep
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   895
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   896
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   897
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   898
    box action:[:aString | self switchToAnyMethod:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   899
    box showAtPointer
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   900
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   901
    "Modified: 30.8.1995 / 22:49:49 / claus"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   902
    "Modified: 15.1.1997 / 23:19:08 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   903
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   904
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   905
classCategoryMenu
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   906
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
   907
    <resource: #keyboard ( #Find #Cmdn) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   908
    <resource: #programMenu >
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   909
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   910
    |specialMenu m labels selectors shorties|
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   911
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   912
    currentClassCategory notNil ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   913
        labels :=  #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   914
                        'fileOut each binary ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   915
                        '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   916
                        'repository history ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   917
                        'validate class revisions'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   918
                        '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   919
                        'checkin each ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   920
                    ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   921
        selectors := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   922
                        classCategoryFileOutBinaryEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   923
                        nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   924
                        classCategoryRepositoryHistory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   925
                        classCategoryValidateClassRevisions
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   926
                        nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   927
                        classCategoryCheckinEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   928
                     ).
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   929
    ] ifFalse:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   930
        labels :=  #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   931
                        'repository history ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   932
                    ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   933
        selectors := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   934
                        classCategoryRepositoryHistory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   935
                     ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   936
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   937
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   938
    specialMenu := PopUpMenu 
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   939
                        labels:(resources array:labels)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   940
                        selectors:selectors
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   941
                        receiver:self.
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   942
710
fbf71e0089eb only show sourceCodeManager items, if its present
Claus Gittinger <cg@exept.de>
parents: 706
diff changeset
   943
    Smalltalk sourceCodeManager isNil ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   944
        specialMenu disableAll:#(classCategoryRepositoryHistory  
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   945
                                 classCategoryCheckinEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   946
                                 classCategoryValidateClassRevisions).
710
fbf71e0089eb only show sourceCodeManager items, if its present
Claus Gittinger <cg@exept.de>
parents: 706
diff changeset
   947
    ].
fbf71e0089eb only show sourceCodeManager items, if its present
Claus Gittinger <cg@exept.de>
parents: 706
diff changeset
   948
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   949
    device ctrlDown ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   950
        ^ specialMenu
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   951
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   952
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   953
    currentClassCategory isNil ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   954
        labels := #(
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
   955
"/                    'namespace ...'
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
   956
"/                    '-'
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   957
                    'clone'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   958
                    'open for class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   959
                    'spawn full class'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   960
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   961
                    'update'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   962
                    'find class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   963
                    'find method ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   964
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   965
                    'new class category ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   966
                    '='
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   967
                    'others'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   968
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   969
        selectors := #(
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
   970
"/                    namespaceDialog    
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
   971
"/                    nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   972
                    classCategoryClone
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   973
                    classCategoryOpenInClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   974
                    classCategorySpawnFullClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   975
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   976
                    classCategoryUpdate
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   977
                    classCategoryFindClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   978
                    classCategoryFindMethod
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   979
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   980
                    classCategoryNewCategory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   981
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   982
                    otherMenu
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   983
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   984
        shorties := #(
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
   985
"/                    nil
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
   986
"/                    nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   987
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   988
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   989
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   990
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   991
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   992
                    Find
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   993
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   994
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   995
                    Cmdn
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   996
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   997
                    #'Ctrl'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   998
                   ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   999
    ] ifFalse:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1000
        labels := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1001
                    'fileOut'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1002
                    'fileOut as ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1003
                    'fileOut each'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1004
                    'printOut' 
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1005
                    'printOut protocol'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1006
                    '-'
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1007
"/                    'namespace ...'
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1008
"/                    '-'
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1009
                    'clone'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1010
                    'open for class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1011
                    'SPAWN_CATEGORY'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1012
                    'spawn full class'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1013
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1014
                    'update'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1015
                    'find class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1016
                    'find method ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1017
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1018
                    'new class category ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1019
                    'rename ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1020
                    'remove'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1021
                    '='
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1022
                    'others'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1023
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1024
        selectors := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1025
                   classCategoryFileOut
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1026
                   classCategoryFileOutAs
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1027
                   classCategoryFileOutEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1028
                   classCategoryPrintOut
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1029
                   classCategoryPrintOutProtocol
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1030
                   nil
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1031
"/                   namespaceDialog    
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1032
"/                   nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1033
                   classCategoryClone
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1034
                    classCategoryOpenInClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1035
                   classCategorySpawn
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1036
                   classCategorySpawnFullClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1037
                   nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1038
                   classCategoryUpdate
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1039
                   classCategoryFindClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1040
                   classCategoryFindMethod
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1041
                   nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1042
                   classCategoryNewCategory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1043
                   classCategoryRename
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1044
                   classCategoryRemove
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1045
                   nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1046
                   otherMenu
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1047
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1048
        shorties := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1049
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1050
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1051
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1052
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1053
                    nil
1345
767926e950e1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1344
diff changeset
  1054
                    nil
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1055
"/                    nil
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1056
"/                    nil
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1057
                    Cmdc
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1058
                    Cmdo
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1059
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1060
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1061
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1062
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1063
                    Find
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1064
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1065
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1066
                    Cmdn
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1067
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1068
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1069
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1070
                    #'Ctrl'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1071
                   ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1072
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1073
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1074
    m := PopUpMenu 
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1075
                labels:(resources array:labels)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1076
                selectors:selectors
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1077
                accelerators:shorties.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  1078
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1079
    m subMenuAt:#otherMenu put:specialMenu.
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1080
    ^ m
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1081
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1082
    "Created: / 14.9.1995 / 10:50:17 / claus"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1083
    "Modified: / 27.10.1997 / 20:45:52 / cg"
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1084
    "Modified: / 16.1.1998 / 17:16:28 / stefan"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1085
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1086
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1087
classCategoryNewCategory
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1088
    |box|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1089
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1090
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1091
		enterBoxTitle:'name of new class category:' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1092
		okText:'create'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1093
		label:'create category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1094
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1095
    box action:[:aString |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1096
	|categories|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1097
	categories := classCategoryListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1098
	(categories includes:aString) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1099
	    categories add:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1100
	    categories sort.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1101
	    classCategoryListView setContents:categories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1102
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1103
	currentClassCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1104
	classCategoryListView setSelectElement:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1105
	self switchToClass:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1106
	actualClass := acceptClass := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1107
	self classCategorySelectionChanged
79
d78f92a07d5d *** empty log message ***
claus
parents: 74
diff changeset
  1108
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1109
    box showAtPointer
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1110
694
af82075139a1 Fix #classCategoryNewCategory and #classCategoryRemove.
Stefan Vogel <sv@exept.de>
parents: 677
diff changeset
  1111
    "Modified: 19.8.1996 / 18:25:41 / stefan"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1112
    "Modified: 15.1.1997 / 23:06:46 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1113
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1114
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  1115
classCategoryOpenInClass
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1116
    "find a class - and open a browser (by default)"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1117
599
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
  1118
    self classCategoryFindClassOpen:true
337a32f942da merged code for open-for-class and find-class; (and offer both options in the box)
Claus Gittinger <cg@exept.de>
parents: 587
diff changeset
  1119
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1120
    "Modified: 15.1.1997 / 22:55:32 / cg"
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  1121
!
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  1122
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1123
classCategoryPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1124
    |printStream|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1125
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  1126
    self allClassesInCategory:currentClassCategory inOrderDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1127
	(self listOfNamespaces includesIdentical:aClass nameSpace)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1128
	ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1129
	    printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1130
	    aClass printOutOn:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1131
	    printStream close
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1132
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1133
    ]
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  1134
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1135
    "Modified: 16.1.1997 / 20:22:23 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1136
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1137
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1138
classCategoryPrintOutProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1139
    |printStream|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1140
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1141
    Smalltalk allClassesInCategory:currentClassCategory inOrderDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1142
	(self listOfNamespaces includesIdentical:aClass nameSpace)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1143
	ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1144
	    printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1145
	    aClass printOutProtocolOn:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1146
	    printStream close
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1147
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1148
    ]
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1149
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1150
    "Modified: 16.1.1997 / 20:22:12 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1151
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1152
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1153
classCategoryRemove
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1154
    "remove all classes in current category"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1155
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1156
    |count overallCount t classesToRemove subclassesRemoved box t2|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1157
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1158
    self checkClassCategorySelected ifFalse:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1159
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1160
    classesToRemove := IdentitySet new.
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1161
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1162
    self allClassesInSelectedNamespacesDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1163
	aClass category = currentClassCategory ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1164
	    classesToRemove add:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1165
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1166
    ].
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1167
    subclassesRemoved := IdentitySet new.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1168
    classesToRemove do:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1169
	aClass allSubclassesDo:[:aSubclass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1170
	    (classesToRemove includes:aSubclass) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1171
		(subclassesRemoved includes:aSubclass) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1172
		    subclassesRemoved add:aSubclass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1173
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1174
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1175
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1176
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1177
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1178
    count := overallCount := classesToRemove size.
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1179
    t := resources string:'remove "%1" ?' with:currentClassCategory.
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1180
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1181
    count ~~ 0 ifTrue:[
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1182
       count == 1 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1183
	   t2 := '(with %1 class)'
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1184
       ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1185
	   t2 := '(with %1 classes)'
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1186
       ].
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1187
       t := t , '\' , (resources string:t2 with:count printString)
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1188
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1189
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1190
    count := subclassesRemoved size.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1191
    overallCount := overallCount + count.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1192
    count ~~ 0 ifTrue:[
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1193
       count == 1 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1194
	   t2 := '(and %1 subclass)'
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1195
       ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1196
	   t2 := '(and %1 subclasses)'
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1197
       ].
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1198
       t := t , '\' , (resources string:t2 with:count printString)
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1199
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1200
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1201
    t := t withCRs.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1202
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1203
    box := YesNoBox 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1204
	       title:t
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1205
	       yesText:(resources at:'remove')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1206
	       noText:(resources at:'abort').
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1207
    box label:(resources at:'remove category').
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1208
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1209
    overallCount ~~ 0 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1210
	"/ should we disable the returnDefault here ?
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1211
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1212
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1213
    box confirm ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1214
	"after querying user - do really remove classes in list1 and list2"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1215
	|keep idx|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1216
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1217
	keep := false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1218
	(subclassesRemoved asOrderedCollection
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1219
	 , classesToRemove asOrderedCollection) do:[:aClassToRemove |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1220
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1221
	    (CheckForInstancesWhenRemovingClasses not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1222
	     or:[aClassToRemove hasInstances not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1223
	     or:[self confirm:(resources string:'%1 has instances - remove anyway ?' with:aClassToRemove name)]] 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1224
	    ) ifTrue:[   
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1225
		aClassToRemove removeFromSystem
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1226
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1227
		keep := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1228
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1229
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1230
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1231
	self updateClassCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1232
	(classCategoryListView list includes:currentClassCategory) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1233
	    currentClassCategory := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1234
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1235
	self classCategorySelectionChanged.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1236
        
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1237
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1238
	self switchToClass:nil.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1239
"/        keep ifFalse:[
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1240
"/            idx := classCategoryListView list indexOf:currentClassCategory.
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1241
"/            currentClassCategory := nil.
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1242
"/            idx ~= 0 ifTrue:[
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1243
"/                classCategoryListView removeIndex:idx.
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1244
"/            ].
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1245
"/        ].
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  1246
    ].
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  1247
    box destroy
694
af82075139a1 Fix #classCategoryNewCategory and #classCategoryRemove.
Stefan Vogel <sv@exept.de>
parents: 677
diff changeset
  1248
af82075139a1 Fix #classCategoryNewCategory and #classCategoryRemove.
Stefan Vogel <sv@exept.de>
parents: 677
diff changeset
  1249
    "Modified: 19.8.1996 / 23:22:35 / stefan"
1280
54b004f16f9d use #removeFromSystem (to class) to remove a class.
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
  1250
    "Modified: 12.8.1997 / 02:24:01 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1251
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1252
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1253
classCategoryRename
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1254
    "launch an enterBox to rename current class category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1255
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1256
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1257
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1258
    self checkClassCategorySelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1259
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1260
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1261
		enterBoxTitle:(resources string:'rename category ''%1'' to:' with:currentClassCategory) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1262
		okText:'rename'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1263
		label:'rename category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1264
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1265
    box initialText:currentClassCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1266
    box action:[:aString | self renameCurrentClassCategoryTo:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1267
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1268
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1269
    "Modified: 15.1.1997 / 23:10:12 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1270
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1271
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1272
classCategorySpawn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1273
    "create a new SystemBrowser browsing current classCategory"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1274
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1275
    currentClassCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1276
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1277
	    SystemBrowser browseClassCategory:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1278
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1279
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1280
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1281
    "Modified: 18.8.1997 / 15:42:58 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1282
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1283
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1284
classCategorySpawnFullClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1285
    "create a new SystemBrowser browsing full class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1286
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1287
    |newBrowser|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1288
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1289
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1290
	newBrowser := SystemBrowser browseFullClasses
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1291
" "
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1292
	.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1293
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1294
	    newBrowser switchToClassNamed:(currentClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1295
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1296
" "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1297
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1298
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1299
    "Modified: 18.8.1997 / 15:43:01 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1300
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1301
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1302
classCategoryUpdate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1303
    "update class category list and dependants"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1304
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1305
    |oldClassName oldMethodCategory|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1306
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1307
    classCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1308
	self setListOfNamespaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1309
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1310
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1311
	    oldClassName := currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1312
	    (oldClassName endsWith:'-old') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1313
		oldClassName := oldClassName copyWithoutLast:4 "copyTo:(oldClassName size - 4)"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1314
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1315
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1316
	oldMethodCategory := currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1317
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1318
	classCategoryListView setContents:(self listOfAllClassCategories).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1319
	currentClassCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1320
	    classCategoryListView setSelectElement:currentClassCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1321
	    self classCategorySelectionChanged.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1322
	    oldClassName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1323
		classListView setSelectElement:oldClassName.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1324
		self switchToClass:(Smalltalk at:oldClassName asSymbol).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1325
		self classSelectionChanged.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1326
		oldMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1327
		    methodCategoryListView setSelectElement:oldMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1328
		    currentMethodCategory := oldMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1329
		    self methodCategorySelectionChanged
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1330
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1331
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1332
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1333
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1334
	self updateNamespaceList
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1335
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1336
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  1337
    "Modified: 8.1.1997 / 10:57:57 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1338
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1339
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1340
!BrowserView methodsFor:'class category source administration'!
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1341
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1342
classCategoryCheckinEach
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1343
    (self checkSelectionChangeAllowedWithCompare:false) ifFalse:[^ self].
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1344
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1345
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1346
	|logMessage classes|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1347
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1348
	logMessage := self getLogMessageFor:'(any in classCategory ', currentClassCategory, ')'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1349
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1350
	logMessage notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1351
	    (currentClassCategory = '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1352
	    or:[currentClassCategory = '* hierarchy *']) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1353
		classes := self allClasses
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1354
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1355
		classes := self allClassesInCategory:currentClassCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1356
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1357
	    "/ ignore private classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1358
	    classes := classes select:[:aClass | aClass owningClass isNil].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1359
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1360
	    lastSourceLogMessage := logMessage.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1361
	    classes do:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1362
		self busyLabel:'checking in %1' with:aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1363
		"/ ca does not want boxes to pop up all over ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1364
		InformationSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1365
		    Transcript showCR:ex errorString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1366
		] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1367
		    self classCheckin:aClass withLog:logMessage
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  1368
"/                    (aClass sourceCodeManager) 
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  1369
"/                        checkinClass:aClass 
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  1370
"/                        logMessage:logMessage.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1371
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1372
		self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1373
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1374
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1375
	self normalLabel.
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1376
    ]
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1377
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1378
    "Created: 23.11.1995 / 11:41:38 / cg"
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  1379
    "Modified: 15.6.1996 / 00:25:58 / stefan"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1380
    "Modified: 18.8.1997 / 15:42:21 / cg"
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1381
!
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1382
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1383
classCategoryRepositoryHistory
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1384
    (self checkSelectionChangeAllowedWithCompare:false) ifFalse:[^ self].
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1385
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1386
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1387
	|timeGoal aStream box y component timeGoalListPop|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1388
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1389
	box := Dialog new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1390
	(box addTextLabel:(resources string:'repository change report')) adjust:#left.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1391
	box addVerticalSpace:20.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1392
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1393
	timeGoal := 'yesterday' asValue. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1394
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1395
	y := box yPosition.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1396
	component := box addTextLabel:(resources string:'list changes since (mm/dd):').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1397
	component width:0.5; adjust:#right; borderWidth:0.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1398
	box yPosition:y.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1399
	timeGoalListPop := box addComboBoxOn:timeGoal tabable:true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1400
	timeGoalListPop width:0.5; left:0.5; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1401
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1402
	timeGoalListPop list:#('yesterday'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1403
			       'a week ago'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1404
			       'a month ago'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1405
			       'a year ago'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1406
			       'all'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1407
			      ).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1408
	box addAbortButton; addOkButton.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1409
	box open.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1410
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1411
	box accepted ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1412
	    timeGoal := timeGoal value.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1413
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1414
"/        timeGoal := Dialog 
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1415
"/                         request:'list changed repository containers since (mm/dd):
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1416
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1417
"/You can also specify the date as 
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1418
"/''yesterday'', ''a week ago'' or ''a month ago''
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1419
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1420
"/'
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1421
"/                         initialAnswer:'yesterday'  
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1422
"/                         onCancel:nil.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1423
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1424
"/        timeGoal notNil ifTrue:[
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1425
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1426
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1427
	    self busyLabel:'extracting history ...' with:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1428
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1429
	    aStream := WriteStream on:(String new:200).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1430
	    Processor activeProcess withLowerPriorityDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1431
		SourceCodeManager notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1432
		    SourceCodeManager
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1433
			writeHistoryLogSince:timeGoal
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1434
			to:aStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1435
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1436
		    aStream nextPutLine:'no history available (no SourceCodeManagement installed)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1437
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1438
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1439
	    codeView contents:(aStream contents).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1440
	    codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1441
	    codeView acceptAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1442
	    codeView explainAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1443
	    methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1444
		methodListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1445
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1446
	    aspect := nil.      
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1447
	    self normalLabel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1448
	].
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1449
    ]
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1450
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1451
    "Created: 23.11.1995 / 11:41:38 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1452
    "Modified: 18.8.1997 / 15:42:46 / cg"
818
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1453
!
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1454
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1455
classCategoryValidateClassRevisions
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1456
    "for all classes, ask the sourceCodeManager for the most recent version
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1457
     and compare this to the actual version. Send mismatch info to the Transcript.
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1458
     Use this, to find classes, which need to be reloaded from the repository."
818
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1459
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1460
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1461
	|logMessage classes repVersion clsVersion binVersion
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1462
	 count unloadedCount badCount cat needCheckIn|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1463
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1464
	cat := currentClassCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1465
	(cat = '* hierarchy *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1466
	    cat := '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1467
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1468
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1469
	classes := self listOfAllClassesInCategory:cat names:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1470
	classes isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1471
	    Transcript showCR:'no classes to validate'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1472
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1473
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1474
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1475
	count := unloadedCount := badCount := needCheckIn := 0.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1476
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1477
	Transcript cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1478
	Transcript showCR:'-------------------------------------------------'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1479
	Transcript showCR:'checking class revisions vs. repository ...'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1480
	Transcript cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1481
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1482
	classes do:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1483
	    |clsName msg sourceCodeManager repSource currentSource aStream|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1484
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1485
	    count := count + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1486
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1487
	    "/ ignore autoloaded and private classes here
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1488
                
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1489
	    clsName := aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1490
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1491
	    aClass isLoaded ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1492
		unloadedCount := unloadedCount + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1493
		(currentClassCategory ~= '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1494
		and:[currentClassCategory ~= '* hierarchy *']) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1495
		    msg := '?? ''' , clsName , ''' is not loaded - skipped check'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1496
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1497
	    ] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1498
		((aClass isNamespace not or:[aClass == Smalltalk])
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1499
		and:[aClass topOwningClass isNil]) ifTrue:[
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1500
                
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1501
"/                    self busyLabel:'validating %1 ...' with:aClass name.
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1502
                
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1503
		    sourceCodeManager := aClass sourceCodeManager.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1504
		    sourceCodeManager isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1505
			msg := '?? ''' , clsName , ''' has no sourceCodeManager - skipped check'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1506
		    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1507
			repVersion := sourceCodeManager newestRevisionOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1508
			repVersion isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1509
			    msg := '-- ' , clsName 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1510
				    , ' not in repository'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1511
			] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1512
			    clsVersion := aClass revision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1513
			    binVersion := aClass binaryRevision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1514
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1515
			    clsName := aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1516
			    msg := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1517
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1518
			    clsVersion ~= repVersion ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1519
				badCount := badCount + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1520
				msg := '** ' , clsName 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1521
					, ' is not up-to-date (this: '
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1522
					, clsVersion printString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1523
					, ' repository: '
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1524
					, repVersion printString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1525
					, ').'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1526
				msg := msg asText allBold.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1527
			    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1528
				clsVersion ~= binVersion ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1529
				    binVersion notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1530
					msg := clsName
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1531
					       , ' up-to-date (but should be stc-recompiled)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1532
				    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1533
				] ifFalse:[
1096
3e3af3c70de1 handle no-sourceCodeManager case when validating classes.
Claus Gittinger <cg@exept.de>
parents: 1095
diff changeset
  1534
    "/                              msg := clsName , ' is up-to-date.'
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1535
				].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1536
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1537
				"/ compare the sources;
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1538
				"/ to find classes which need a checkin.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1539
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1540
				aStream := sourceCodeManager getMostRecentSourceStreamForClassNamed:aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1541
				repSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1542
				aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1543
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1544
				aStream := '' writeStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1545
				Method flushSourceStreamCache.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1546
				aClass fileOutOn:aStream withTimeStamp:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1547
				currentSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1548
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1549
				repSource ~= currentSource ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1550
				    msg := '-- ' , clsName , ' should be checked into the repository'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1551
				    needCheckIn := needCheckIn + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1552
				].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1553
			    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1554
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1555
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1556
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1557
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1558
	    msg notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1559
		Transcript showCR:msg
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1560
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1561
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1562
	Transcript cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1563
	Transcript showCR:'----------------------------------------------------------'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1564
	Transcript showCR:('%1 classes / %2 unloaded / %3 need checkout / %4 need checkin.'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1565
			   bindWith:count with:unloadedCount with:badCount with:needCheckIn).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1566
	Transcript showCR:'----------------------------------------------------------'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1567
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1568
	self normalLabel.
818
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1569
    ]
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1570
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1571
    "Modified: 15.6.1996 / 00:25:58 / stefan"
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1572
    "Created: 29.10.1996 / 13:21:08 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1573
    "Modified: 18.8.1997 / 15:43:04 / cg"
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1574
! !
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1575
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1576
!BrowserView methodsFor:'class category stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1577
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1578
checkClassCategorySelected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1579
    currentClassCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1580
	self warn:'select a class category first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1581
	^ false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1582
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1583
    ^ true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1584
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1585
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1586
classCategorySelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1587
    "user clicked on a class category line - show classes.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1588
     If switching to hierarchy or all, keep current selections"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1589
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  1590
    |newCategory oldClass oldName classIndex list|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1591
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1592
    newCategory := classCategoryListView selectionValue.
1267
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  1593
    (newCategory = '* all *'
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1594
     or:[newCategory = '* hierarchy *'
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1595
     or:[currentClass notNil and:[newCategory = currentClass category]]]
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1596
    ) ifTrue:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1597
        "switch to all or hierarchy:
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1598
         remember current class and reselect it        
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1599
         after showing the updated class list
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1600
        "
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1601
        oldClass := currentClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1602
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1603
    currentClassCategory := newCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1604
    oldClass isNil ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1605
        self classCategorySelectionChanged
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1606
    ] ifFalse:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1607
        oldName := oldClass name.
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1608
        self withBusyCursorDo:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1609
            self updateClassList
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1610
        ].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1611
        "stupid - search for class name in (indented) list"
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1612
        list := classListView list.
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1613
        list notNil ifTrue:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1614
            classIndex := list findFirst:[:elem | elem endsWith:oldName].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1615
        ] ifFalse:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1616
            classIndex := 0
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1617
        ].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1618
        classIndex ~~ 0 ifTrue:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1619
            classListView setSelection:classIndex.
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1620
            self switchToClass:(Smalltalk at:(oldName asSymbol))
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1621
        ] ifFalse:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1622
            self normalLabel.
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1623
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1624
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  1625
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1626
    "Modified: / 18.8.1997 / 15:42:49 / cg"
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1627
    "Modified: / 16.1.1998 / 17:12:24 / stefan"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1628
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1629
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1630
classCategorySelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1631
    "class category has changed - update dependent views"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1632
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1633
    self withBusyCursorDo:[
1363
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1634
        self switchToClass:nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1635
        aspect := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1636
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1637
        actualClass := acceptClass := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1638
        currentMethodCategory := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1639
        currentMethod := currentSelector := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1640
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1641
        self updateClassList.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1642
        self updateMethodCategoryList.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1643
        self updateMethodList.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1644
        self updateCodeView.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1645
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1646
        codeView explainAction:nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1647
        codeView acceptAction:nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1648
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1649
        (currentClassCategory = '* removed *') ifTrue:[
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1650
            codeView contents:'these classes have been removed (i.e. they are no longer accessable as globals),
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1651
but there are still referenced instances of them around.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1652
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1653
They will vanish later (be garbage collected) when the instances are no longer referenced.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1654
'
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1655
        ]
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1656
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1657
    ]
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  1658
1363
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1659
    "Modified: / 31.10.1997 / 11:46:50 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1660
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1661
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1662
listOfAllClassCategories
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1663
    "return a list of all class categories"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1664
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1665
    |nameSpaceList newList cat allNameSpaces|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1666
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  1667
    newList := Set new.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1668
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1669
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1670
	nameSpaceList := Array with:Smalltalk.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1671
	allNameSpaces := true.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1672
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1673
	nameSpaceList := self listOfNamespaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1674
	allNameSpaces := false.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1675
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1676
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1677
    nameSpaceList do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1678
	aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1679
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1680
		(aClass isNamespace not 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1681
		or:[aClass == Namespace 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1682
		or:[aClass == Smalltalk]]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1683
		    (allNameSpaces or:[aClass nameSpace == aNamespace]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1684
			cat := aClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1685
			cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1686
			    cat := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1687
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1688
			cat ~= 'obsolete' ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1689
			    newList add:cat
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1690
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1691
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1692
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1693
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1694
	]
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1695
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1696
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  1697
    newList notEmpty ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1698
	newList add:'* all *'; add:'* hierarchy *'.
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  1699
    ].
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  1700
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1701
    ^ newList asOrderedCollection sort.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1702
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1703
    "Modified: 5.1.1997 / 17:12:01 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1704
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1705
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1706
renameCurrentClassCategoryTo:aString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1707
    "helper - do the rename"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1708
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1709
    |any categories|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1710
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1711
    currentClassCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1712
	any := false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1713
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1714
	self allClassesInSelectedNamespacesDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1715
	    aClass category = currentClassCategory ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1716
		aClass category:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1717
		any := true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1718
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1719
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1720
	any ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1721
	    categories := classCategoryListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1722
	    categories remove:currentClassCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1723
	    categories add:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1724
	    categories sort.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1725
	    classCategoryListView setContents:categories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1726
	    currentClassCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1727
	    classCategoryListView setSelectElement:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1728
	] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1729
	    currentClassCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1730
	    self updateClassCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1731
	    self updateClassListWithScroll:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1732
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1733
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1734
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1735
    "Modified: 16.1.1997 / 20:20:38 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1736
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1737
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1738
switchToAnyMethod:aSelectorString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1739
    "find all implementors of aSelectorString, and present a list
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1740
     to choose from. When an entry is selected, switch to that class/selector.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1741
     This allows for quickly moving around in the system."
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1742
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1743
    |classes sel box theClassName|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1744
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1745
    classes := OrderedCollection new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1746
    aSelectorString knownAsSymbol ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1747
	sel := aSelectorString asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1748
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1749
	Smalltalk allClassesDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1750
	    (aClass includesSelector:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1751
		classes add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1752
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1753
	    (aClass class includesSelector:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1754
		classes add:aClass class.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1755
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1756
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1757
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1758
    classes size == 0 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1759
	SystemBrowser showNoneFound.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1760
	^ self
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1761
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1762
    classes size > 1 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1763
	box := ListSelectionBox 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1764
		    title:(resources string:'#%1\\in which class ?' with:aSelectorString) withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1765
	box label:'find method'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1766
	box okText:(resources string:'show').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1767
	box list:(classes collect:[:aClass | aClass name]) asSortedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1768
	box action:[:aString | theClassName := aString].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1769
	box entryCompletionBlock:[:contents |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1770
	    |s l what m|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1771
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1772
	    s := contents withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1773
	    l := classes select:[:cls | cls name startsWith:s].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1774
	    l size > 0 ifTrue:[    
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1775
		box list:(l collect:[:aClass | aClass name]) asSortedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1776
		box contents:l first name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1777
		l size ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1778
		    self beep
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1779
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1780
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1781
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1782
	box showAtPointer.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1783
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1784
	theClassName := classes first name
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1785
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1786
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1787
    theClassName notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1788
	self switchToClassNamed:theClassName. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1789
	self updateMethodCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1790
	self switchToMethodNamed:aSelectorString.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1791
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1792
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1793
    "Modified: 1.9.1995 / 01:39:58 / claus"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1794
    "Modified: 15.1.1997 / 23:20:51 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1795
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1796
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1797
updateClassCategoryList
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  1798
    self updateClassCategoryListWithScroll:true.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  1799
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  1800
    "Modified: 8.1.1997 / 10:58:06 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1801
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1802
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1803
updateClassCategoryListWithScroll:scroll
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1804
    |oldClassCategory oldClass oldMethodCategory oldMethod
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1805
     oldSelector newCategoryList|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1806
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1807
    classMethodListView notNil ifTrue:[ ^ self ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1808
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1809
    oldClassCategory := currentClassCategory.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1810
    oldClass := currentClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1811
    oldMethodCategory := currentMethodCategory.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1812
    oldMethod := currentMethod.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1813
    oldMethod notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1814
	oldSelector := currentSelector
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1815
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1816
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1817
    classCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1818
	newCategoryList := self listOfAllClassCategories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1819
	newCategoryList = classCategoryListView list ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1820
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1821
		classCategoryListView contents:newCategoryList
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1822
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1823
		classCategoryListView setContents:newCategoryList
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1824
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1825
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1826
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1827
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1828
    oldClassCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1829
	classCategoryListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1830
	    classCategoryListView setSelectElement:oldClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1831
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1832
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1833
    classListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1834
	oldClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1835
	    classListView setSelectElement:(oldClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1836
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1837
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1838
    oldMethodCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1839
	methodCategoryListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1840
	    methodCategoryListView setSelectElement:oldMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1841
	].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1842
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1843
    oldSelector notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1844
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1845
	    methodListView setSelectElement:oldSelector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1846
	].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1847
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1848
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1849
    "Modified: 26.5.1996 / 15:04:25 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1850
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1851
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1852
!BrowserView methodsFor:'class list menu'!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1853
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1854
classClassInstVars
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1855
    "show class instance variables in codeView and setup accept-action
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1856
     for a class-instvar-definition change"
187
781f0c88e196 compare revision added
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
  1857
781f0c88e196 compare revision added
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
  1858
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1859
	|s|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1860
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1861
	s := WriteStream on:(String new).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1862
	currentClass fileOutClassInstVarDefinitionOn:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1863
	codeView contents:(s contents).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1864
	codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1865
	codeView acceptAction:[:theCode |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1866
	    codeView cursor:Cursor execute.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1867
	    Object abortSignal catch:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1868
		Class nameSpaceQuerySignal answer:Smalltalk
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1869
		do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1870
		    Compiler evaluate:theCode asString notifying:codeView compile:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1871
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1872
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1873
		codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1874
		self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1875
		self updateClassList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1876
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1877
	    codeView cursor:Cursor normal.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1878
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1879
	codeView explainAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1880
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1881
	    methodListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1882
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1883
	aspect := #classInstVars.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1884
	self normalLabel
187
781f0c88e196 compare revision added
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
  1885
    ]
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  1886
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1887
    "Modified: 16.1.1997 / 01:47:37 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1888
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1889
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1890
classComment
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1891
    "show the classes comment in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1892
     Also, set accept action to change the comment."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1893
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1894
    self classShowFrom:#comment 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1895
		   set:#comment: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1896
		aspect:#comment 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1897
	       default:nil
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1898
!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1899
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1900
classDefinition
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1901
    "show class definition in View and setup accept-action for
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1902
     a class-definition change.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1903
     Extract documentation either from a documentation method or
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1904
     from the comment - not a biggy, but beginners will like
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1905
     it when exploring the system."
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1906
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1907
    self doClassMenu:[:currentClass |
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1908
        |m s aStream isComment|
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1909
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1910
        aStream := TextStream on:(String new:200).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1911
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1912
        "/
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1913
        "/ here, show it with a nameSpace pragma
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1914
        "/ and prefer short names.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1915
        "/
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1916
        currentClass 
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1917
            basicFileOutDefinitionOn:aStream 
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1918
            withNameSpace:true.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1919
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1920
        currentClass isLoaded ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1921
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1922
             add documentation as a comment, if there is any
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1923
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1924
            m := currentClass class compiledMethodAt:#documentation.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1925
            m notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1926
                s := m comment.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1927
                isComment := false.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1928
            ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1929
                "try comment"
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1930
                s := currentClass comment.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1931
                s isString ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1932
                    s isEmpty ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1933
                        s := nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1934
                    ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1935
                        (s includes:$") ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1936
                            s := s copy replaceAll:$" with:$'.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1937
                        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1938
                        isComment := true
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1939
                    ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1940
                ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1941
                    "/ class redefines comment ?
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1942
                    s := nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1943
                ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1944
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1945
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1946
        aStream cr; cr; cr; cr; cr.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1947
        aStream emphasis:(#color -> (Color red:0 green:0 blue:25)).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1948
        s isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1949
            aStream nextPut:$" ; cr; nextPutLine:' no comment or documentation method found'.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1950
        ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1951
            aStream nextPut:$" ; cr; nextPutLine:' Documentation:'.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1952
            aStream cr; nextPutLine:s; cr.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1953
            aStream nextPutLine:' Notice: '.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1954
            aStream nextPutAll:'   the above text has been extracted from the classes '.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1955
            aStream nextPutLine:(isComment ifTrue:['comment.'] ifFalse:['documentation method.']).
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1956
            aStream nextPutLine:'   Any change in it will be lost if you ''accept'' here.'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1957
            aStream nextPutAll:'   To change the '.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1958
            aStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation']).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1959
            aStream nextPutAll:', switch to the '.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1960
            aStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation method']).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1961
            aStream nextPutLine:' and ''accept'' any changes there.'.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1962
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1963
        aStream nextPut:$".
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1964
        aStream emphasis:nil.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1965
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1966
        codeView contents:(aStream contents).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1967
        codeView modified:false.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1968
        codeView acceptAction:[:theCode |
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1969
            |ns|
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1970
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1971
            currentClass notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1972
                ns := currentClass nameSpace
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1973
            ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1974
                ns := nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1975
            ].
953
5460c08843e5 provide the current classes nameSpace
Claus Gittinger <cg@exept.de>
parents: 946
diff changeset
  1976
        
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1977
            codeView cursor:Cursor execute.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1978
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1979
            Class nameSpaceQuerySignal handle:[:ex |
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1980
                ns isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1981
                    ex reject
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1982
                ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1983
                ex proceedWith:ns
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1984
            ] do:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1985
                Object abortSignal catch:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1986
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1987
                    Class nameSpaceQuerySignal answer:Smalltalk
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1988
                    do:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1989
                        (Compiler evaluate:theCode asString notifying:codeView compile:false)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1990
                        isBehavior ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1991
                            codeView modified:false.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1992
                            self classCategoryUpdate.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1993
                            self updateClassListWithScroll:false.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1994
                        ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1995
                    ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1996
                ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1997
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1998
            codeView cursor:Cursor normal.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1999
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2000
        codeView explainAction:nil.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2001
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2002
        methodListView notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2003
            methodListView setSelection:nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2004
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2005
        aspect := #definition.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2006
        self normalLabel
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2007
    ]
371
f28c97e821c4 handle comments with d'quotes when showing classes definition
Claus Gittinger <cg@exept.de>
parents: 369
diff changeset
  2008
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2009
    "Modified: / 25.10.1997 / 12:46:05 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2010
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2011
546
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2012
classDocumentation
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2013
    "show classes documentation (i.e. open doc-View on it)"
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2014
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2015
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2016
	Autoload autoloadFailedSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2017
	    self warn:'autoload failed.
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2018
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2019
Check your source directory and/or 
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2020
the abbreviation file for the classes (correct) shortened name.'.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2021
	    ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2022
	] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2023
	    |text v|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2024
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2025
	    text := currentClass htmlDocumentation.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2026
	    text notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2027
		v := HTMLDocumentView
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2028
			openFullOnText:text 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2029
			inDirectory:(Smalltalk getSystemFileName:'doc/online/english/classDoc').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2030
		v nameSpaceForExecution:(currentClass nameSpace).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2031
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2032
	]
546
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2033
    ]
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2034
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2035
    "Created: 18.5.1996 / 12:12:20 / cg"
1188
3805f78caf95 documentationViews currentDirectory ...
Claus Gittinger <cg@exept.de>
parents: 1186
diff changeset
  2036
    "Modified: 17.6.1997 / 13:32:40 / cg"
546
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2037
!
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2038
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2039
classDocumentationAs
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2040
    "as for a fileName & save a classes documentation html doc into it"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2041
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2042
    |fileBox dir saveName|
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2043
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2044
    fileBox := FileSelectionBox
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2045
                    title:(resources string:'save HTML doc for %1 as:' with:currentClass name)
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2046
                    okText:(resources string:'save')
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2047
                    abortText:(resources string:'cancel')
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2048
                    action:[:fileName | saveName := fileName].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2049
    fileBox initialText:((Smalltalk fileNameForClass:currentClass) , '.html').
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2050
    dir := FileSelectionBox lastFileSelectionDirectory.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2051
    dir notNil ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2052
        fileBox directory:dir.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2053
    ].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2054
    fileBox showAtPointer.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2055
    fileBox destroy.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2056
    saveName isNil ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2057
        ^ self
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2058
    ].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2059
    saveName isEmpty ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2060
        self warn:'bad name given'.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2061
        ^ self
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2062
    ].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2063
    FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2064
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2065
    self classDocumentationToFile:saveName
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2066
!
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2067
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2068
classDocumentationToFile:aFilename
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2069
    "save a classes documentation html doc into a file"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2070
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2071
    self doClassMenu:[:currentClass |
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2072
        Autoload autoloadFailedSignal handle:[:ex |
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2073
            self warn:'autoload failed.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2074
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2075
Check your source directory and/or 
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2076
the abbreviation file for the classes (correct) shortened name.'.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2077
            ex return.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2078
        ] do:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2079
            |text v f|
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2080
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2081
            text := currentClass htmlDocumentation.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2082
            text notNil ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2083
                f := aFilename asFilename writeStream.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2084
                f nextPutAll:text asString.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2085
                f close.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2086
            ]
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2087
        ]
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2088
    ]
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2089
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2090
    "Created: 18.5.1996 / 12:12:20 / cg"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2091
    "Modified: 17.6.1997 / 13:32:40 / cg"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2092
!
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2093
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2094
classFileOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2095
    "fileOut the current class.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2096
     Catch errors (sure, you like to know if it failed) and
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2097
     warn if any)"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2098
1139
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2099
    self classFileOutAsk:false
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2100
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2101
    "Modified: 16.4.1997 / 20:55:13 / cg"
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2102
!
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2103
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2104
classFileOutAs
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2105
    "fileOut the current class, asking for a filename."
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2106
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2107
    self classFileOutAsk:true
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2108
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2109
    "Modified: 16.4.1997 / 20:55:31 / cg"
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2110
!
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2111
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2112
classFileOutAsk:ask
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2113
    "fileOut the current class, possibly asking for a filename.
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2114
     Catch errors (sure, you like to know if it failed) and
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2115
     warn if any)"
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2116
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2117
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2118
	|msg fileBox saveName dir|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2119
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2120
	currentClass isPrivate ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2121
	    self warn:'You must fileOut the owning class: ' , currentClass owningClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2122
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2123
	    ask ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2124
		fileBox := FileSelectionBox
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2125
				title:(resources string:'fileOut %1 as:' with:currentClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2126
				okText:(resources string:'fileOut')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2127
				abortText:(resources string:'cancel')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2128
				action:[:fileName | saveName := fileName].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2129
		fileBox initialText:((Smalltalk fileNameForClass:currentClass) , '.st').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2130
		dir := FileSelectionBox lastFileSelectionDirectory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2131
		dir notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2132
		    fileBox directory:dir.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2133
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2134
		fileBox showAtPointer.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2135
		fileBox destroy.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2136
		saveName isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2137
		    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2138
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2139
		saveName isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2140
		    self warn:'bad name given'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2141
		    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2142
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2143
		FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2144
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2145
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2146
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2147
	    self busyLabel:'saving %1' with:currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2148
	    Class fileOutErrorSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2149
		self warn:'cannot fileOut: %1\(%2)' with:currentClass name with:ex errorString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2150
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2151
		ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2152
	    ] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2153
		saveName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2154
		    currentClass fileOutAs:saveName.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2155
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2156
		    currentClass fileOut.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2157
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2158
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2159
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2160
	self normalLabel.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2161
    ]
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
  2162
1139
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2163
    "Created: 16.4.1997 / 20:55:01 / cg"
1313
a287a275aaef remember last 'fileout as...' directory.
Claus Gittinger <cg@exept.de>
parents: 1308
diff changeset
  2164
    "Modified: 9.9.1997 / 10:11:35 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2165
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2166
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2167
classFileOutBinary
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2168
    "fileOut the current class as binary bytecode."
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2169
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2170
    |mode|
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2171
337
da49a43210e8 added cancel to fileOutBinary sourceMode-query
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  2172
    mode := Dialog choose:(resources string:'save including sources ?')
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2173
		   labels:(resources array:#('cancel' 'discard' 'by file reference' 'include source'))
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2174
		   values:#(nil #discard #reference #keep)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2175
		   default:#keep.
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2176
337
da49a43210e8 added cancel to fileOutBinary sourceMode-query
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  2177
    mode isNil ifTrue:[^ self].   "/ cancelled
da49a43210e8 added cancel to fileOutBinary sourceMode-query
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  2178
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2179
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2180
	|msg|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2181
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2182
	currentClass isPrivate ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2183
	    self warn:'You must fileOut the owning class: ' , currentClass owningClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2184
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2185
	    self busyLabel:'saving binary of %1' with:currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2186
	    Class fileOutErrorSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2187
		self warn:'cannot create: %1\(%2)' with:ex parameter with:ex errorString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2188
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2189
		ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2190
	    ] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2191
		currentClass binaryFileOutWithSourceMode:mode.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2192
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2193
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2194
	self normalLabel.
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2195
    ]
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2196
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2197
    "Created: 24.1.1996 / 21:11:03 / cg"
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
  2198
    "Modified: 14.10.1996 / 20:12:46 / cg"
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2199
!
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2200
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2201
classHierarchy
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2202
    "show current classes hierarchy in codeView"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2203
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2204
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2205
	|aStream|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2206
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2207
	aStream := WriteStream on:(String new:200).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2208
	actualClass printHierarchyOn:aStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2209
	codeView contents:(aStream contents).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2210
	codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2211
	codeView acceptAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2212
	codeView explainAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2213
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2214
	    methodListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2215
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2216
	aspect := #hierarchy. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2217
	self normalLabel
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2218
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  2219
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  2220
    "Modified: 25.5.1996 / 13:02:37 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2221
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2222
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2223
classInspect
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2224
    "inspect the current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2225
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2226
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2227
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2228
    currentClass inspect.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2229
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2230
393
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2231
classInstancesInspect
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2232
    "inspect the current classes instances"
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2233
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2234
    self checkClassSelected ifFalse:[^ self].
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2235
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2236
    currentClass allInstances inspect.
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2237
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2238
    "Created: 24.2.1996 / 16:12:14 / cg"
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2239
!
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2240
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2241
classLoad
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2242
    "load an autoloaded class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2243
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
  2244
    |nm nameShown|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2245
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2246
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2247
    nm := currentClass name.
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
  2248
    nameShown := self displayedClassNameOf:currentClass.
987
e24e45bd126a dont update while loading
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
  2249
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2250
    Autoload autoloadFailedSignal handle:[:ex |
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2251
        self warn:(resources string:'autoload of %1 failed.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2252
1313
a287a275aaef remember last 'fileout as...' directory.
Claus Gittinger <cg@exept.de>
parents: 1308
diff changeset
  2253
Check your source directory for a file named ''%2.st'' 
a287a275aaef remember last 'fileout as...' directory.
Claus Gittinger <cg@exept.de>
parents: 1308
diff changeset
  2254
and/or the abbreviation file for its (correct) shortened name.') 
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2255
                with:nm with:(Smalltalk fileNameForClass:currentClass).
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2256
        ex return.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2257
    ] do:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2258
        self withBusyCursorDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2259
            self busyLabel:'loading %1 ...' with:currentClass name.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2260
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2261
            lockUpdates := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2262
            [
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2263
                currentClass autoload.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2264
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2265
                currentClass := actualClass := nil.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2266
                "/ reselect the current class
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2267
                showInstance ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2268
                    nameShown := nameShown , ' class'
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2269
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2270
                self switchToClassNamed:nameShown
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2271
            ] valueNowOrOnUnwindDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2272
                lockUpdates := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2273
                self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2274
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2275
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2276
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2277
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2278
    "Modified: / 4.3.1998 / 14:58:59 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2279
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2280
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2281
classMakePrivate
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2282
    "change a class from public to private;
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2283
     ask for the owners class, check if a private class with the same name exists,
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2284
     before doing this."
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2285
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2286
    |ownerName owner sel newClass|
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2287
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2288
    ownerName := Dialog request:(resources string:'name of owner class:').
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2289
    ownerName size == 0 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2290
	"/ cancelled
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2291
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2292
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2293
    owner := Smalltalk classNamed:ownerName.
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2294
    owner isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2295
	self warn:(resources string:'no class named ''%1'' found - try again.' with:ownerName).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2296
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2297
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2298
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2299
    (owner privateClassesAt:currentClass name) notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2300
	self warn:(resources 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2301
			string:'a private class named ''%1'' already exists in ''%2''.\\Please remove/rename that one first,\or rename the public class ''%1'' here\and try again.'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2302
			with:currentClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2303
			with:ownerName)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2304
		    withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2305
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2306
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2307
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2308
    currentClass makePrivateIn:owner
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2309
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2310
    "Modified: 3.7.1997 / 13:26:16 / cg"
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2311
!
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2312
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2313
classMakePublic
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2314
    "change a class from private to public;
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2315
     check if a public class with the same name exists,
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2316
     before doing this."
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2317
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2318
    (Smalltalk classNamed:(currentClass nameWithoutPrefix)) notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2319
	self warn:(resources
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2320
			string:'a public class named ''%1'' already exists.\\Please remove/rename that one first,\or rename the private class ''%1'' here\and try again.'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2321
			with:currentClass nameWithoutPrefix) withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2322
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2323
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2324
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2325
    currentClass makePublic
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2326
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2327
    "Modified: 3.7.1997 / 13:26:21 / cg"
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2328
!
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2329
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2330
classMenu
926
a7c7814c9426 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
  2331
    "sent by classListView to ask for the menu"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2332
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2333
    <resource: #keyboard ( #Cmdl #Cmdn #Cmdd) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2334
    <resource: #programMenu >
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2335
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2336
    |specialMenu labels selectors shorties m newClassMenu spawnMenu idx|
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2337
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2338
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2339
        labels :=  #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2340
                       'fileIn new from repository ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2341
                    ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2342
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2343
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2344
                       classLoadNewRevision
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2345
                      ).
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2346
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2347
        labels :=  #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2348
                       'fileOut binary'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2349
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2350
                       'inspect class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2351
                       'inspect instances'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2352
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2353
                       'make private class ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2354
                       'make public class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2355
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2356
                       'primitive definitions'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2357
                       'primitive variables'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2358
                       'primitive functions'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2359
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2360
                       'source container ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2361
                       'remove source container ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2362
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2363
                       'revision log' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2364
                       'compare with repository ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2365
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2366
                       'check into source repository'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2367
                       'fileIn from repository ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2368
                    ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2369
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2370
                       classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2371
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2372
                       classInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2373
                       classInstancesInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2374
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2375
                       classMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2376
                       classMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2377
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2378
                       classPrimitiveDefinitions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2379
                       classPrimitiveVariables
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2380
                       classPrimitiveFunctions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2381
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2382
                       classModifyContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2383
                       classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2384
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2385
                       classRevisionInfo
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2386
                       classCompareWithRepository
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2387
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2388
                       classCheckin
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2389
                       classLoadRevision
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2390
                      ).
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2391
    ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2392
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2393
    specialMenu := PopUpMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2394
                        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2395
                        selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2396
                        receiver:self.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2397
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2398
    currentClass notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2399
        currentClass sourceCodeManager isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2400
            specialMenu disableAll:#(classModifyContainer classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2401
                                     classRevisionInfo 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2402
                                     classLoadRevision classCheckin 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2403
                                     classCompareWithRepository).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2404
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2405
        currentClass isPrivate ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2406
            specialMenu disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2407
                                     classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2408
                                     classMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2409
                                     classModifyContainer 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2410
                                     classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2411
                                     classRevisionInfo 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2412
                                     classLoadRevision classCheckin
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2413
                                     classCompareWithRepository
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2414
                                     classPrimitiveDefinitions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2415
                                     classPrimitiveVariables
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2416
                                     classPrimitiveFunctions).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2417
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2418
            specialMenu disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2419
                                     classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2420
                                     classMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2421
                                    )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2422
        ]
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2423
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2424
        SourceCodeManager isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2425
            specialMenu disableAll:#(classLoadNewRevision)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2426
        ]
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2427
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2428
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2429
    (currentClass notNil
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2430
    and:[currentClass isLoaded not]) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2431
        specialMenu disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2432
                                     classInstancesInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2433
                                     classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2434
                                     classMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2435
                                     classMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2436
                                     classModifyContainer 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2437
                                     classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2438
                                     classRevisionInfo 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2439
                                     classLoadRevision 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2440
                                     classCheckin
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2441
                                     classCompareWithRepository
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2442
                                     classPrimitiveDefinitions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2443
                                     classPrimitiveVariables
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2444
                                     classPrimitiveFunctions).
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2445
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2446
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2447
    device ctrlDown ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2448
        ^ specialMenu
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2449
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2450
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2451
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2452
        labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2453
                       'new class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2454
                     ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2455
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2456
                       classNewClass
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2457
                     ).
246
9f1583be2b81 ask class for its SourceCodeManager
Claus Gittinger <cg@exept.de>
parents: 244
diff changeset
  2458
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2459
        currentClass isLoaded ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2460
            labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2461
                           'documentation'
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2462
                           'save documentation as ...'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2463
                           '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2464
                           'class refs'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2465
                           '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2466
                           'new class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2467
                           '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2468
                           'load'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2469
                         ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2470
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2471
                           classDocumentation
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2472
                           classDocumentationAs
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2473
                           nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2474
                           classRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2475
                           nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2476
                           classNewClass
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2477
                           nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2478
                           classLoad
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2479
                         ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2480
        ] ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2481
            fullProtocol ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2482
                labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2483
                               'hierarchy' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2484
                               'definition' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2485
                               'documentation'
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2486
                               'save documentation as ...'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2487
                               'comment' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2488
                               'class instvars' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2489
                             ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2490
                selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2491
                               classHierarchy
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2492
                               classDefinition
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2493
                               classDocumentation
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2494
                               classDocumentationAs
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2495
                               classComment
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2496
                               classClassInstVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2497
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2498
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2499
                labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2500
                               'fileOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2501
                               'fileOut as ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2502
                               'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2503
                               'printOut protocol'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2504
                             " 'printOut full protocol' "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2505
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2506
                               'spawn ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2507
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2508
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2509
                selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2510
                               classFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2511
                               classFileOutAs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2512
                               classPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2513
                               classPrintOutProtocol
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2514
                            "  classPrintOutFullProtocol "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2515
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2516
                               spawnMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2517
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2518
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2519
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2520
                spawnMenu := PopUpMenu 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2521
                            labels:(resources array:#('class' 'full protocol' 'hierarchy' 'subclasses'))
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2522
                            selectors:#(classSpawn classSpawnFullProtocol classSpawnHierarchy classSpawnSubclasses).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2523
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2524
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2525
                fullClass ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2526
                    labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2527
                               'hierarchy' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2528
                               'definition' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2529
                               'documentation'
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2530
                               'save documentation as ...'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2531
                               'comment' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2532
                               'class instvars' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2533
               "/              'protocols' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2534
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2535
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2536
                    selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2537
                               classHierarchy
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2538
                               classDefinition
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2539
                               classDocumentation
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2540
                               classDocumentationAs
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2541
                               classComment
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2542
                               classClassInstVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2543
               "/              classProtocols 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2544
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2545
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2546
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2547
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2548
                labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2549
                               'class refs'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2550
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2551
                               'new ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2552
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2553
                selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2554
                               classRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2555
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2556
                               newClassMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2557
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2558
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2559
                newClassMenu := PopUpMenu 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2560
                            labels:(resources array:#('class' 'subclass' 'private class'))
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2561
                            selectors:#(classNewClass classNewSubclass classNewPrivateClass).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2562
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2563
                labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2564
                               'rename ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2565
                               'remove'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2566
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2567
                selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2568
                               classRename
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2569
                               classRemove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2570
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2571
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2572
                currentClass wasAutoloaded ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2573
                    labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2574
                               'unload'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2575
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2576
                    selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2577
                               classUnload
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2578
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2579
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2580
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2581
        ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2582
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2583
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  2584
    shorties := (Array new:labels size) , #(nil #'Ctrl').
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2585
    (idx := selectors identityIndexOf:#classNewClass) ~~ 0 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2586
        shorties at:idx put:#Cmdn
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2587
    ].
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2588
    (idx := selectors identityIndexOf:#classLoad) ~~ 0 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2589
        shorties at:idx put:#Cmdl
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2590
    ].
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2591
    (idx := selectors identityIndexOf:#classDocumentation) ~~ 0 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2592
        shorties at:idx put:#Cmdd
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  2593
    ].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  2594
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2595
    labels := labels , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2596
                          '='
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2597
                          'others'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2598
                        ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2599
    selectors := selectors , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2600
                          nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2601
                          otherMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2602
                        ).
180
b1dfe27837fa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  2603
    m := PopUpMenu 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2604
            labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2605
            selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2606
            accelerators:shorties.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2607
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2608
    newClassMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2609
        m subMenuAt:#newClassMenu put:newClassMenu.
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2610
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2611
    spawnMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2612
        m subMenuAt:#spawnMenu put:spawnMenu.
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2613
    ].
768
c74bce2106ae checkin from browser
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
  2614
c74bce2106ae checkin from browser
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
  2615
    (currentClass notNil
c74bce2106ae checkin from browser
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
  2616
    and:[currentClass isPrivate]) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2617
        m disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2618
                       classFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2619
                      )
767
f92a7f3dc2aa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 766
diff changeset
  2620
    ].
f92a7f3dc2aa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 766
diff changeset
  2621
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2622
    m subMenuAt:#otherMenu put:specialMenu.
180
b1dfe27837fa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  2623
    ^ m
b1dfe27837fa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  2624
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2625
    "Modified: / 27.10.1997 / 20:45:56 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2626
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2627
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2628
classNewClass
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2629
    "create a class-definition prototype in codeview"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2630
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2631
    |theClass cls|
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2632
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2633
    theClass := Object.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2634
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2635
	(cls := currentClass superclass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2636
	    theClass := cls 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2637
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2638
    ].
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  2639
    self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2640
	classClassDefinitionTemplateFor:theClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2641
	in:currentClassCategory 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2642
	namespace:false 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2643
	private:false.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2644
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2645
    aspect := nil.
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2646
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2647
    "Modified: 4.1.1997 / 14:52:16 / cg"
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2648
!
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2649
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2650
classNewPrivateClass
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2651
    "create a class-definition prototype in codeview"
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2652
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  2653
    self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2654
	classClassDefinitionTemplateFor:Object 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2655
	in:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2656
	namespace:false 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2657
	private:true.
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2658
    aspect := nil.
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2659
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2660
    "Created: 11.10.1996 / 16:01:20 / cg"
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2661
    "Modified: 4.1.1997 / 14:51:49 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2662
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2663
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2664
classNewSubclass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2665
    "create a subclass-definition prototype in codeview"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2666
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2667
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2668
	self classClassDefinitionTemplateFor:currentClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2669
					  in:(currentClass category)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2670
					  namespace:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2671
					  private:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2672
	aspect := nil
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2673
    ]
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2674
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2675
    "Modified: 4.1.1997 / 14:51:44 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2676
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2677
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2678
classPrimitiveDefinitions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2679
    "show the classes primitiveDefinition in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2680
     Also, set accept action to change it."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2681
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2682
    self classShowFrom:#primitiveDefinitionsString 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2683
		   set:#primitiveDefinitions: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2684
		aspect:#primitiveDefinitions 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2685
	       default:'%{
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2686
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2687
/*
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2688
 * includes, defines, structure definitions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2689
 * and typedefs come here.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2690
 */
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2691
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2692
%}'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2693
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2694
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2695
classPrimitiveFunctions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2696
    "show the classes primitiveFunctions in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2697
     Also, set accept action to change it."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2698
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2699
    self classShowFrom:#primitiveFunctionsString 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2700
		   set:#primitiveFunctions: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2701
		aspect:#primitiveFunctions 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2702
	       default:'%{
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2703
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2704
/* 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2705
 * any local C (helper) functions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2706
 * come here (please, define as static)
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2707
 */
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2708
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2709
%}'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2710
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2711
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2712
classPrimitiveVariables
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2713
    "show the classes primitiveVariables in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2714
     Also, set accept action to change it."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2715
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2716
    self classShowFrom:#primitiveVariablesString 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2717
		   set:#primitiveVariables: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2718
		aspect:#primitiveVariables 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2719
	       default:'%{
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2720
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2721
/* 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2722
 * any local C variables
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2723
 * come here (please, define as static)
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2724
 */
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2725
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2726
%}'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2727
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2728
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2729
classPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2730
    self classPrintOutWith:#printOutOn:
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2731
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2732
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2733
classPrintOutFullProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2734
    self classPrintOutWith:#printOutFullProtocolOn:
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2735
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2736
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2737
classPrintOutProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2738
    self classPrintOutWith:#printOutProtocolOn:
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2739
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2740
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2741
classPrintOutWith:aSelector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2742
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2743
	|printStream|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2744
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2745
	printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2746
	currentClass perform:aSelector with:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2747
	printStream close
152
d03618e99b3c show warnbox when autoload fails (instead of running into the debugger)
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
  2748
    ]
105
claus
parents: 98
diff changeset
  2749
!
claus
parents: 98
diff changeset
  2750
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2751
classProtocols
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2752
     ^ self
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2753
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2754
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2755
classRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2756
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2757
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2758
	    SystemBrowser browseReferendsOf:currentClass name asSymbol
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2759
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2760
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2761
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2762
    "Created: 23.11.1995 / 14:11:43 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  2763
    "Modified: 18.8.1997 / 15:43:47 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2764
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2765
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2766
classRemove
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2767
    "user requested remove of current class and all subclasses -
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2768
     count subclasses and let user confirm removal."
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2769
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2770
    |count t box|
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2771
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2772
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2773
	count := currentClass allSubclasses size.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2774
	t := 'remove %1'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2775
	count ~~ 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2776
	   t := t , '\(with %2 subclass'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2777
	   count ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2778
		t := t , 'es'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2779
	   ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2780
	   t := (t , ')') 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2781
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2782
	t := t , ' ?'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2783
	t := (resources string:t with:currentClass name with:count) withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2784
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2785
	box := YesNoBox 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2786
		   title:t
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2787
		   yesText:(resources at:'remove')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2788
		   noText:(resources at:'abort').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2789
	box label:(resources string:'remove class').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2790
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2791
	box confirm ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2792
	    "after querying user - do really remove current class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2793
	     and all subclasses
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2794
	    "
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2795
	    self doClassMenu:[:currentClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2796
		|didRemove|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2797
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2798
		didRemove := false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2799
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2800
		"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2801
		 query ?
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2802
		"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2803
		currentClass allSubclassesDo:[:aSubClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2804
		    (CheckForInstancesWhenRemovingClasses not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2805
		    or:[aSubClass hasInstances not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2806
		    or:[self confirm:(resources string:'''%1'' has instances - remove anyway ?' with:aSubClass name)]])
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2807
			ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2808
			    aSubClass removeFromSystem
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2809
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2810
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2811
		(CheckForInstancesWhenRemovingClasses not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2812
		or:[currentClass hasInstances not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2813
		or:[self confirm:(resources string:'''%1'' has instances - remove anyway ?' with:currentClass name)]])
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2814
		    ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2815
			didRemove := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2816
			currentClass removeFromSystem.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2817
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2818
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2819
		didRemove ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2820
		    self switchToClass:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2821
		    Smalltalk changed.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2822
		    self updateClassList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2823
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2824
		    "if it was the last in its category, update class category list"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2825
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2826
"/                    classListView numberOfLines == 0 ifTrue:[
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2827
"/                        self updateClassCategoryListWithScroll:false
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2828
"/                    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2829
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2830
		    methodCategoryListView notNil ifTrue:[methodCategoryListView contents:nil].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2831
		    methodListView notNil ifTrue:[methodListView contents:nil].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2832
		    codeView contents:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2833
		    codeView modified:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2834
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2835
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2836
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2837
	box destroy.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2838
    ]
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  2839
1280
54b004f16f9d use #removeFromSystem (to class) to remove a class.
Claus Gittinger <cg@exept.de>
parents: 1278
diff changeset
  2840
    "Modified: 12.8.1997 / 02:23:19 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2841
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2842
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2843
classRename
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2844
    "launch an enterBox for new name and query user"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2845
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2846
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2847
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2848
    self checkClassSelected ifFalse:[^ self].
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2849
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2850
		enterBoxTitle:(resources string:'rename %1 to:' with:currentClass name) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2851
		okText:'rename'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2852
		label:'rename class'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2853
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2854
    box initialText:(currentClass name).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2855
    box action:[:aString | self renameCurrentClassTo:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2856
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2857
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  2858
    "Modified: 15.1.1997 / 23:10:15 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2859
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2860
107
claus
parents: 106
diff changeset
  2861
classShowFrom:getSelector set:setSelector aspect:aspectSymbol default:default
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2862
    "common helper for comment, primitive-stuff etc.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2863
     show the string returned from the classes getSelector-method,
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2864
     Set acceptaction to change it via setSelector."
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2865
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2866
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2867
	|text|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2868
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2869
	text := currentClass perform:getSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2870
	text isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2871
	    text := default
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2872
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2873
	codeView contents:text.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2874
	codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2875
	codeView acceptAction:[:theCode |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2876
	    Object abortSignal catch:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2877
		lockUpdates := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2878
		currentClass perform:setSelector with:theCode asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2879
		codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2880
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2881
	    lockUpdates := false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2882
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2883
	codeView explainAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2884
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2885
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2886
	    methodListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2887
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2888
	aspect := aspectSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2889
	self normalLabel
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2890
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  2891
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  2892
    "Modified: 25.5.1996 / 13:02:40 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2893
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2894
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2895
classSpawn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2896
    "create a new SystemBrowser browsing current class,
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2897
     or if there is a selection, spawn a browser on the selected class
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2898
     even a class/selector pair can be specified."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2899
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2900
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2901
	|browser|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2902
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2903
	cls isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2904
	    self listOfNamespaces do:[:aNamespace |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2905
		aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2906
		    aClass class == cls ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2907
			browser := SystemBrowser browseClass:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2908
			browser instanceProtocol:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2909
			sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2910
			    browser switchToMethodNamed:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2911
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2912
			^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2913
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2914
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2915
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2916
	    self warn:'oops, no class for this metaclass'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2917
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2918
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2919
	browser := SystemBrowser browseClass:cls. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2920
	cls hasMethods ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2921
	    browser instanceProtocol:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2922
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2923
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2924
	    browser switchToMethodNamed:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2925
	].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2926
    ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2927
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2928
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2929
     select 'Smalltalk allClassesDo:' and use spawn from the class menu
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2930
     select 'Smalltalk'               and use spawn from the class menu
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2931
    "
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  2932
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  2933
    "Modified: 20.12.1996 / 15:41:16 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2934
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2935
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2936
classSpawnFullProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2937
    "create a new browser, browsing current classes full protocol"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2938
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2939
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2940
	SystemBrowser browseFullClassProtocol:cls 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2941
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2942
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2943
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2944
classSpawnHierarchy
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2945
    "create a new HierarchyBrowser browsing current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2946
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2947
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2948
	SystemBrowser browseClassHierarchy:cls 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2949
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2950
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2951
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2952
classSpawnSubclasses
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2953
    "create a new browser browsing current class's subclasses"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2954
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2955
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2956
	|subs|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2957
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2958
	subs := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2959
	self classHierarchyOf:cls withAutoloaded:false do:[:aClass :lvl |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2960
	    subs add:(String new:lvl*2) , aClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2961
	].
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  2962
"/        subs := cls allSubclasses.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2963
	(subs notNil and:[subs size ~~ 0]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2964
	    SystemBrowser browseClasses:subs 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2965
				  title:('subclasses of ' , cls name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2966
				   sort:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2967
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2968
    ]
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  2969
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  2970
    "Modified: 4.1.1997 / 13:35:55 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2971
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2972
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2973
classUnload
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2974
    "unload an autoloaded class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2975
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2976
    |nm|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2977
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2978
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2979
    nm := currentClass name.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2980
    currentClass unload.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2981
    self switchToClassNamed:nm
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2982
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2983
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2984
classUses
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2985
    "a powerful tool, when trying to learn more about where
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2986
     a class is used. This one searches all uses of a class,
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2987
     and shows a list of uses - try it and like it"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2988
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2989
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2990
	self withSearchCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2991
	    SystemBrowser browseUsesOf:currentClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2992
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2993
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2994
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2995
    "Created: 23.11.1995 / 14:11:47 / cg"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2996
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2997
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2998
doClassMenuWithSelection:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2999
    "a helper - if there is a selection, which represents a classes name,
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3000
     evaluate aBlock, passing that class and optional selector as arguments.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3001
     Otherwise, check if a class is selected and evaluate aBlock with the
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3002
     current class."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3003
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3004
    |string words clsName cls sel isMeta|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3005
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3006
    string := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3007
    string notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3008
	self extractClassAndSelectorFromSelectionInto:[:c :s :m |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3009
	    clsName := c.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3010
	    sel := s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3011
	    isMeta := m.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3012
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3013
	clsName isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3014
	    string := string asString withoutSeparators.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3015
	    words := string asCollectionOfWords.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3016
	    words notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3017
		clsName := words first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3018
		(clsName endsWith:' class') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3019
		    isMeta := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3020
		    clsName := clsName copyWithoutLast:6 "copyTo:(clsName size - 5)"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3021
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3022
		    isMeta := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3023
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3024
		sel := Parser selectorInExpression:string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3025
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3026
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3027
	clsName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3028
	    (cls := Smalltalk classNamed:clsName) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3029
		isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3030
		    cls := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3031
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3032
		self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3033
		    aBlock value:cls value:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3034
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3035
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3036
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3037
		self warn:'no class named: %1 - spawning current' with:clsName
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3038
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3039
	].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3040
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3041
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3042
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3043
	sel := classMethodListView selectionValue string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3044
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3045
	    sel := self selectorFromClassMethodString:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3046
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3047
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3048
    self doClassMenu:[:currentClass | aBlock value:currentClass value:sel]
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  3049
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  3050
    "Modified: 17.6.1996 / 16:51:49 / stefan"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  3051
    "Modified: 18.8.1997 / 15:44:01 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3052
! !
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3053
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3054
!BrowserView methodsFor:'class list source administration'!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3055
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3056
classCheckin
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3057
    "check a class into the source repository"
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3058
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3059
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3060
	self warn:'cannot checkin unloaded classes.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3061
	^ self.
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3062
    ].
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3063
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3064
	self classCheckin:currentClass withLog:nil
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3065
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3066
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3067
    "Created: 23.11.1995 / 11:41:38 / cg"
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3068
    "Modified: 15.4.1996 / 17:07:07 / cg"
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3069
!
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3070
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3071
classCheckin:aClass withLog:aLogMessage
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3072
    "check a class into the source repository"
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3073
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3074
    |logMessage info mgr|
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3075
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3076
    aClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3077
	self information:'cannot checkin unloaded classes (' , aClass name , ').'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3078
	^ self.
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3079
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3080
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3081
    aLogMessage isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3082
	logMessage := self getLogMessageFor:aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3083
	logMessage isNil ifTrue:[^ self].
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3084
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3085
	logMessage := aLogMessage
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3086
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3087
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3088
    mgr := (aClass sourceCodeManager).
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3089
    info := mgr sourceInfoOfClass:aClass.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3090
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3091
    (info isNil 
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3092
    or:[(info at:#fileName ifAbsent:nil) isNil
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3093
    or:[(info at:#module ifAbsent:nil) isNil
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3094
    or:[(info at:#directory ifAbsent:nil) isNil]]]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3095
	(self classCreateSourceContainerFor:aClass) ifFalse:[^ self]. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3096
	^ self.
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3097
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3098
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3099
    lastSourceLogMessage := logMessage.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3100
    self busyLabel:'checking in %1' with:aClass name.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3101
    Processor activeProcess withLowerPriorityDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3102
	(mgr checkinClass:aClass logMessage:logMessage) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3103
	    self warn:'checkin failed'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3104
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3105
	aspect == #revisionInfo ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3106
	    self classListUpdate
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3107
	].
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3108
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3109
    self normalLabel.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3110
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3111
    "Created: 15.4.1996 / 17:06:39 / cg"
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3112
    "Modified: 15.6.1996 / 00:22:49 / stefan"
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  3113
    "Modified: 21.12.1996 / 19:01:06 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3114
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3115
903
843c830fa921 show repositories version when comparing with newest
Claus Gittinger <cg@exept.de>
parents: 902
diff changeset
  3116
classCompareWithRepository
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3117
    "open a diff-textView comparing the current (in-image) version
903
843c830fa921 show repositories version when comparing with newest
Claus Gittinger <cg@exept.de>
parents: 902
diff changeset
  3118
     with the some version found in the repository."
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3119
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3120
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3121
	self warn:'cannot compare unloaded classes.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3122
	^ self.
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3123
    ].
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3124
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3125
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3126
	|aStream comparedSource currentSource v rev revString thisRevString mgr
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3127
	 nm msg|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3128
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3129
	nm := currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3130
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3131
	rev := currentClass binaryRevision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3132
	mgr := currentClass sourceCodeManager.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3133
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3134
	msg := resources string:'compare to revision: (empty for newest)'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3135
	rev notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3136
	    msg := msg , '\\' , (resources string:'(%1 is based upon rev %2)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3137
					   with:nm with:rev)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3138
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3139
	rev := Dialog request:msg withCRs onCancel:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3140
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3141
	rev notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3142
	    rev withoutSpaces isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3143
		msg := 'extracting newest %1'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3144
		aStream := mgr getMostRecentSourceStreamForClassNamed:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3145
		revString := '(newest)'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3146
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3147
		msg := 'extracting previous %1'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3148
		aStream := mgr getSourceStreamFor:currentClass revision:rev.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3149
		revString := rev
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3150
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3151
	    self busyLabel:msg with:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3152
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3153
	    aStream isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3154
		self warn:'could not extract source from repository'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3155
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3156
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3157
	    comparedSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3158
	    aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3159
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3160
	    self busyLabel:'generating current source ...' with:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3161
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3162
	    aStream := '' writeStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3163
	    Method flushSourceStreamCache.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3164
	    currentClass fileOutOn:aStream withTimeStamp:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3165
	    currentSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3166
	    aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3167
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3168
	    self busyLabel:'comparing  ...' with:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3169
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3170
	    comparedSource = currentSource ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3171
		self information:'versions are identical'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3172
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3173
		thisRevString := currentClass revision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3174
		thisRevString isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3175
		    thisRevString := 'no revision'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3176
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3177
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3178
		revString = '(newest)' ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3179
		    (rev := mgr newestRevisionOf:currentClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3180
			revString := '(newest is' , rev , ')'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3181
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3182
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3183
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3184
		v := DiffTextView 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3185
		    openOn:currentSource label:'current: (based on: ' , thisRevString , ')'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3186
		    and:comparedSource label:'repository: ' , revString.      
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3187
		v label:'comparing ' , nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3188
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3189
	    self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3190
	]
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3191
    ]
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3192
903
843c830fa921 show repositories version when comparing with newest
Claus Gittinger <cg@exept.de>
parents: 902
diff changeset
  3193
    "Created: 4.1.1997 / 15:48:20 / cg"
1046
e5f4d06007c6 resource strings
Claus Gittinger <cg@exept.de>
parents: 1043
diff changeset
  3194
    "Modified: 28.2.1997 / 11:44:15 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3195
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3196
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3197
classCreateSourceContainerFor:aClass
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3198
    "let user specify the source-repository values for aClass"
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3199
463
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3200
    ^ self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3201
	classDefineSourceContainerFor:aClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3202
	title:(resources string:'Repository information for %1' with:aClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3203
	text:(resources string:'CREATE_REPOSITORY' with:aClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3204
	createDirectories:true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3205
	createContainer:true.
463
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3206
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3207
    "Modified: 15.4.1996 / 17:07:57 / cg"
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3208
!
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3209
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3210
classDefineSourceContainerFor:aClass title:title text:boxText createDirectories:createDirs createContainer:createContainer
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3211
    "let user specify the source-repository values for aClass"
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3212
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3213
    |box className
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3214
     moduleHolder packageHolder fileNameHolder
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3215
     oldModule oldPackage oldFileName
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3216
     module package fileName nameSpace nameSpacePrefix
847
6666c82b9a82 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 846
diff changeset
  3217
     y component info project nm mgr creatingNew msg|
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3218
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3219
    aClass isLoaded ifFalse:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3220
        self warn:'please load the class first'.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3221
        ^ false.
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3222
    ].
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3223
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3224
    className := aClass name.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3225
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3226
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3227
    "/ defaults, if nothing at all is known
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3228
    "/
463
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3229
    (module := lastModule) isNil ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3230
        module := (OperatingSystem getLoginName).
463
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3231
    ].
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3232
    (package := lastPackage) isNil ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3233
        package := 'private'.
463
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3234
    ].
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3235
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3236
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3237
    "/ try to extract some useful defaults from the current project
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3238
    "/
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3239
    (Project notNil and:[(project := Project current) notNil]) ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3240
        package isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3241
            (nm := project repositoryDirectory) isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3242
                nm := project name
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3243
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3244
            package := nm.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3245
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3246
        module isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3247
            (nm := project repositoryModule) notNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3248
                module := nm
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3249
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3250
        ].
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3251
    ].
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3252
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3253
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3254
    "/ ask the sourceCodeManager if it knows anything about that class
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3255
    "/ if so, take that as a default.
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3256
    "/
263
7b9622ce4fcc more protocol to create containers for new classes
Claus Gittinger <cg@exept.de>
parents: 261
diff changeset
  3257
    info := (mgr := aClass sourceCodeManager) sourceInfoOfClass:aClass.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3258
    info notNil ifTrue:[
1482
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3259
        module ~= lastModule ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3260
            (info includesKey:#module) ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3261
                module := (info at:#module).
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3262
            ].
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3263
        ].
1482
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3264
        package ~= lastPackage ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3265
            (info includesKey:#directory) ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3266
                package := (info at:#directory).
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3267
            ].
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3268
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3269
        fileName := mgr containerFromSourceInfo:info.
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3270
        (nameSpace := aClass nameSpace) ~~ Smalltalk ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3271
            nameSpacePrefix := nameSpace name , '::'.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3272
            (fileName startsWith:nameSpacePrefix) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3273
                fileName := fileName copyFrom:(nameSpacePrefix size + 1).
1482
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3274
            ]
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3275
        ].
349
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3276
"/        (info includesKey:#fileName) ifTrue:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3277
"/            fileName := (info at:#fileName).
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3278
"/        ] ifFalse:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3279
"/            (info includesKey:#expectedFileName) ifTrue:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3280
"/                fileName := (info at:#expectedFileName).
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3281
"/            ] ifFalse:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3282
"/                (info includesKey:#classFileNameBase) ifTrue:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3283
"/                    fileName := (info at:#classFileNameBase) , '.st'.
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3284
"/                ]
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3285
"/            ]
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3286
"/        ]
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3287
    ].
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3288
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3289
    fileName isNil ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3290
        aClass nameSpace ~~ Smalltalk ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3291
             fileName := aClass nameWithoutPrefix , '.st'.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3292
        ] ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3293
             fileName := (Smalltalk fileNameForClass:aClass) , '.st'.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3294
        ]
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3295
    ].
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3296
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3297
    fileNameHolder := fileName asValue.
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3298
    moduleHolder := module asValue.
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3299
    packageHolder := package asValue.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3300
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3301
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3302
    "/ should check for conflicts (i.e. if such a container already exists) ...
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3303
    "/
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3304
    (mgr checkForExistingContainerInModule:module 
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3305
                                   package:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3306
                                 container:fileName) ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3307
        "/ for now - this needs more work.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3308
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3309
"/        self information:(resources 
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3310
"/                            string:'%1 is already contained in the container:
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3311
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3312
"/    %2 / %3 / %4'
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3313
"/                            with:className
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3314
"/                            with:module
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3315
"/                            with:package
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3316
"/                            with:fileName).
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3317
"/        ^ false.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3318
"/
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3319
        (Dialog confirm:(resources 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3320
                            string:'Notice: there already is a container for %1 in:
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3321
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3322
    %2 / %3 / %4
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3323
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3324
To change it, press continue.'
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3325
                            with:className
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3326
                            with:module
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3327
                            with:package
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3328
                            with:fileName)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3329
                yesLabel:(resources string:'continue')
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3330
                noLabel:(resources string:'cancel'))
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3331
        ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3332
            ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3333
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3334
        oldModule := module.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3335
        oldPackage := package.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3336
        oldFileName := fileName
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3337
    ].
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3338
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3339
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3340
    "/ open a dialog for this
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3341
    "/
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3342
    box := DialogBox new.
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3343
    box label:title.
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3344
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3345
    component := box addTextLabel:boxText withCRs.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3346
    component adjust:#left; borderWidth:0.
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3347
    box addVerticalSpace.
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3348
    box addVerticalSpace.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3349
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3350
    y := box yPosition.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3351
    component := box addTextLabel:(resources string:'Module:').
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3352
    component width:0.4; adjust:#right.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3353
    box yPosition:y.
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3354
    component := box addInputFieldOn:moduleHolder tabable:true.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3355
    component width:0.6; left:0.4; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3356
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3357
    box addVerticalSpace.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3358
    y := box yPosition.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3359
    component := box addTextLabel:'Package:'.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3360
    component width:0.4; adjust:#right.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3361
    box yPosition:y.
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3362
    component := box addInputFieldOn:packageHolder tabable:true.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3363
    component width:0.6; left:0.4; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3364
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3365
    box addVerticalSpace.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3366
    y := box yPosition.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3367
    component := box addTextLabel:'Filename:'.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3368
    component width:0.4; adjust:#right.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3369
    box yPosition:y.
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3370
    component := box addInputFieldOn:fileNameHolder tabable:true.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3371
    component width:0.6; left:0.4; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3372
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3373
    box addVerticalSpace.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3374
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3375
    (mgr checkForExistingContainerInModule:module 
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3376
                                   package:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3377
                                 container:fileName) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3378
        component := box addTextLabel:'Notice: class seems to have no container yet.'.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3379
        component adjust:#left; borderWidth:0.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3380
        creatingNew := true.
349
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3381
    ] ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3382
        creatingNew := false.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3383
    ].
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3384
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3385
    box addVerticalSpace.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3386
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3387
    box addAbortButton; addOkButton.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3388
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3389
    box showAtPointer.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3390
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3391
    box accepted ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3392
        module := moduleHolder value withoutSpaces.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3393
        package := packageHolder value withoutSpaces.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3394
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3395
        fileName := fileNameHolder value withoutSpaces.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3396
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3397
        (fileName endsWith:',v') ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3398
            fileName := fileName copyWithoutLast:2
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3399
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3400
        (fileName endsWith:'.st') ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3401
            fileName := fileName , '.st'
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3402
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3403
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3404
        info := aClass revisionInfo.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3405
        info notNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3406
            (info includesKey:#repositoryPathName) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3407
                info := nil
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3408
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3409
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3410
        info isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3411
            creatingNew ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3412
                (self confirm:(resources string:'The repository already contains a container named "%3" in "%1/%2" !!\\Checkin %4 anyway ? (DANGER - be careful)'
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3413
                         withArgs:(Array with:module with:package with:fileName with:className)) withCRs)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3414
                    ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3415
                        ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3416
                    ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3417
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3418
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3419
            (self confirm:(resources string:'%1 does not have any (usable) revision info (#version method)\\Shall I create one ?' with:className) withCRs)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3420
                ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3421
                    ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3422
                ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3423
            aClass updateVersionMethodFor:(mgr initialRevisionStringFor:aClass 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3424
                                               inModule:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3425
                                               package:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3426
                                               container:fileName).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3427
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3428
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3429
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3430
        "/ check for the module
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3431
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3432
        (mgr checkForExistingModule:module) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3433
            (createDirs or:[creatingNew]) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3434
                self warn:(resources string:'a module named %1 does not exist in the source code management' with:module).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3435
                ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3436
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3437
            (self confirm:(resources string:'%1 is a new module.\\create it ?' with:module) withCRs) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3438
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3439
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3440
            (mgr createModule:module) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3441
                self warn:(resources string:'cannot create new module: %1' with:module).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3442
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3443
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3444
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3445
        lastModule := module.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3447
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3448
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3449
        "/ check for the package
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3450
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3451
        (mgr checkForExistingModule:module package:package) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3452
            (createDirs or:[creatingNew]) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3453
                self warn:(resources string:'a package named %1 does not exist module %2' with:module with:package).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3454
                ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3455
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3456
            (self confirm:(resources string:'%1 is a new package (in module %2).\\create it ?' with:package with:module) withCRs) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3457
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3458
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3459
            (mgr createModule:module package:package) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3460
                self warn:(resources string:'cannot create new package: %1 (in module %2)' with:package with:module).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3461
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3462
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3463
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3464
        lastPackage := package.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3465
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3466
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3467
        "/ check for the container itself
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3468
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3469
        (mgr checkForExistingContainerInModule:module package:package container:fileName) ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3470
            creatingNew ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3471
                self warn:(resources string:'container for %1 already exists in %2/%3.' with:fileName with:module with:package) withCRs.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3472
            ].
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3473
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3474
"/            (oldModule notNil
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3475
"/            and:[(oldModule ~= module)
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3476
"/                 or:[oldPackage ~= package
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3477
"/                 or:[oldFileName ~= fileName]]])
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3478
"/            ifFalse:[
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3479
"/                self warn:(resources string:'no change').
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3480
"/                ^ false.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3481
"/            ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3482
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3483
            (self confirm:(resources string:'check %1 into the existing container
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3484
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3485
    %2 / %3 / %4  ?'
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3486
                                with:className
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3487
                                with:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3488
                                with:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3489
                                with:fileName) withCRs) 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3490
            ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3491
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3492
            ].  
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3493
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3494
            aClass updateVersionMethodFor:'$' , 'Header' , '$'. "/ concatenated to avoid RCS-expansion
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3495
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3496
            oldFileName notNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3497
                msg := ('forced checkin / source container change from ' , oldFileName).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3498
            ] ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3499
                msg := 'defined source container'
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3500
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3501
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3502
            (mgr
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3503
                checkinClass:aClass 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3504
                fileName:fileName 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3505
                directory:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3506
                module:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3507
                logMessage:msg)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3508
            ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3509
                (self confirm:'no easy merge seems possible; force checkin (no merge) ?') ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3510
                    self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3511
                    ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3512
                ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3513
                (mgr
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3514
                    checkinClass:aClass 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3515
                    fileName:fileName 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3516
                    directory:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3517
                    module:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3518
                    logMessage:msg
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3519
                    force:true)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3520
                ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3521
                    self warn:(resources string:'failed to check into existing container.').
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3522
                    self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3523
                    ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3524
                ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3525
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3526
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3527
            self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3528
            ^ true
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3529
        ] ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3530
            (createContainer or:[creatingNew]) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3531
                (self confirm:(resources string:'no container exists for %1 in %2/%3\\create ?' 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3532
                                          with:fileName with:module with:package) withCRs) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3533
                    ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3534
                ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3535
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3536
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3537
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3538
        (mgr
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3539
                createContainerFor:aClass
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3540
                inModule:module
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3541
                package:package
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3542
                container:fileName) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3543
            self warn:(resources string:'failed to create container.').
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3544
            self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3545
            ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3546
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3547
        self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3548
        ^ true
463
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3549
    ].
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3550
    box destroy.
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3551
    ^ false
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  3552
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3553
    "Modified: / 5.3.1998 / 02:44:45 / cg"
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3554
!
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3555
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3556
classLoadNewRevision
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3557
    "let user specify a container and fileIn from there"
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3558
741
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  3559
    |box
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3560
     moduleHolder packageHolder fileNameHolder
741
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  3561
     module package fileName aStream
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  3562
     y component mgr|
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3563
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3564
    mgr := SourceCodeManager.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3565
    mgr isNil ifTrue:[^ false].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3566
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3567
    fileNameHolder := ValueHolder newString.
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3568
    moduleHolder := (OperatingSystem getLoginName) asValue.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3569
    packageHolder := 'private' asValue.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3570
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3571
    "/
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3572
    "/ open a dialog for the module/package/container
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3573
    "/
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3574
    box := DialogBox new.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3575
    box label:'container fileIn'.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3576
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3577
    component := box addTextLabel:(resources string:'container to fileIn') withCRs.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3578
    component adjust:#left; borderWidth:0.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3579
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3580
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3581
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3582
    y := box yPosition.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3583
    component := box addTextLabel:(resources string:'Module:').
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3584
    component width:0.4; adjust:#right.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3585
    box yPosition:y.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3586
    component := box addInputFieldOn:moduleHolder tabable:true.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3587
    component width:0.6; left:0.4; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3588
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3589
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3590
    y := box yPosition.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3591
    component := box addTextLabel:'Package:'.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3592
    component width:0.4; adjust:#right.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3593
    box yPosition:y.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3594
    component := box addInputFieldOn:packageHolder tabable:true.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3595
    component width:0.6; left:0.4; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3596
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3597
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3598
    y := box yPosition.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3599
    component := box addTextLabel:'Filename:'.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3600
    component width:0.4; adjust:#right.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3601
    box yPosition:y.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3602
    component := box addInputFieldOn:fileNameHolder tabable:true.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3603
    component width:0.6; left:0.4; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3604
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3605
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3606
    box addAbortButton; addOkButton.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3607
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3608
    box showAtPointer.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3609
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3610
    box destroy.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3611
    box accepted ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3612
	^ false
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3613
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3614
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3615
    module := moduleHolder value withoutSpaces.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3616
    package := packageHolder value withoutSpaces.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3617
    fileName := fileNameHolder value withoutSpaces.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3618
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3619
    (fileName endsWith:',v') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3620
	fileName := fileName copyWithoutLast:2
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3621
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3622
    (fileName endsWith:'.st') ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3623
	fileName := fileName , '.st'
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3624
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3625
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3626
    (mgr checkForExistingContainerInModule:module 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3627
				   package:package 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3628
				 container:fileName) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3629
	self warn:'no such container'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3630
	^ false
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3631
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3632
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3633
    aStream := mgr 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3634
	    streamForClass:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3635
	    fileName:fileName 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3636
	    revision:#newest
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3637
	    directory:package
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3638
	    module:module
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3639
	    cache:false.
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3640
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3641
    aStream isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3642
	self warn:'could not fileIn from repository'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3643
	^ false.
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3644
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3645
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3646
    self busyLabel:'loading from %1' with:(module , '/' , package , '/' , fileName).
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3647
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3648
    Class withoutUpdatingChangesDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3649
	[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3650
	    aStream fileIn.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3651
	] valueNowOrOnUnwindDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3652
	    aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3653
	    self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3654
	    Smalltalk changed.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3655
	].
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3656
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3657
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3658
    ^ false
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3659
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3660
    "Created: 13.9.1996 / 09:27:09 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3661
    "Modified: 16.1.1997 / 00:50:09 / cg"
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3662
!
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3663
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3664
classLoadRevision
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3665
    "load a specific revision into the system - especially useful to
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3666
     upgrade a class to the newest revision"
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3667
264
621107e65e1e dont allow loading old revisions of autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
  3668
    currentClass isLoaded ifFalse:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3669
        self warn:'cannot load specific releases of autoloaded classes.'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3670
        ^ self.
264
621107e65e1e dont allow loading old revisions of autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
  3671
    ].
621107e65e1e dont allow loading old revisions of autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
  3672
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3673
    self doClassMenu:[:currentClass |
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3674
        |aStream comparedSource currentSource v rev revString what mgr keep className
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3675
         newClass prevCategory ok|
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3676
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3677
        rev := Dialog request:'load which revision: (empty for newest)' onCancel:nil.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3678
        rev notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3679
            className := currentClass name.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3680
            (className includesString:'_rev_') ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3681
                self warn:'select the original class and try again.'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3682
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3683
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3684
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3685
            mgr := currentClass sourceCodeManager.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3686
            ok := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3687
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3688
            rev withoutSpaces isEmpty ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3689
                what := className , '(newest)'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3690
                self busyLabel:'extracting %1' with:what.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3691
                aStream := mgr getMostRecentSourceStreamForClassNamed:className.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3692
                revString := 'newest'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3693
                keep := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3694
            ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3695
                what := className , '(' , rev , ')'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3696
                self busyLabel:'extracting %1' with:what.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3697
                aStream := mgr getSourceStreamFor:currentClass revision:rev.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3698
                revString := rev.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3699
                keep := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3700
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3701
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3702
            aStream isNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3703
                self warn:'cannot find classes source.'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3704
                ^ self.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3705
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3706
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3707
            self busyLabel:'loading %1' with:what .
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3708
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3709
            [
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3710
                Class withoutUpdatingChangesDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3711
                    |saveIt prevSkip|
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3712
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3713
                    saveIt := Dialog confirmWithCancel:'keep a save-copy of the existing class ?
1033
fe5a3c210282 when loading a revision from the repository,
ca
parents: 1029
diff changeset
  3714
fe5a3c210282 when loading a revision from the repository,
ca
parents: 1029
diff changeset
  3715
(you have to care for subclasses if doing so)' default:false.
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3716
                    saveIt isNil ifTrue:[^ self].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3717
                    saveIt ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3718
                        "/ rename the current class - for backup
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3719
                        prevCategory := currentClass category.    
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3720
                        currentClass category:'* obsolete *'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3721
                        Smalltalk renameClass:currentClass to:className , '_saved'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3722
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3723
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3724
                    prevSkip := ClassCategoryReader skipUnchangedMethods.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3725
                    ClassCategoryReader skipUnchangedMethods:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3726
                    lockUpdates := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3727
                    [
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3728
                        aStream fileIn.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3729
                    ] valueNowOrOnUnwindDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3730
                        ClassCategoryReader skipUnchangedMethods:prevSkip.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3731
                        lockUpdates := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3732
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3733
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3734
                    "/ did that work ?
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3735
                    newClass := Smalltalk at:className ifAbsent:nil.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3736
                    newClass isNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3737
                        saveIt ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3738
                            self warn:'fileIn failed - undoing changes ...'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3739
                            Smalltalk renameClass:currentClass to:className.                        
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3740
                            currentClass category:prevCategory.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3741
                        ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3742
                            self warn:'fileIn failed - cannot recover class'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3743
                        ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3744
                    ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3745
                        "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3746
                        "/ if we loaded an old version, rename that one and fix the name of the
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3747
                        "/ current class
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3748
                        "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3749
                        keep ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3750
                            saveIt ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3751
                                Smalltalk renameClass:newClass to:(className , '_rev_' , rev).
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3752
                                newClass category:'* old versions *'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3753
                                Smalltalk renameClass:currentClass to:className.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3754
                                currentClass category:prevCategory.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3755
                            ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3756
                        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3757
                        ok := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3758
                    ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3759
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3760
            ] valueNowOrOnUnwindDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3761
                aStream close.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3762
                self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3763
                Smalltalk changed.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3764
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3765
            ok ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3766
                self switchToClassNamed:newClass name.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3767
            ]    
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3768
        ]
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3769
    ]
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3770
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3771
    "Created: / 14.11.1995 / 16:43:15 / cg"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3772
    "Modified: / 4.3.1998 / 14:49:22 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3773
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3774
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3775
classModifyContainer
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3776
    "check a class into the source repository"
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3777
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3778
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3779
	self warn:'dont know anything about unloaded classes.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3780
	^ self.
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3781
    ].
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3782
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3783
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3784
	self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3785
	    classDefineSourceContainerFor:currentClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3786
	    title:(resources string:'Repository information for %1' with:currentClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3787
	    text:'defining/changing the source code container'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3788
	    createDirectories:true createContainer:true. 
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3789
    ]
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3790
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3791
    "Created: 23.11.1995 / 11:41:38 / cg"
349
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3792
    "Modified: 6.2.1996 / 16:58:58 / cg"
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3793
!
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3794
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3795
classRemoveContainer
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3796
    "remove a container from the source repository"
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3797
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3798
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3799
	self warn:'please load the class first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3800
	^ self.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3801
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3802
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3803
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3804
	self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3805
	    classRemoveSourceContainerFor:currentClass
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3806
    ]
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3807
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3808
    "Created: 23.11.1995 / 11:41:38 / cg"
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3809
    "Modified: 11.9.1996 / 12:55:42 / cg"
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3810
!
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3811
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3812
classRemoveSourceContainerFor:aClass
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3813
    "show container & let user confirm twice."
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3814
741
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  3815
    |module package fileName info mgr|
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3816
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3817
    aClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3818
	self warn:'please load the class first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3819
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3820
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3821
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3822
    "/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3823
    "/ ask the sourceCodeManager if it knows anything about that class
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3824
    "/ if so, take that as a default.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3825
    "/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3826
    mgr := aClass sourceCodeManager.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3827
    mgr isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3828
	self warn:'No sourceCodeManagement.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3829
	^ false
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3830
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3831
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3832
    info := mgr sourceInfoOfClass:aClass.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3833
    info notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3834
	(info includesKey:#module) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3835
	    module := (info at:#module).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3836
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3837
	(info includesKey:#directory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3838
	    package := (info at:#directory).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3839
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3840
	fileName := mgr containerFromSourceInfo:info.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3841
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3842
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3843
    module isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3844
	self warn:'classes module is unknown.\\It seems to not have a container.' withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3845
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3846
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3847
    package isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3848
	self warn:'classes package is unknown.\\It seems to not have a container.' withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3849
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3850
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3851
    fileName isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3852
	self warn:'classes container fileName is unknown.\\It seems to not have a container.' withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3853
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3854
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3855
        
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3856
    (mgr checkForExistingContainerInModule:module 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3857
				   package:package 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3858
				 container:fileName) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3859
	self warn:'Class has no source container.' withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3860
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3861
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3862
731
6889fc8ebac5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
  3863
    (Dialog
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3864
	choose:(resources 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3865
		    string:'Please confirm removal of the container for %1:
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3866
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3867
container:    %2 / %3 / %4
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3868
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3869
Really remove ?' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3870
		    with:aClass name 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3871
		    with:module 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3872
		    with:package 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3873
		    with:fileName) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3874
	labels:(Array 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3875
		    with:(resources string:'no') 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3876
		    with:(resources string:'remove'))
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3877
	values:#(false true)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3878
	default:false) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3879
	^ self.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3880
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3881
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3882
    (mgr removeContainerFor:aClass
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3883
		   inModule:module
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3884
		    package:package
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3885
		  container:fileName) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3886
	self warn:(resources string:'failed to remove container.').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3887
	self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3888
	^ true.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3889
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3890
    ^ false
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3891
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3892
    "Created: 11.9.1996 / 13:06:14 / cg"
731
6889fc8ebac5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
  3893
    "Modified: 13.9.1996 / 19:06:06 / cg"
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3894
!
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3895
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3896
classRevisionInfo
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3897
    "show current classes revision info in codeView"
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3898
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3899
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3900
	|aStream info info2 s rv mgr fn msg|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3901
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3902
	aStream := WriteStream on:(String new:200).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3903
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3904
	    Processor activeProcess withLowerPriorityDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3905
		self busyLabel:'extracting revision info' with:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3906
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3907
		info := currentClass revisionInfo.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3908
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3909
		rv := currentClass binaryRevision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3910
		rv notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3911
		    aStream nextPutLine:'**** Loaded classes binary information ****'; cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3912
		    aStream nextPutLine:'  Binary based upon : ' , rv.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3913
		    aStream cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3914
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3915
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3916
		info notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3917
		    (info includesKey:#revision) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3918
			aStream nextPutLine:'WARNING:'; cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3919
			aStream nextPutLine:'  The class seems not to be loaded from the repository.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3920
			aStream nextPutLine:'  Check carefully before checking anything in.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3921
			aStream nextPutLine:'  (i.e. compare with repository for renamed class(es), same-name but unrelated etc.)'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3922
			aStream cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3923
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3924
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3925
		    aStream nextPutLine:'**** Classes source information ****'; cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3926
		    s := info at:#repositoryPath ifAbsent:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3927
		    s notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3928
			aStream nextPutLine:'  Source repository : ' , s
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3929
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3930
		    aStream nextPutLine:'  Filename ........ : ' , (info at:#fileName ifAbsent:'?').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3931
		    aStream nextPutLine:'  Revision ........ : ' , (info at:#revision ifAbsent:'?').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3932
		    aStream nextPutLine:'  Checkin date .... : ' , (info at:#date ifAbsent:'?') , ' ' , (info at:#time ifAbsent:'?').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3933
		    aStream nextPutLine:'  Checkin user .... : ' , (info at:#user ifAbsent:'?').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3934
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3935
		    (info2 := currentClass packageSourceCodeInfo) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3936
			aStream nextPutLine:'  Repository: ..... : ' , (info2 at:#module ifAbsent:'?').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3937
			aStream nextPutLine:'  Directory: ...... : ' , (info2 at:#directory ifAbsent:'?').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3938
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3939
		    aStream nextPutLine:'  Container ....... : ' , (info at:#repositoryPathName ifAbsent:'?').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3940
		    aStream cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3941
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3942
		    (mgr := currentClass sourceCodeManager) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3943
			aStream nextPutLine:'**** Repository information ****'; cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3944
			mgr writeRevisionLogOf:currentClass to:aStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3945
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3946
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3947
		    aStream nextPutLine:'No revision info found'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3948
		    currentClass isLoaded ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3949
			aStream cr; nextPutAll:'This is an autoloaded class - you may see more after its loaded.'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3950
		    ] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3951
			fn := currentClass classFilename.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3952
			currentClass wasAutoloaded ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3953
			    msg := 'This class was autoloaded.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3954
			    fn notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3955
				msg := msg , ' (from ''' , fn , ''')'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3956
			    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3957
			] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3958
			    fn notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3959
				msg := 'This class was loaded from ''' , fn , '''.'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3960
			    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3961
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3962
			msg notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3963
			    aStream cr; nextPutAll:msg.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3964
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3965
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3966
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3967
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3968
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3969
	codeView contents:(aStream contents).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3970
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3971
	codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3972
	codeView acceptAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3973
	codeView explainAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3974
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3975
	    methodListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3976
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3977
	aspect := #revisionInfo. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3978
	self normalLabel
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3979
    ]
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3980
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3981
    "Created: 14.11.1995 / 16:43:15 / cg"
859
98ee4f71459d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 858
diff changeset
  3982
    "Modified: 11.11.1996 / 10:09:28 / cg"
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3983
!
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3984
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3985
getLogMessageFor:aString
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3986
    "get a log message for when checking in a class.
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3987
     Return the message or nil if aborted."
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3988
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3989
    |dialog textView|
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3990
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3991
    dialog := Dialog new.
1046
e5f4d06007c6 resource strings
Claus Gittinger <cg@exept.de>
parents: 1043
diff changeset
  3992
    (dialog addTextLabel:(resources string:'enter log message for: %1' with:aString)) adjust:#left.
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3993
    textView := dialog addTextBoxOn:nil 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3994
			class:EditTextView
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3995
			withNumberOfLines:10 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3996
			hScrollable:true 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3997
			vScrollable:true.
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3998
    dialog width:(textView preferredExtentForLines:10 cols:70) x.
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  3999
    textView contents:lastSourceLogMessage.
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4000
    dialog addAbortButton; addOkButton.
1043
01edbc67e510 ok button in log-message box is no return button
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
  4001
    dialog okButton isReturnButton:false.
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4002
    dialog open.
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4003
    dialog accepted ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4004
	^ textView contents
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4005
    ].
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4006
    ^ nil
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4007
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4008
    "Created: 15.6.1996 / 00:20:46 / stefan"
1046
e5f4d06007c6 resource strings
Claus Gittinger <cg@exept.de>
parents: 1043
diff changeset
  4009
    "Modified: 28.2.1997 / 11:47:33 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  4010
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  4011
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4012
!BrowserView methodsFor:'class stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4013
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4014
allClassesInCategory:aCategory
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4015
    |classes|
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4016
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4017
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4018
	^ Smalltalk allClassesInCategory:currentClassCategory
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4019
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4020
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4021
    classes := Set new.
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4022
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4023
    (self listOfNamespaces) do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4024
	aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4025
	    |actualNamespace nm|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4026
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4027
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4028
		(aCategory = '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4029
		or:[aClass category = aCategory]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4030
		    (aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4031
		    or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4032
			actualNamespace := aClass nameSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4033
			(actualNamespace isNamespace not "/ a private class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4034
			or:[actualNamespace == aNamespace]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4035
			    classes add:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4036
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4037
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4038
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4039
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4040
	]
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4041
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4042
    ^ classes
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4043
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4044
    "Created: 23.12.1996 / 10:26:28 / cg"
887
ad1d6b0ed970 namespace fixes
Claus Gittinger <cg@exept.de>
parents: 886
diff changeset
  4045
    "Modified: 23.12.1996 / 11:33:13 / cg"
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4046
!
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4047
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4048
allClassesInCategory:aCategory do:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4049
    |classes|
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4050
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4051
    classes := self allClassesInCategory:aCategory.
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4052
    classes do:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4053
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4054
    "Modified: 23.12.1996 / 10:30:00 / cg"
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4055
!
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4056
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4057
allClassesInCategory:aCategory inOrderDo:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4058
    "evaluate the argument, aBlock for all classes in aCategory;
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4059
     superclasses come first - then subclasses"
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4060
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4061
    |classes|
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4062
1079
513fda872db0 oops - need an OC for sorting
Claus Gittinger <cg@exept.de>
parents: 1075
diff changeset
  4063
    classes := (self allClassesInCategory:aCategory) asOrderedCollection.
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4064
    classes topologicalSort:[:a :b | b isSubclassOf:a].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4065
    classes do:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4066
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4067
    "Created: 23.12.1996 / 10:27:52 / cg"
1079
513fda872db0 oops - need an OC for sorting
Claus Gittinger <cg@exept.de>
parents: 1075
diff changeset
  4068
    "Modified: 19.3.1997 / 12:48:28 / cg"
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4069
!
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4070
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4071
allClassesInSelectedNamespacesDo:aBlock
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4072
    |nameSpacesConsidered|
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4073
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4074
    nameSpacesConsidered := self listOfNamespaces asIdentitySet.
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4075
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4076
    Smalltalk allBehaviorsDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4077
	(nameSpacesConsidered includes:aClass nameSpace)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4078
	ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4079
	    aBlock value:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4080
	]
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4081
    ]
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4082
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4083
    "Created: 16.1.1997 / 20:18:47 / cg"
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4084
    "Modified: 16.1.1997 / 20:20:24 / cg"
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4085
!
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4086
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4087
checkClassSelected
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4088
    "warn and return false, if no class is selected"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4089
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4090
    currentClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4091
	self warn:'select a class first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4092
	^ false
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  4093
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4094
    ^ true
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4095
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4096
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4097
classClassDefinitionTemplateFor:aClass in:cat namespace:isNameSpace private:isPrivate
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4098
    "common helper for newClass and newSubclass
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4099
     - show a template to define a subclass of aClass in category cat.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4100
     Also, set acceptaction to install the class."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4101
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4102
    |theSuperClass|
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4103
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4104
    currentMethodCategory := nil.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4105
    currentMethod := currentSelector := nil.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4106
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  4107
    classListView setSelection:nil.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4108
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4109
    fullClass ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4110
	methodCategoryListView contents:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4111
	methodListView contents:nil
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4112
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4113
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4114
    (aClass == Autoload
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4115
    or:[aClass isNil or:[aClass isLoaded not]]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4116
	theSuperClass := Object
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4117
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4118
	theSuperClass := aClass
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4119
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4120
    codeView contents:(self classTemplateFor:theSuperClass in:cat namespace:isNameSpace private:isPrivate).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4121
    codeView modified:false.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4122
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4123
    codeView acceptAction:[:theCode |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4124
	codeView cursor:Cursor execute.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4125
	Object abortSignal catch:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4126
	    |cls|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4127
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4128
	    Object errorSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4129
		codeView error:ex errorString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4130
			 position:1 to:nil from:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4131
	    ] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4132
		Class nameSpaceQuerySignal answer:Smalltalk
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4133
		do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4134
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4135
		    cls := (Compiler evaluate:theCode asString notifying:codeView compile:false).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4136
		    cls isBehavior ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4137
			codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4138
			self classCategoryUpdate.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4139
			self updateClassListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4140
			cls isNamespace ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4141
			    self switchToClassNamed:(cls name).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4142
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4143
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4144
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4145
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4146
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4147
	codeView cursor:(Cursor normal).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4148
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4149
    codeView explainAction:nil.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4150
    self switchToClass:nil
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4151
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4152
    "Created: 23.12.1996 / 12:45:43 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  4153
    "Modified: 16.1.1997 / 01:46:39 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4154
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4155
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4156
classDoubleClick:lineNr
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4157
    "double click on a class;
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4158
     if its unloaded, load it.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4159
     if its an application-class, start the app"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4160
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4161
    currentClass notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4162
        currentClass isVisualStartable ifTrue:[
1500
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  4163
            self withWaitCursorDo:[
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  4164
                self busyLabel:'starting application %1' with:currentClass name.
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4165
                currentClass open.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4166
                self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4167
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4168
            ^ self
1478
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4169
        ].
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4170
        currentClass isLoaded ifFalse:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4171
            self classLoad.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4172
"/            self withWaitCursorDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4173
"/                currentClass autoload.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4174
"/            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4175
            self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4176
            ^ self
1478
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4177
        ].
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4178
    ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4179
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4180
    "Created: / 29.10.1997 / 15:50:26 / cg"
1478
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4181
    "Modified: / 16.2.1998 / 11:55:25 / stefan"
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4182
    "Modified: / 4.3.1998 / 14:58:35 / cg"
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4183
!
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4184
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4185
classListUpdate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4186
    RememberAspect ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4187
	aspect == #hierarchy ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4188
	    ^ self classHierarchy
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4189
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4190
	aspect == #classInstVars ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4191
	    ^ self classClassInstVars
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4192
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4193
	aspect == #comment ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4194
	    ^ self classComment
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4195
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4196
	aspect == #primitiveDefinitions ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4197
	    ^ self classPrimitiveDefinitions
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4198
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4199
	aspect == #primitiveFunctions ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4200
	    ^ self classPrimitiveFunctions
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4201
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4202
	aspect == #primitiveVariables ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4203
	    ^ self classPrimitiveVariables
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4204
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4205
	aspect == #revisionInfo ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4206
	    ^ self classRevisionInfo
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4207
	].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4208
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4209
    self classDefinition
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4210
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4211
    "Created: 23.11.1995 / 11:28:58 / cg"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4212
    "Modified: 23.11.1995 / 11:36:08 / cg"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4213
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4214
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4215
classSelection:lineNr
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4216
    "user clicked on a class line - show method categories"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4217
991
893a4dc659af added mechanism to reconnect a class (in case its removed from
Claus Gittinger <cg@exept.de>
parents: 990
diff changeset
  4218
    |cls nm oldSelector sel classes key msg globlName|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4219
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4220
    (currentClassHierarchy notNil
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4221
     and:[fullProtocol]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4222
	oldSelector := currentSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4223
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4224
	self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4225
	self updateMethodListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4226
	fullProtocol ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4227
	    self updateVariableList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4228
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4229
	oldSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4230
	    self switchToMethod:oldSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4231
	    currentMethod notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4232
		self switchToMethodCategory:(currentMethod category).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4233
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4234
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4235
	^ self
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4236
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4237
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4238
    (sel := classListView selectionValue) isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4239
	self classCategorySelectionChanged. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4240
	aspect := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4241
	currentClass := actualClass := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4242
	self updateCodeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4243
	^ self
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4244
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4245
    nm := sel withoutSpaces.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  4246
    cls := self findClassNamed:nm.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4247
    cls notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4248
	self switchToClass:cls.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4249
	self classSelectionChanged
836
22cdfaaf87fc namespace fixes & another check
Claus Gittinger <cg@exept.de>
parents: 834
diff changeset
  4250
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4251
	(self confirm:('oops - no class named: ' , nm , ' found in selected namespace(s)\\Try to reconnect ?') withCRs)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4252
	ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4253
	    "/ search for all classes by that name ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4254
	    classes := IdentitySet new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4255
	    Class allSubInstancesDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4256
		aClass name = nm ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4257
		    classes add:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4258
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4259
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4260
	    classes notEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4261
		classes size == 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4262
		    cls := classes first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4263
		    Smalltalk 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4264
			keysAndValuesDo:[:key :aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4265
				(Smalltalk at:key) == cls ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4266
				    globlName := key
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4267
				]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4268
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4269
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4270
		    msg := 'found ' , cls name , ' in category ''' , cls category , '''.\'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4271
		    globlName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4272
			msg := msg , '(known as ' , globlName , ')\'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4273
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4274
		    (self confirm:(msg , '\rebind in Smalltalk as ''' , cls name , '''?') withCRs)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4275
		    ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4276
			Smalltalk at:cls name asSymbol put:cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4277
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4278
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4279
		    self warn:('found multiple classes with a name of ' , nm , '.\\Select and rename as required') withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4280
		     SystemBrowser browseClasses:classes asOrderedCollection
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4281
					   title:'choose and rename as required'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4282
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4283
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4284
		self warn:'oops - could not find that class'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4285
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4286
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4287
    ]
572
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
  4288
1267
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  4289
    "Modified: 31.7.1997 / 22:56:45 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4290
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4291
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4292
classSelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4293
    |oldMethodCategory oldMethod oldSelector|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4294
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  4295
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4296
	"/ alien classes have no methodCategories; hide that list ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4297
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4298
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4299
	    currentClass supportsMethodCategories ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4300
		self hideMethodCategoryList
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4301
	    ] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4302
		self showMethodCategoryList
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4303
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4304
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4305
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4306
	aspect := #definition.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4307
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4308
	oldMethodCategory := currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4309
	oldMethod := currentMethod.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4310
	oldSelector := currentSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4311
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4312
	showInstance ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4313
	    actualClass := acceptClass := currentClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4314
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4315
	    actualClass := acceptClass := currentClass class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4316
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4317
	currentMethodCategory := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4318
	currentMethod := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4319
	currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4320
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4321
	self updateMethodCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4322
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4323
	oldMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4324
	    methodCategoryListView setSelectElement:oldMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4325
	    methodCategoryListView hasSelection ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4326
		currentMethodCategory := oldMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4327
		self methodCategorySelectionChanged
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4328
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4329
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4330
	self updateMethodList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4331
	"/ self updateCodeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4332
	self updateVariableList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4333
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4334
	fullClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4335
	    self updateCodeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4336
	    codeView acceptAction:[:theCode |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4337
		codeView cursor:Cursor execute.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4338
		Object abortSignal catch:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4339
		    self compileCode:theCode asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4340
		    codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4341
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4342
		codeView cursor:Cursor normal.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4343
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4344
	] ifFalse:[
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4345
"/            self classDefinition.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4346
	    self classListUpdate.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4347
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4348
	    codeView acceptAction:[:theCode |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4349
		|ns|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4350
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4351
		currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4352
		    ns := currentClass nameSpace
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4353
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4354
		    ns := nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4355
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4356
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4357
		codeView cursor:Cursor execute.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4358
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4359
		Class nameSpaceQuerySignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4360
		    ns isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4361
			ex reject
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4362
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4363
		    ex proceedWith:ns
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4364
		] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4365
		    Object abortSignal catch:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4366
			UndefinedObject createMinimumProtocolInNewSubclassQuery
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4367
			answer:true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4368
			do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4369
			    (Compiler 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4370
				evaluate:theCode asString 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4371
				notifying:codeView 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4372
				compile:false)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4373
			    isBehavior ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4374
				self classCategoryUpdate.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4375
				self updateClassListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4376
				codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4377
			    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4378
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4379
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4380
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4381
		codeView cursor:Cursor normal.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4382
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4383
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4384
	codeView explainAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4385
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4386
	(classCategoryListView notNil and:[currentClass notNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4387
	    (currentClassCategory = currentClass category) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4388
		currentClassCategory := currentClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4389
		(classCategoryListView list includes:currentClassCategory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4390
		    classCategoryListView setSelectElement:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4391
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4392
		    classCategoryListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4393
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4394
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4395
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4396
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4397
	self setDoitActionForClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4398
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4399
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4400
    "Created: 23.11.1995 / 11:32:03 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  4401
    "Modified: 18.8.1997 / 15:43:49 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4402
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4403
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4404
classTemplateFor:aSuperClass in:categoryString namespace:isNameSpace private:isPrivate
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4405
    "return a class definition template - be smart in what is offered initially"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4406
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4407
    |cat aString name nameProto namePrefix i existingNames withNameSpaceDirective
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4408
     className ownerName s|
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4409
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4410
    s := TextStream on:''.
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4411
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4412
    isNameSpace ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4413
        s nextPutAll:'Namespace name:''NewNameSpace'''.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4414
        s cr; cr.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4415
        s emphasis:(self commentEmphasis).
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4416
        s nextPutAll:'"
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4417
 Replace ''NewNameSpace'' by the desired name.
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4418
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4419
 Create the namespace by ''accepting'',
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4420
 either via the menu or the keyboard (usually CMD-A).
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4421
"
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4422
'.
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4423
        ^ s contents.
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4424
    ].
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4425
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4426
    withNameSpaceDirective :=
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4427
        currentNamespace notNil 
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4428
        and:[currentNamespace ~= '* all *'
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4429
        and:[currentNamespace ~= Smalltalk]].
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4430
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4431
    withNameSpaceDirective ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4432
        className := aSuperClass nameWithoutNameSpacePrefix.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4433
        s nextPutAll:('"{ Namespace: ''' , currentNamespace name , ''' }"').
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4434
        s cr; cr.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4435
    ] ifFalse:[    
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4436
        className := aSuperClass name.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4437
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4438
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4439
    cat := categoryString.
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4440
    (cat isNil or:[cat startsWith:$*]) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4441
        cat := '* no category *'
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4442
    ].
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4443
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4444
    nameProto := 'NewClass'.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4445
    i := 1.
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4446
    isPrivate ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4447
        namePrefix := currentClass name , '::'.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4448
        existingNames := currentClass privateClasses.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4449
        existingNames size > 0 ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4450
            existingNames := existingNames collect:[:cls | cls name].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4451
        ]
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4452
    ] ifFalse:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4453
        namePrefix := ''.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4454
        existingNames := Smalltalk keys
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4455
    ].
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4456
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4457
    name := 'NewClass' , i printString.
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4458
    existingNames notNil ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4459
        nameProto := namePrefix , name.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4460
        [nameProto knownAsSymbol and:[existingNames includes:nameProto asSymbol]] whileTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4461
            i := i + 1.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4462
            name := 'NewClass' , i printString.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4463
            nameProto := namePrefix , name
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4464
        ].
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4465
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4466
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4467
    s nextPutAll:className.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4468
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4469
    isPrivate ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4470
        withNameSpaceDirective ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4471
            ownerName := currentClass nameWithoutNameSpacePrefix
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4472
        ] ifFalse:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4473
            ownerName := currentClass name
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4474
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4475
        s nextPutAll:(' subclass:#' , name  , '
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4476
' , '    instanceVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4477
' , '    classVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4478
' , '    poolDictionaries: ''''
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4479
' , '    privateIn:' , ownerName)
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4480
    ] ifFalse:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4481
        s nextPutAll:(' subclass:#' , name , '
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4482
' , '    instanceVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4483
' , '    classVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4484
' , '    poolDictionaries: ''''
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4485
' , '    category: ''').
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4486
        cat notNil ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4487
            s nextPutAll: cat
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4488
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4489
        s nextPutAll: ''''
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4490
    ].
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4491
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4492
    s cr; cr.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4493
    s emphasis:(self commentEmphasis).
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4494
    s nextPutAll:'
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4495
"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4496
 Replace ''' , className , ''', ''', name , ''' and
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4497
 the empty string arguments by true values.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4498
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4499
 Install (or change) the class by ''accepting'',
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4500
 either via the menu or the keyboard (usually CMD-A).
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4501
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4502
 To be nice to others (and yourself later), do not forget to
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4503
 add some documentation; preferably under the classes documentation
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4504
 protocol.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4505
 (see the `create documentation stubs'' item in the methodList menu.)
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4506
"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4507
'.
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4508
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4509
    ^ s contents
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4510
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4511
    "Created: / 23.12.1996 / 12:46:31 / cg"
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4512
    "Modified: / 5.3.1998 / 02:45:52 / cg"
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4513
!
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4514
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4515
doClassMenu:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4516
    "a helper - check if class is selected and evaluate aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4517
     while showing waitCursor"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4518
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4519
    self checkClassSelected ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4520
	self withBusyCursorDo:[aBlock value:currentClass]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4521
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  4522
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  4523
    "Modified: 18.8.1997 / 15:43:58 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4524
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4525
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4526
listOfAllClassNamesInCategory:aCategory
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4527
    "return a list of the names of all classes in a given category"
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4528
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4529
    ^ self listOfAllClassesInCategory:aCategory names:true
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4530
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4531
    "Modified: 10.1.1997 / 14:00:33 / cg"
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4532
!
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4533
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4534
listOfAllClassesInCategory:aCategory names:namesFlag
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4535
    "return a list of (the names) of all classes in a given category
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4536
     from the currently selected set of nameSpaces."
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4537
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4538
    |nameSpaces listOfClassNames listOfClasses classesPresent namesPresent searchCategory 
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4539
     match anyCategory nm owner allNameSpaces|
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4540
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4541
    allNameSpaces := (currentNamespace = '* all *').
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4542
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4543
    "/ keep track of added names (care for obsolete classes)
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4544
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4545
    namesPresent := Set new.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4546
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  4547
    (aCategory = '* hierarchy *') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4548
	listOfClassNames := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4549
	listOfClasses := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4550
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4551
	self classHierarchyOf:Object withAutoloaded:true do:[:aClass :lvl|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4552
	    |indent|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4553
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4554
	    (aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4555
	    or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4556
		nm := self displayedClassNameOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4557
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4558
		(namesPresent includes:nm) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4559
		    indent := String new:lvl*2.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4560
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4561
		    "/ show classes from other nameSpaces in italic
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4562
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4563
		    (allNameSpaces not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4564
		     and:[(self findClassNamedInNameSpace:nm) isNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4565
			nm := nm asText emphasizeAllWith:#italic.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4566
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4567
		    nm := indent , nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4568
		    namesPresent add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4569
		    listOfClassNames add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4570
		    listOfClasses add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4571
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4572
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4573
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4574
	namesFlag ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4575
	    ^ listOfClasses
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4576
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4577
	^ listOfClassNames
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4578
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4579
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4580
    (aCategory = '* all *') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4581
	anyCategory := true
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4582
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4583
	anyCategory := false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4584
	(aCategory = '* no category *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4585
	    searchCategory := nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4586
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4587
	    searchCategory := aCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4588
	].
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4589
    ].
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4590
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4591
    allNameSpaces ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4592
	nameSpaces := Array with:Smalltalk.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4593
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4594
	nameSpaces := self listOfNamespaces.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4595
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4596
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4597
    listOfClasses := OrderedCollection new.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4598
    listOfClassNames := OrderedCollection new.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4599
    classesPresent := IdentitySet new.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4600
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4601
    nameSpaces do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4602
	aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4603
	    |thisCategory actualNamespace nm owner|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4604
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4605
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4606
		(aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4607
		or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4608
		    (classesPresent includes:aClass) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4609
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4610
			match := anyCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4611
			match ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4612
			    thisCategory := aClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4613
			    match := ((thisCategory = searchCategory) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4614
				     or:[thisCategory = aCategory]).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4615
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4616
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4617
			match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4618
			    fullClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4619
				aClass owningClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4620
				    match := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4621
				]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4622
			    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4623
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4624
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4625
			match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4626
			    nm := self displayedClassNameOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4627
			    (namesPresent includes:nm) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4628
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4629
				allNameSpaces ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4630
				    (owner := aClass topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4631
					actualNamespace := owner nameSpace
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4632
				    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4633
					actualNamespace := aClass nameSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4634
				    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4635
				    match := actualNamespace isNamespace not "/ a private class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4636
					     or:[actualNamespace == aNamespace].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4637
				].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4638
				match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4639
				    namesPresent add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4640
				    classesPresent add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4641
				    listOfClasses add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4642
				    listOfClassNames add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4643
				]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4644
			    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4645
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4646
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4647
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4648
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4649
	]
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4650
    ].
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4651
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4652
    fullClass ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4653
	"/
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4654
	"/ mhm - must search through private classes of those
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4655
	"/ in smalltalk (they are not visible in the nameSpace,
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4656
	"/ but should also be displayed)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4657
	"/
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4658
	Smalltalk allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4659
	    |actualNamespace owner|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4660
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4661
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4662
		(classesPresent includes:aClass) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4663
		    (owner := aClass topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4664
			(classesPresent includes:owner) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4665
			    nm := self displayedClassNameOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4666
			    (namesPresent includes:nm) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4667
				namesPresent add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4668
				listOfClasses add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4669
				listOfClassNames add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4670
			    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4671
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4672
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4673
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4674
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4675
	].
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4676
    ].
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4677
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4678
    (listOfClasses size == 0) ifTrue:[^ nil].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4679
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4680
    "/ sort by name
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4681
    listOfClassNames sortWith:listOfClasses.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4682
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4683
    namesFlag ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4684
	^ listOfClasses
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4685
    ].
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4686
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4687
    "/ indent after sorting
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4688
    1 to:listOfClassNames size do:[:index |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4689
	|nm cls owner s|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4690
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4691
	cls := listOfClasses at:index.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4692
	owner := cls.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4693
	(owner := owner owningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4694
	    nm := listOfClassNames at:index.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4695
	    s := nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4696
	    [owner notNil] whileTrue:[    
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4697
		s := '  ' , s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4698
		owner := owner owningClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4699
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4700
	    listOfClassNames at:index put:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4701
	].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4702
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4703
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4704
    ^ listOfClassNames
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4705
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4706
    "Created: 10.1.1997 / 13:57:34 / cg"
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  4707
    "Modified: 22.3.1997 / 14:03:36 / cg"
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4708
!
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4709
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4710
listOfClassNameHierarchyOf:aClass
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4711
    "return a hierarchy class-list"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4712
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4713
    |startClass classes thisOne|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4714
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4715
    showInstance ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4716
	startClass := aClass
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4717
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4718
	startClass := aClass class.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4719
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4720
    classes := startClass allSuperclasses.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4721
    thisOne := Array with:startClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4722
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4723
    classes notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4724
	classes := classes reverse , thisOne.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4725
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4726
	classes := thisOne
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4727
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4728
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4729
    fullProtocol ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4730
	classes := classes , startClass allSubclassesInOrder
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4731
    ].
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  4732
    ^ classes collect:[:c | self displayedClassNameOf:c "c name"]
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  4733
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4734
    "Created: 10.1.1997 / 14:01:06 / cg"
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  4735
    "Modified: 30.7.1997 / 17:47:24 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4736
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4737
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4738
renameCurrentClassTo:aString
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4739
    "helper - do the class-rename"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4740
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4741
    self doClassMenu:[:currentClass |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4742
        |oldSym cls|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4743
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4744
        "/ check if the target already exists - confirm if so.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4745
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4746
        (cls := Smalltalk classNamed:aString) notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4747
            (self confirm:(resources string:'WARN_RENAME' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4748
                                     with:aString 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4749
                                     with:cls category) withCRs)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4750
                ifFalse:[^ self]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4751
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4752
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4753
        oldSym := currentClass name asSymbol.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4754
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4755
        "/
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4756
        "/ renaming is actually more complicated as one might
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4757
        "/ think (care for classVariables, privateClasses etc.)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4758
        "/ Smalltalk knows all about that ...
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4759
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4760
        Smalltalk renameClass:currentClass to:aString.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4761
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4762
        self updateClassList.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4763
        self updateMethodCategoryListWithScroll:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4764
        self updateMethodListWithScroll:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4765
        self withBusyCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4766
            Transcript showCR:('searching for users of ' , oldSym); endEntry.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4767
            SystemBrowser browseReferendsOf:oldSym warnIfNone:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4768
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4769
    ]
214
bb193ae3f3f9 check for existing class in rename; avoid warnbox if no refs are found after rename
Claus Gittinger <cg@exept.de>
parents: 213
diff changeset
  4770
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4771
    "Created: / 25.11.1995 / 13:02:53 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4772
    "Modified: / 25.10.1997 / 19:37:55 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4773
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4774
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4775
switchToClass:newClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4776
    "switch to some other class;
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4777
     keep instance protocol as it was ..."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4778
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4779
    |cls meta|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4780
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4781
"/    fullProtocol ifTrue:[^ self].
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4782
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4783
    self releaseClass.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4784
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4785
    cls := newClass.
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4786
    cls isMeta ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4787
	meta := cls.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4788
	cls := meta soleInstance
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4789
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4790
	meta := cls class
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4791
    ].
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4792
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4793
    currentClass := cls.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4794
    showInstance ifTrue:[
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4795
       actualClass := acceptClass := cls.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4796
    ] ifFalse:[
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4797
       actualClass := acceptClass := meta.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4798
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4799
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4800
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4801
	cls addDependent:self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4802
	meta addDependent:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4803
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4804
    self normalLabel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4805
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4806
    "Modified: 1.9.1995 / 01:04:05 / claus"
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4807
    "Modified: 13.12.1995 / 15:32:49 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4808
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4809
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4810
switchToClassNameMatching:aMatchString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4811
    |classNames thisName box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4812
607
96781ad00fdb ignore obsoletes (in classNamesMatching)
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
  4813
    classNames := Set new.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4814
    Smalltalk allBehaviorsDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4815
	thisName := aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4816
	(aMatchString match:thisName) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4817
	    classNames add:thisName
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4818
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4819
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4820
    (classNames size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4821
    (classNames size == 1) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4822
	^ self switchToClassNamed:(classNames first)
607
96781ad00fdb ignore obsoletes (in classNamesMatching)
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
  4823
    ].
96781ad00fdb ignore obsoletes (in classNamesMatching)
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
  4824
    classNames := classNames asArray sort.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4825
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4826
    box := self listBoxTitle:'select class to switch to:'
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4827
		      okText:'ok'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4828
			list:classNames.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4829
    box action:[:aString | self switchToClassNamed:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4830
    box showAtPointer
607
96781ad00fdb ignore obsoletes (in classNamesMatching)
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
  4831
96781ad00fdb ignore obsoletes (in classNamesMatching)
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
  4832
    "Modified: 4.6.1996 / 11:34:22 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4833
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4834
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4835
switchToClassNamed:aString
839
b3ddd53c2791 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 838
diff changeset
  4836
    |meta str classSymbol theClass newCat element idx l|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4837
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4838
    meta := false.
885
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  4839
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4840
    str := aString.
885
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  4841
    (aString endsWith:' class') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4842
	str := aString copyWithoutLast:6.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4843
	meta := true
885
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  4844
    ].
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  4845
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  4846
    theClass := self findClassNamed:str.
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  4847
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  4848
    classCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4849
	classCategoryListView list size == 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4850
	    classCategoryListView list:(self listOfAllClassCategories).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4851
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4852
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4853
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4854
    theClass == currentClass ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4855
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4856
    theClass isBehavior ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4857
	classCategoryListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4858
	    currentClassHierarchy isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4859
		((newCat := theClass category) ~= currentClassCategory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4860
		    currentClassCategory := newCat.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4861
		    newCat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4862
			element := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4863
		    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4864
			element := newCat.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4865
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4866
		    classCategoryListView setSelectElement:element.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4867
		    "/ classCategoryListView makeSelectionVisible.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4868
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4869
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4870
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4871
	self updateClassList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4872
	self switchToClass:theClass.
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  4873
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4874
"/        (currentNamespace = '* all *'
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4875
"/        or:[currentNamespace ~= theClass nameSpace]) ifTrue:[
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4876
"/            str := theClass name
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4877
"/        ] ifFalse:[
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4878
"/            str := theClass nameWithoutPrefix
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4879
"/        ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4880
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4881
	l := classListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4882
	l notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4883
	    idx := l findFirst:[:line | line withoutSpaces = str].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4884
	    classListView selection:idx.
839
b3ddd53c2791 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 838
diff changeset
  4885
b3ddd53c2791 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 838
diff changeset
  4886
"/            classListView setSelectElement:str.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4887
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4888
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4889
	self instanceProtocol:meta not.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4890
	idx ~~ 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4891
	    self classSelectionChanged.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4892
	    classCategoryListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4893
		classCategoryListView setSelectElement:theClass category
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4894
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4895
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4896
    ]
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4897
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4898
    "Modified: 1.9.1995 / 01:41:35 / claus"
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  4899
    "Modified: 17.6.1996 / 16:54:55 / stefan"
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4900
    "Modified: 3.1.1997 / 11:45:46 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4901
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4902
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4903
updateClassList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4904
    self updateClassListWithScroll:true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4905
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4906
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4907
updateClassListWithScroll:scroll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4908
    |classes oldClassName|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4909
905
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  4910
    gotClassList == true ifTrue:[^ self].
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  4911
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4912
    classListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4913
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4914
	 refetch in case we are not up to date
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4915
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4916
	(currentClass notNil and:[fullProtocol not]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4917
	    oldClassName := currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4918
	    currentClass := self findClassNamed:oldClassName.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4919
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4920
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4921
	currentClassCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4922
	    classes := self listOfAllClassNamesInCategory:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4923
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4924
	    currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4925
		classes := self listOfClassNameHierarchyOf:currentClassHierarchy
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4926
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4927
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4928
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4929
	classListView list = classes ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4930
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4931
		classListView contents:classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4932
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4933
		classListView setContents:classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4934
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4935
	    oldClassName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4936
		classListView setContents:classes.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4937
		classListView setSelectElement:oldClassName
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4938
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4939
		variableListView notNil ifTrue:[variableListView contents:nil]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4940
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4941
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4942
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4943
		fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4944
		    classListView scrollToBottom
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4945
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4946
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4947
	].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  4948
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  4949
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4950
    "Modified: 10.1.1997 / 14:01:20 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4951
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4952
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4953
!BrowserView methodsFor:'class-method list menu'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4954
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4955
classMethodBrowse
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4956
    SystemBrowser openInClass:actualClass selector:currentSelector
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4957
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4958
    "Created: 13.12.1995 / 15:05:12 / cg"
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4959
    "Modified: 13.12.1995 / 15:06:26 / cg"
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4960
!
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  4961
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4962
classMethodFileOutAll
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4963
    "fileout all methods into one source file"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4964
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4965
    |list classString selectorString cls mth outStream fileName append
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4966
     fileBox f|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4967
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4968
    append := false.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4969
    fileBox := FileSaveBox
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4970
                        title:(resources string:'save methods in:')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4971
                        okText:(resources string:'save')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4972
                        abortText:(resources string:'cancel')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4973
                        action:[:fName | fileName := fName].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4974
    fileBox appendAction:[:fName | fileName := fName. append := true].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4975
    fileBox initialText:'some_methods.st'.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4976
    Project notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4977
        fileBox directory:Project currentProjectDirectory
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4978
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4979
    fileBox showAtPointer.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4980
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4981
    fileName isNil ifTrue:[^ self].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4982
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4983
    "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4984
     if file exists, save original in a .sav file
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4985
    "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4986
    (f := fileName asFilename) exists ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4987
        f copyTo:(f withSuffix: 'sav')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4988
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4989
    append ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4990
        outStream := FileStream appendingOldFileNamed:fileName
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4991
    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4992
        outStream := FileStream newFileNamed:fileName.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4993
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4994
    outStream isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4995
        ^ self warn:'cannot create: %1' with:fileName
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4996
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4997
    self withBusyCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4998
        list := classMethodListView list.
1375
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  4999
        list do:[:l |
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5000
            |line|
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5001
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5002
            line := l asString.
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5003
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5004
            self busyLabel:'writing: ' with:line.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5005
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5006
            classString := self classNameFromClassMethodString:line.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5007
            selectorString := self selectorFromClassMethodString:line.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5008
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5009
            cls := self findClassNamed:classString.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5010
            cls isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5011
                self warn:'oops class %1 is gone' with:classString
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5012
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5013
                mth := cls compiledMethodAt:(selectorString asSymbol).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5014
                Class fileOutErrorSignal handle:[:ex |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5015
                    |box answer|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5016
                    box := YesNoBox 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5017
                                title:('fileOut error: ' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5018
                                       , ex errorString 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5019
                                       , '\\continue anyway ?') withCRs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5020
                                yesText:'continue' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5021
                                noText:'abort'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5022
                    answer := box confirm.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5023
                    box destroy.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5024
                    answer ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5025
                        ex proceed
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5026
                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5027
                    self normalLabel.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5028
                    ^ self
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5029
                ] do:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5030
                    cls fileOutMethod:mth on:outStream.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5031
                ]    
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5032
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5033
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5034
        outStream close.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5035
        self normalLabel.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5036
    ]
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  5037
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5038
    "Modified: / 17.6.1996 / 16:51:11 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5039
    "Modified: / 28.10.1997 / 14:39:48 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5040
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5041
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5042
classMethodMenu
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  5043
    <resource: #keyboard ( #Cmds #Cmdi #Cmdg ) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5044
    <resource: #programMenu >
587
74d27450aa79 added resource info
Claus Gittinger <cg@exept.de>
parents: 578
diff changeset
  5045
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5046
    |labels selectors shorties m specialMenu|
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5047
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5048
    (currentMethod notNil
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5049
    and:[currentMethod isWrapped]) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5050
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5051
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5052
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5053
                            'remove break/trace' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5054
                      ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5055
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5056
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5057
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5058
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5059
                            methodRemoveBreakOrTrace
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5060
                         ).
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5061
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5062
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5063
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5064
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5065
                            'breakpoint' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5066
                            'breakpoint in ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5067
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5068
                            'trace' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5069
                            'trace sender' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5070
                            'trace full walkback' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5071
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5072
                            'start timing'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5073
                            'start counting'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5074
                            'start mem usage'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5075
                      ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5076
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5077
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5078
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5079
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5080
                            methodBreakPoint
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5081
                            methodBreakPointInProcess
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5082
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5083
                            methodTrace
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5084
                            methodTraceSender
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5085
                            methodTraceFull
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5086
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5087
                            methodStartTiming
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5088
                            methodStartCounting
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5089
                            methodStartMemoryUsage
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5090
                         ).
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5091
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5092
    specialMenu := PopUpMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5093
                        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5094
                        selectors:selectors.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5095
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5096
    device ctrlDown ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5097
        currentMethod isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5098
            classMethodListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5099
            ^ nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5100
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5101
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5102
        ^ specialMenu
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5103
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5104
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5105
    labels := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5106
                                'fileOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5107
                                'fileOut all'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5108
                                'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5109
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5110
                                'browse'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5111
                                'spawn'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5112
                                'spawn class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5113
                                'spawn full protocol'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5114
                                'spawn hierarchy'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5115
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5116
                                'senders ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5117
                                'implementors ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5118
                                'globals ...'
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5119
"/                              '-'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5120
"/                              'breakpoint' 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5121
"/                              'trace' 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5122
"/                              'trace sender' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5123
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5124
                                'remove'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5125
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5126
                                'others'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5127
               ).
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5128
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5129
    shorties := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5130
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5131
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5132
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5133
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5134
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5135
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5136
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5137
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5138
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5139
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5140
                                #Cmds
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5141
                                #Cmdi
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5142
                                #Cmdg
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5143
"/                              nil
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5144
"/                              nil
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5145
"/                              nil
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5146
"/                              nil
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5147
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5148
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5149
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5150
                                #'Ctrl'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5151
               ).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5152
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5153
    selectors := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5154
                                methodFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5155
                                classMethodFileOutAll
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5156
                                methodPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5157
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5158
                                classMethodBrowse
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5159
                                methodSpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5160
                                classSpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5161
                                classSpawnFullProtocol
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5162
                                classSpawnHierarchy
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5163
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5164
                                methodSenders
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5165
                                methodImplementors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5166
                                methodGlobalReferends
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5167
"/                              nil
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5168
"/                              methodBreakPoint 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5169
"/                              methodTrace
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5170
"/                              methodTraceSender
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5171
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5172
                                methodRemove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5173
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5174
                                othersMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5175
                  ).
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5176
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5177
    m := PopUpMenu 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5178
        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5179
        selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5180
        accelerators:shorties.
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5181
    m subMenuAt:#othersMenu put:specialMenu.
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5182
    ^ m
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5183
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5184
    "Modified: / 27.10.1997 / 20:46:00 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5185
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5186
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5187
!BrowserView methodsFor:'class-method stuff'!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5188
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5189
classFromClassMethodString:aString
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5190
    "helper for classMethod-list - extract class name from the string"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5191
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5192
    |classString|
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5193
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5194
    classString := self classNameFromClassMethodString:aString.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5195
    ^ self findClassNamed:classString.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5196
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5197
    "Created: 3.3.1997 / 15:12:59 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5198
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5199
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5200
classMethodSelection:lineNr
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5201
    "user clicked on a class/method line - show code"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5202
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  5203
    |cls string classString selectorString meta sensor|
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5204
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5205
    string := classMethodListView selectionValue string.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5206
    classString := self classNameFromClassMethodString:string.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5207
    selectorString := self selectorFromClassMethodString:string.
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5208
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5209
    "/ reselected with control ?
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  5210
    ((sensor := self sensor) notNil and:[sensor ctrlDown]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5211
	selectorString = currentSelector ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5212
	    "/ if there is a trace/break, remove it.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5213
	    (currentMethod notNil and:[currentMethod isWrapped]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5214
		self methodRemoveBreakOrTrace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5215
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5216
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5217
	].
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5218
    ].
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5219
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  5220
    ((classString ~= 'Metaclass') and:[classString endsWith:' class']) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5221
	classString := classString copyWithoutLast:6 "copyTo:(classString size - 5)".
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5222
	meta := true.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5223
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5224
	meta := false.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5225
    ].
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5226
    self switchToClass:(self findClassNamed:classString).
131
claus
parents: 130
diff changeset
  5227
    meta ifTrue:[cls := currentClass class] ifFalse:[cls := currentClass].
claus
parents: 130
diff changeset
  5228
    actualClass := acceptClass := cls.
129
claus
parents: 126
diff changeset
  5229
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5230
    currentClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5231
	self warn:'oops method is gone'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5232
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5233
	currentClassCategory := currentClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5234
	currentSelector := selectorString asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5235
	currentMethod := actualClass compiledMethodAt:currentSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5236
	currentMethod isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5237
	    self warn:'oops method is gone'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5238
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5239
	    currentMethodCategory := currentMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5240
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5241
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5242
	self methodSelectionChanged
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5243
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5244
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5245
    self setDoitActionForClass
131
claus
parents: 130
diff changeset
  5246
claus
parents: 130
diff changeset
  5247
    "Modified: 31.8.1995 / 11:56:02 / claus"
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  5248
    "Modified: 17.6.1996 / 16:51:28 / stefan"
1245
04b8bc5ef4f7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1237
diff changeset
  5249
    "Modified: 24.7.1997 / 15:02:17 / cg"
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5250
!
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5251
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5252
classNameFromClassMethodString:aString
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5253
    "helper for classMethod-list - extract class name from the string"
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5254
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5255
    |pos s|
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5256
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5257
    s := aString string withoutSpaces.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5258
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5259
	s := s copyWithoutLast:2
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5260
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5261
    (s endsWith:')') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5262
	s := aString copyTo:(aString lastIndexOf:$()-1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5263
	s := s withoutSpaces.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5264
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5265
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5266
	s := s copyWithoutLast:2
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5267
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5268
    pos := s lastIndexOf:(Character space).
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5269
    ^ s copyTo:(pos - 1)
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5270
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5271
    "Modified: 17.6.1996 / 17:06:59 / stefan"
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5272
    "Modified: 4.11.1996 / 23:56:52 / cg"
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5273
    "Created: 3.3.1997 / 15:11:30 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5274
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5275
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5276
selectorFromClassMethodString:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5277
    "helper for classMethod-list - extract selector from the string"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5278
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5279
    |pos s|
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5280
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5281
    s := aString withoutSpaces.
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5282
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5283
	s := s copyWithoutLast:2
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5284
    ].
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5285
    (s endsWith:')') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5286
	s := aString copyTo:(aString lastIndexOf:$()-1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5287
	s := s withoutSpaces.
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5288
    ].
677
7e4ad7a82041 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  5289
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5290
	s := s copyWithoutLast:2
677
7e4ad7a82041 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  5291
    ].
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5292
    pos := s lastIndexOf:(Character space).
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5293
    ^ s copyFrom:(pos + 1)
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  5294
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  5295
    "Modified: 17.6.1996 / 17:04:38 / stefan"
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5296
    "Modified: 4.11.1996 / 23:57:00 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5297
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5298
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5299
!BrowserView methodsFor:'event handling'!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5300
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5301
handlesKeyPress:key inView:view
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5302
    "this method is reached via delegation: are we prepared to handle
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5303
     a keyPress in some other view ?"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5304
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5305
    <resource: #keyboard (#Find #Cmdn #Cmdl #Cmdi #Cmds #Cmdg #Cmdt #Cmda #Cmdc #Cmdo)>
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5306
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5307
    |untranslatedKey|
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5308
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5309
    untranslatedKey := device keyboardMap keyAtValue:key ifAbsent:key.
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5310
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5311
    view == classCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5312
        (key == #Find) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5313
        (untranslatedKey == #Cmdn) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5314
        (untranslatedKey == #Cmdc) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5315
        (untranslatedKey == #Cmdo) ifTrue:[^ true].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5316
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5317
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5318
    view == classListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5319
        (untranslatedKey == #Cmdn) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5320
        (untranslatedKey == #Cmdl) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5321
        (untranslatedKey == #Cmdd) ifTrue:[^ true].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5322
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5323
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5324
    view == methodCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5325
        (untranslatedKey == #Cmdn) ifTrue:[^ true].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5326
    ].
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5327
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5328
    ((view == methodListView)
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5329
    or:[view == classMethodListView]) ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5330
        (untranslatedKey == #Cmdi) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5331
        (untranslatedKey == #Cmds) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5332
        (untranslatedKey == #Cmdg) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5333
        (untranslatedKey == #Cmdt) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5334
        (untranslatedKey == #Cmda) ifTrue:[^ true].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5335
    ].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5336
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5337
    ^ false
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5338
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5339
    "Created: / 2.3.1996 / 14:33:30 / cg"
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5340
    "Modified: / 11.1.1997 / 21:42:43 / cg"
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5341
    "Modified: / 16.1.1998 / 17:20:36 / stefan"
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5342
!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5343
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5344
keyPress:key x:x y:y view:view
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5345
    "this method is reached via delegation from the classCategoryListView"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5346
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5347
    <resource: #keyboard (#Find #Cmdn #Cmdl #Cmdi #Cmds #Cmdg #Cmdt #Cmda #Cmdc #Cmdo)>
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5348
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5349
    |untranslatedKey|
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5350
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5351
    "/
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5352
    "/ have to untranslate (since we get #Inspect / #Search
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5353
    "/
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5354
    untranslatedKey := device keyboardMap keyAtValue:key ifAbsent:key.
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5355
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5356
    view == classCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5357
        (key == #Find) ifTrue:[^ self classCategoryFindClass].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5358
        (untranslatedKey == #Cmdn) ifTrue:[^ self classCategoryNewCategory].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5359
        (untranslatedKey == #Cmdc) ifTrue:[^ self classCategoryClone].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5360
        (untranslatedKey == #Cmdo) ifTrue:[^ self classCategoryOpenInClass].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5361
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5362
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5363
    view == classListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5364
        (untranslatedKey == #Cmdn) ifTrue:[^ self classNewClass].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5365
        (untranslatedKey == #Cmdl) ifTrue:[^ self classLoad].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5366
        (untranslatedKey == #Cmdd) ifTrue:[^ self classDocumentation].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5367
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5368
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5369
    view == methodCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5370
        (untranslatedKey == #Cmdn) ifTrue:[^ self methodCategoryNewCategory].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5371
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5372
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5373
    ((view == methodListView)
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5374
    or:[view == classMethodListView]) ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5375
        (untranslatedKey == #Cmdi) ifTrue:[^ self methodImplementors].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5376
        (untranslatedKey == #Cmds) ifTrue:[^ self methodSenders].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5377
        (untranslatedKey == #Cmdg) ifTrue:[^ self methodGlobalReferends].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5378
        (untranslatedKey == #Cmdt) ifTrue:[^ self methodStringSearch].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5379
        (untranslatedKey == #Cmda) ifTrue:[^ self methodAproposSearch].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5380
    ].
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5381
    view keyPress:key x:x y:y
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5382
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5383
    "Created: / 2.3.1996 / 14:37:52 / cg"
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5384
    "Modified: / 11.1.1997 / 21:42:54 / cg"
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5385
    "Modified: / 16.1.1998 / 17:20:24 / stefan"
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5386
! !
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5387
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5388
!BrowserView methodsFor:'help'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5389
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5390
helpTextFor:aComponent
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5391
    |s|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5392
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5393
    aComponent == classCategoryListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5394
	s := 'HELP_CCAT_LIST'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5395
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5396
    aComponent == classListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5397
	fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5398
	    s := 'HELP_PCLASS_LIST'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5399
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5400
	    currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5401
		s := 'HELP_HCLASS_LIST'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5402
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5403
		s := 'HELP_CLASS_LIST'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5404
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5405
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5406
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5407
    aComponent == methodCategoryListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5408
	s := 'HELP_MCAT_LIST'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5409
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5410
    aComponent == methodListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5411
	s := 'HELP_METHOD_LIST'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5412
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5413
    aComponent == variableListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5414
	s := 'HELP_VAR_LIST'
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5415
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5416
    aComponent == codeView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5417
	fullClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5418
	    s := 'HELP_FULLCODE_VIEW'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5419
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5420
	    s := 'HELP_CODE_VIEW'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5421
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5422
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5423
    (aComponent == instanceToggle 
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5424
    or:[aComponent == classToggle]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5425
	s := 'HELP_INST_CLASS_TOGGLE'
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5426
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5427
    aComponent == classMethodListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5428
	s := 'HELP_CLSMTHOD_LIST'
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5429
    ].
1211
588a4d148234 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1210
diff changeset
  5430
    (aComponent isComponentOf:namespaceList) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5431
	s := 'HELP_NS_BOX'
1210
2b37259f0068 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1208
diff changeset
  5432
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5433
    s notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5434
	^ resources string:s
105
claus
parents: 98
diff changeset
  5435
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5436
    ^ nil
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5437
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5438
    "Modified: 31.8.1995 / 19:11:39 / claus"
1211
588a4d148234 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1210
diff changeset
  5439
    "Modified: 28.6.1997 / 15:00:18 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5440
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5441
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5442
!BrowserView methodsFor:'initialize / release'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5443
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5444
autoSearch:aString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5445
    "used with class-method list browsing. If true,
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5446
     selecting an entry from the list will automatically
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5447
     search for the searchstring in the codeView"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5448
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5449
    self setSearchPattern:aString.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5450
    autoSearch := aString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5451
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5452
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5453
destroy
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5454
    "relese dependant - destroy popups"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5455
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5456
    Smalltalk removeDependent:self.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5457
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5458
	self releaseClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5459
	"/
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5460
	"/ just in case someone keeps a ref to myself around ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5461
	"/ ... release refs to my class (not really needed)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5462
	"/
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5463
	currentClass := actualClass := acceptClass := nil
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5464
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5465
    super destroy
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  5466
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  5467
    "Modified: 13.12.1995 / 15:33:03 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5468
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5469
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5470
initialize
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5471
    super initialize.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5472
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5473
    showInstance := true.
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  5474
    showAllNamespaces := false.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5475
    fullClass := false.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5476
    fullProtocol := false.
905
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  5477
    gotClassList := false.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5478
    aspect := nil.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5479
    currentNamespace := '* all *'.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5480
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5481
    "inform me, when Smalltalk changes"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5482
    Smalltalk addDependent:self
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5483
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  5484
    "Modified: 31.7.1997 / 22:32:09 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5485
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5486
1248
72832110f144 #realize -> #postRealize
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
  5487
postRealize
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5488
    |v checkBlock|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5489
1248
72832110f144 #realize -> #postRealize
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
  5490
    super postRealize.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5491
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5492
    checkBlock := [:lineNr | self checkSelectionChangeAllowed].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5493
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5494
    v := classCategoryListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5495
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5496
        v action:[:lineNr | self classCategorySelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5497
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5498
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5499
        v list size == 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5500
            v list:(self listOfAllClassCategories).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5501
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5502
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5503
         tell classCategoryListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5504
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5505
        v menuHolder:self; menuPerformer:self; menuMessage:#classCategoryMenu.
107
claus
parents: 106
diff changeset
  5506
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5507
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5508
    v := classListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5509
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5510
        v action:[:lineNr | self classSelection:lineNr].
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  5511
        v doubleClickAction:[:lineNr | self classDoubleClick:lineNr].
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5512
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5513
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5514
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5515
         tell classListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5516
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5517
        v menuHolder:self; menuPerformer:self; menuMessage:#classMenu.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5518
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5519
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5520
    v := methodCategoryListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5521
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5522
        v action:[:lineNr | self methodCategorySelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5523
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5524
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5525
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5526
         tell methodCategoryListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5527
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5528
        v menuHolder:self; menuPerformer:self; menuMessage:#methodCategoryMenu.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5529
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5530
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5531
    v := methodListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5532
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5533
        v action:[:lineNr | self methodSelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5534
        v doubleClickAction:[:lineNr | self methodDoubleClick:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5535
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5536
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5537
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5538
         tell methodListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5539
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5540
        v menuHolder:self; menuPerformer:self; menuMessage:#methodMenu.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5541
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5542
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5543
    v := classMethodListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5544
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5545
        v action:[:lineNr | self classMethodSelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5546
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5547
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5548
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5549
         tell classMethodListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5550
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5551
        v menuHolder:self; menuPerformer:self; menuMessage:#classMethodMenu.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5552
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5553
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5554
    v := variableListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5555
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5556
        v action:[:lineNr | self variableSelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5557
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5558
        v toggleSelect:true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5559
        v menuHolder:self; menuPerformer:self; menuMessage:#variableListMenu.
117
claus
parents: 114
diff changeset
  5560
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5561
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5562
    "
571
c946e6b3acd2 dont scroll to bottom in class-hierarchy browser
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  5563
     normal browsers show the top/selection at first;
c946e6b3acd2 dont scroll to bottom in class-hierarchy browser
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  5564
     fullProtocol browsers better show the end initially
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5565
    "
571
c946e6b3acd2 dont scroll to bottom in class-hierarchy browser
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  5566
    fullProtocol ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5567
        classListView scrollToBottom.
123
claus
parents: 120
diff changeset
  5568
    ]
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  5569
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5570
    "Created: / 24.7.1997 / 18:14:59 / cg"
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  5571
    "Modified: / 29.10.1997 / 15:50:26 / cg"
124
claus
parents: 123
diff changeset
  5572
!
claus
parents: 123
diff changeset
  5573
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5574
terminate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5575
    (self checkSelectionChangeAllowed) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5576
	super terminate
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5577
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5578
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5579
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5580
title:someString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5581
    myLabel := someString.
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  5582
    self topView label:someString.
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  5583
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  5584
    "Modified: 18.8.1997 / 15:19:50 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5585
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5586
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5587
!BrowserView methodsFor:'initialize subviews'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5588
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5589
createClassListViewIn:frame
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5590
    "setup the classlist subview, with its toggles"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5591
1080
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5592
    |v panel spc wScr wScrHalf|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5593
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5594
    self createTogglesIn:frame.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5595
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5596
    panel := VariableVerticalPanel
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5597
		    origin:(0.0 @ 0.0) corner:(1.0 @ 1.0)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5598
		    in:frame.
810
46e587b6e439 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 809
diff changeset
  5599
    styleSheet is3D ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5600
	spc := ViewSpacing.
810
46e587b6e439 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 809
diff changeset
  5601
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5602
	spc := 0
810
46e587b6e439 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 809
diff changeset
  5603
    ].
811
fde69dbb949a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 810
diff changeset
  5604
    panel bottomInset:(instanceToggle height + spc + instanceToggle borderWidth).
764
49710cf2dd47 now is the time - for a scroller to come in the classList ...
Claus Gittinger <cg@exept.de>
parents: 762
diff changeset
  5605
49710cf2dd47 now is the time - for a scroller to come in the classList ...
Claus Gittinger <cg@exept.de>
parents: 762
diff changeset
  5606
    v := HVScrollableView 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5607
		for:SelectionInListView 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5608
		miniScrollerH:true miniScrollerV:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5609
		in:panel.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5610
    v origin:(0.0 @ 0.0) corner:(1.0 @ 0.7).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5611
    classListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5612
    classListView delegate:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5613
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5614
    v := ScrollableView for:SelectionInListView in:panel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5615
    v origin:(0.0 @ 0.7) corner:(1.0 @ 1.0).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5616
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5617
    variableListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5618
    variableListView delegate:self.
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5619
1080
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5620
    wScr := v scrollBar preferredExtent x.
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5621
    wScrHalf := wScr // 2.
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5622
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5623
"/    (styleSheet at:'scrollBarPosition' default:#right) == #right ifTrue:[
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5624
"/        classToggle rightInset:(classToggle rightInset + wScr).
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5625
"/        classToggle leftInset:(classToggle leftInset - wScrHalf).
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5626
"/        instanceToggle rightInset:(instanceToggle rightInset + wScrHalf)
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5627
"/    ].
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5628
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5629
    "Modified: 19.3.1997 / 17:38:07 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5630
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5631
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5632
createCodeViewIn:aView
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5633
    "setup the code view"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5634
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5635
    ^ self createCodeViewIn:aView atY:0.25
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5636
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5637
    "Modified: 2.3.1996 / 16:08:46 / cg"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5638
!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5639
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5640
createCodeViewIn:aView atY:relY
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5641
    "setup the code view"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5642
    |v|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5643
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5644
    v := HVScrollableView for:CodeView miniScrollerH:true miniScrollerV:false in:aView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5645
    v origin:(0.0 @ relY) corner:(1.0 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5646
    codeView := v scrolledView
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5647
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5648
    "Created: 2.3.1996 / 16:09:03 / cg"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5649
!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5650
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5651
createMethodListViewIn:aView atX:relX
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5652
    "setup the method list view"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5653
    |v|
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5654
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5655
    v := HVScrollableView for:SelectionInListView miniScrollerH:true miniScrollerV:false in:aView.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5656
    v origin:(relX @ 0.0) corner:(1.0 @ 1.0).
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5657
    methodListView := v scrolledView.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5658
    methodListView delegate:self.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5659
    ^ v
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5660
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5661
    "Created: 2.3.1996 / 16:07:10 / cg"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5662
    "Modified: 2.3.1996 / 16:11:42 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5663
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5664
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5665
createTogglesIn:aFrame
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5666
    "create and setup the class/instance toggles"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5667
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5668
    |h halfSpace classAction instanceAction|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5669
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5670
    classAction := [self instanceProtocol:false].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5671
    instanceAction := [self instanceProtocol:true].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5672
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5673
    halfSpace := ViewSpacing // 2.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5674
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5675
    instanceToggle := "Toggle" RadioButton label:(resources at:'instance') in:aFrame.
171
bd57f15a26c1 2d style pixel computations - again
Claus Gittinger <cg@exept.de>
parents: 170
diff changeset
  5676
    h := instanceToggle heightIncludingBorder.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5677
    instanceToggle origin:(0.0 @ 1.0) corner:(0.5 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5678
    instanceToggle topInset:h negated.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5679
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5680
    instanceToggle turnOn.
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5681
    instanceToggle controller beToggle.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5682
    instanceToggle pressAction:instanceAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5683
    instanceToggle releaseAction:classAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5684
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5685
    classToggle := "Toggle" RadioButton label:(resources at:'class') in:aFrame.
171
bd57f15a26c1 2d style pixel computations - again
Claus Gittinger <cg@exept.de>
parents: 170
diff changeset
  5686
    h := classToggle heightIncludingBorder.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5687
    classToggle origin:(0.5 @ 1.0) corner:(1.0 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5688
    classToggle topInset:h negated.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5689
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5690
    classToggle turnOff.
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5691
    classToggle controller beToggle.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5692
    classToggle pressAction:classAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5693
    classToggle releaseAction:instanceAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5694
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5695
    styleSheet is3D ifTrue:[
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5696
        instanceToggle bottomInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5697
        classToggle bottomInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5698
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5699
        instanceToggle leftInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5700
        classToggle leftInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5701
        instanceToggle rightInset:ViewSpacing - halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5702
        classToggle rightInset:ViewSpacing - halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5703
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5704
        styleSheet name == #motif ifTrue:[
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5705
            instanceToggle showLamp:true.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5706
            classToggle showLamp:true.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5707
        ]
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5708
    ].
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5709
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5710
    "Modified: / 3.11.1997 / 14:44:56 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5711
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5712
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5713
focusSequence
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5714
    |s|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5715
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5716
    s := OrderedCollection new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5717
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5718
    classCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5719
	s add:classCategoryListView
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5720
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5721
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5722
    classListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5723
	s add:classListView
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5724
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5725
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5726
"/    variableListView notNil ifTrue:[
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5727
"/        s add:variableListView
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5728
"/    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5729
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5730
    instanceToggle notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5731
	s add:instanceToggle.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5732
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5733
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5734
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5735
	s add:methodCategoryListView
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5736
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5737
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5738
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5739
	s add:methodListView
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5740
    ].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5741
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5742
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5743
	s add:classMethodListView
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5744
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5745
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5746
    s add:codeView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5747
    ^ s
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5748
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5749
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5750
setupForAll
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5751
    "create subviews for a full browser"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5752
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5753
    |vpanel hpanel frame v spc nsHolder hMax|
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5754
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5755
    styleSheet is3D ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5756
        spc := ViewSpacing.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5757
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5758
        spc := 0
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5759
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5760
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5761
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5762
    hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5763
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5764
    v := HVScrollableView for:SelectionInListView
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5765
                          miniScrollerH:true miniScrollerV:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5766
                          in:hpanel.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5767
    v origin:(0.0 @ 0.0) corner:(0.25 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5768
    classCategoryListView := v scrolledView.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5769
    classCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5770
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5771
    frame := View origin:(0.25 @ 0.0) corner:(0.5 @ 1.0) in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5772
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5773
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5774
    namespaceList := ComboListView origin:(0.0@1.0) corner:(0.25@1.0) in:hpanel.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5775
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5776
    hMax := (instanceToggle height + instanceToggle borderWidth)
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5777
            max:(namespaceList preferredExtent y).
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5778
    hMax := hMax + spc.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5779
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5780
    v bottomInset:hMax + spc.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5781
    nsHolder := currentNamespace asValue.
931
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5782
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5783
    namespaceList topInset:(hMax negated) + (spc // 2).
1201
5bcdee8b4644 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1195
diff changeset
  5784
    namespaceList leftInset:(ViewSpacing // 2).
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5785
    namespaceList bottomInset:(spc // 2).
931
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5786
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5787
"/    styleSheet is3D ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5788
"/        namespaceList leftInset:(classCategoryListView originRelativeTo:v) x.
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5789
"/    ].
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5790
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5791
"/    (v scrollBar originRelativeTo:v) > (classCategoryListView originRelativeTo:v)
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5792
"/    ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5793
"/        namespaceList rightInset:((v scrollBar originRelativeTo:v)
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5794
"/                                  -
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5795
"/                                  (classCategoryListView originRelativeTo:v))
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5796
"/    ] ifFalse:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5797
"/        styleSheet is3D ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5798
"/            namespaceList rightInset:(ViewSpacing // 2).
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5799
"/        ]
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5800
"/    ].
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5801
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5802
"/        styleSheet is3D ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5803
"/            namespaceList rightInset:(ViewSpacing // 2).
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5804
"/        ].
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5805
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5806
    self setListOfNamespaces.
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5807
    namespaceList model:nsHolder.
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  5808
    namespaceList label menuHolder:self; menuMessage:#nameSpaceMenu.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5809
    nsHolder onChangeSend:#value
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5810
                       to:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5811
                                self changeNameSpaceTo:nsHolder value
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5812
                          ].
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5813
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5814
    v := HVScrollableView for:SelectionInListView miniScrollerH:true miniScrollerV:false in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5815
    v origin:(0.5 @ 0.0) corner:(0.75 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5816
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5817
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5818
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5819
    self createMethodListViewIn:hpanel atX:0.75.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5820
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5821
    self createCodeViewIn:vpanel
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5822
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5823
    "Modified: / 3.11.1997 / 15:14:00 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5824
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5825
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5826
setupForClass:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5827
    "create subviews for browsing a single class"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5828
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5829
    |vpanel hpanel frame v|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5830
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5831
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5832
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5833
    hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5834
    frame := View origin:(0.0 @ 0.0) corner:(0.5 @ 1.0)in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5835
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5836
    self createTogglesIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5837
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5838
    v := ScrollableView for:SelectionInListView in:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5839
    v origin:(0.0 @ 0.0)
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5840
      extent:[frame width
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5841
              @
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5842
              (frame height 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5843
               - ViewSpacing
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5844
               - instanceToggle height
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5845
               - instanceToggle borderWidth
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5846
               + v borderWidth)].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5847
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5848
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5849
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5850
    self createMethodListViewIn:hpanel atX:0.5.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5851
    self createCodeViewIn:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5852
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5853
    self switchToClass:aClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5854
    actualClass := acceptClass := aClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5855
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5856
    self updateMethodList.
151
9ed80631f710 Show class definition when starting Class Browser.
Stefan Vogel <sv@exept.de>
parents: 149
diff changeset
  5857
    self updateCodeView.
9ed80631f710 Show class definition when starting Class Browser.
Stefan Vogel <sv@exept.de>
parents: 149
diff changeset
  5858
    self classDefinition.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5859
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5860
    "Modified: / 25.10.1997 / 19:26:26 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5861
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5862
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5863
setupForClass:aClass methodCategory:aMethodCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5864
    "setup subviews to browse a method category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5865
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5866
    |vpanel v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5867
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5868
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5869
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5870
    v := self createMethodListViewIn:vpanel atX:0.0.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5871
    v corner:(1.0 @ 0.25).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5872
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5873
    self createCodeViewIn:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5874
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5875
    currentClassCategory := aClass category.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5876
    self switchToClass:aClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5877
    actualClass := acceptClass := aClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5878
    currentMethodCategory := aMethodCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5879
    self updateMethodList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5880
    self updateCodeView.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5881
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5882
    "Modified: / 25.10.1997 / 19:26:35 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5883
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5884
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5885
setupForClass:aClass selector:selector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5886
    "setup subviews to browse a single method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5887
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5888
    |v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5889
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5890
    v := ScrollableView for:CodeView in:self.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5891
    v origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5892
    codeView := v scrolledView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5893
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5894
    currentClassCategory := aClass category.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5895
    self switchToClass:aClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5896
    actualClass := acceptClass := aClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5897
    currentSelector := selector.
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  5898
    currentMethod := actualClass compiledMethodAt:selector.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5899
    currentMethodCategory := currentMethod category.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5900
    self updateCodeView
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  5901
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
  5902
    "Modified: 13.12.1995 / 15:07:50 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5903
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5904
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5905
setupForClassCategory:aClassCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5906
    "setup subviews to browse a class category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5907
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5908
    |vpanel hpanel frame v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5909
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5910
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5911
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5912
    hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5913
    frame  := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5914
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5915
    self createClassListViewIn:frame.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5916
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5917
    v := ScrollableView for:SelectionInListView in:hpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5918
    v origin:(0.33 @ 0.0) corner:(0.66 @ 1.0).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5919
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5920
    methodCategoryListView delegate:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5921
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5922
    self createMethodListViewIn:hpanel atX:0.66.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5923
    self createCodeViewIn:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5924
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5925
    currentClassCategory := aClassCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5926
    self updateClassList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5927
    self updateMethodCategoryList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5928
    self updateMethodList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5929
    self updateCodeView
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5930
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5931
    "Modified: / 25.10.1997 / 19:26:49 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5932
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5933
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5934
setupForClassHierarchy:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5935
    "setup subviews to browse a class hierarchy"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5936
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5937
    |vpanel hpanel frame v cls|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5938
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5939
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5940
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5941
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5942
     notice: we use a different ratio here
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5943
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5944
    hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.4) in:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5945
    frame := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5946
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5947
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5948
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5949
    v := ScrollableView for:SelectionInListView in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5950
    v origin:(0.33 @ 0.0) corner:(0.66 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5951
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5952
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5953
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5954
    self createMethodListViewIn:hpanel atX:0.66.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5955
    self createCodeViewIn:vpanel atY:0.4.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5956
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5957
    cls := aClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5958
    cls isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5959
        cls := cls soleInstance
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5960
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5961
    currentClassHierarchy := currentClass := actualClass := cls.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5962
    self updateClassList.
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  5963
    classListView setSelectElement:aClass name; makeSelectionVisible.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5964
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5965
    self updateMethodList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5966
    self updateCodeView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5967
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5968
    aClass isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5969
        self instanceProtocol:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5970
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5971
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5972
    "Modified: / 25.10.1997 / 19:26:58 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5973
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5974
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5975
setupForClassList:aList
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5976
    "setup subviews to browse classes from a list"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5977
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5978
    self setupForClassList:aList sort:true
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5979
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5980
    "Modified: 28.5.1996 / 13:53:03 / cg"
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5981
!
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5982
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5983
setupForClassList:aList sort:doSort
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5984
    "setup subviews to browse classes from a list"
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  5985
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5986
    |vpanel hpanel frame l v|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5987
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5988
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5989
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5990
    hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5991
    frame := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5992
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5993
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5994
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5995
    v := ScrollableView for:SelectionInListView in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5996
    v origin:(0.33 @ 0.0) corner:(0.66 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5997
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5998
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5999
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6000
    self createMethodListViewIn:hpanel atX:0.66.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6001
    self createCodeViewIn:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6002
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6003
    l := (aList collect:[:entry | 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6004
                entry isBehavior ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6005
                    entry name
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6006
                ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6007
                    entry
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6008
                ]]) asOrderedCollection.
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6009
    doSort ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6010
        l sort.
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6011
    ].
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6012
    classListView list:l.
905
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  6013
    gotClassList := true.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6014
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6015
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6016
    self updateMethodList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6017
    self updateCodeView
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6018
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6019
    "Created: / 28.5.1996 / 13:52:47 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6020
    "Modified: / 25.10.1997 / 19:27:07 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6021
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6022
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6023
setupForFullClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6024
    "setup subviews to browse a class as full text"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6025
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6026
    |vpanel hpanel v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6027
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6028
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6029
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6030
    hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.25) in:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6031
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6032
    v := ScrollableView for:SelectionInListView in:hpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6033
    v origin:(0.0 @ 0.0) corner:(0.5 @ 1.0).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6034
    classCategoryListView := v scrolledView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6035
    classCategoryListView contents:(self listOfAllClassCategories).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6036
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6037
    v := ScrollableView for:SelectionInListView in:hpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6038
    v origin:(0.5 @ 0.0) corner:(1.0 @ 1.0).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6039
    classListView := v scrolledView.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6040
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6041
    self createCodeViewIn:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6042
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6043
    fullClass := true.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6044
    self updateCodeView
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6045
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6046
    "Modified: / 25.10.1997 / 19:27:18 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6047
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6048
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6049
setupForFullClassProtocol:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6050
    "setup subviews to browse a classes full protocol"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6051
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6052
    |vpanel hpanel frame v cls|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6053
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6054
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6055
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6056
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6057
     notice: we use a different ratio here
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6058
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6059
    hpanel := View origin:(0.0 @ 0.0) corner:(1.0 @ 0.4) in:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6060
    frame := View origin:(0.0 @ 0.0) corner:(0.33 @ 1.0) in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6061
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6062
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6063
    classListView multipleSelectOk:true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6064
    classListView toggleSelect:true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6065
    classListView strikeOut:true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6066
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6067
    v := ScrollableView for:SelectionInListView in:hpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6068
    v origin:(0.33 @ 0.0) corner:(0.66 @ 1.0).
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6069
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6070
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6071
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6072
    self createMethodListViewIn:hpanel atX:0.66.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6073
    self createCodeViewIn:vpanel atY:0.4.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6074
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6075
    cls := aClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6076
    cls isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6077
        cls := cls soleInstance
107
claus
parents: 106
diff changeset
  6078
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6079
    currentClassHierarchy := actualClass := acceptClass := currentClass := cls.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6080
    fullProtocol := true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6081
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6082
    self updateClassList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6083
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6084
    self updateMethodList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6085
    self updateCodeView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6086
    self updateVariableList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6087
    aClass isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6088
        self instanceProtocol:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6089
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6090
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6091
    "Modified: / 25.10.1997 / 19:27:27 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6092
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6093
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6094
setupForList:aList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6095
    "setup subviews to browse methods from a list"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6096
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6097
    |vpanel v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6098
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6099
    vpanel := VariableVerticalPanel origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6100
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6101
    v := ScrollableView for:SelectionInListView in:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6102
    v origin:(0.0 @ 0.0) corner:(1.0 @ 0.25).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6103
    classMethodListView := v scrolledView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6104
    classMethodListView contents:aList.
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  6105
    classMethodListView delegate:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6106
408
33b1b3dfdac4 show current revision (in compare); doubleClick-start in class/method browser
Claus Gittinger <cg@exept.de>
parents: 393
diff changeset
  6107
    classMethodListView doubleClickAction:[:lineNr | self classMethodBrowse].
33b1b3dfdac4 show current revision (in compare); doubleClick-start in class/method browser
Claus Gittinger <cg@exept.de>
parents: 393
diff changeset
  6108
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6109
    self createCodeViewIn:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6110
    aList size == 1 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6111
        classMethodListView setSelection:1.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6112
        self classMethodSelection:1. 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6113
    ].
1060
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6114
    self updateCodeView.
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6115
    "/ kludge - get trap icons
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6116
    self updateClassMethodListWithScroll:false keepSelection:true
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6117
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6118
    "Modified: / 25.10.1997 / 19:27:40 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6119
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6120
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6121
!BrowserView methodsFor:'method category list menu'!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6122
990
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6123
createAccessMethodsFor:aCollectionOfInstVarNames
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6124
    "workhorse for creating access methods for instvars."
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6125
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6126
    aCollectionOfInstVarNames do:[:name |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6127
	|source|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6128
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6129
	"check, if method is not already present"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6130
	(currentClass includesSelector:(name asSymbol)) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6131
	    source := (name , '\    "return the value of the instance variable ''' , name , ''' (automatically generated)"\\    ^ ' , name) withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6132
	    Compiler compile:source forClass:currentClass inCategory:'accessing'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6133
	] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6134
	    Transcript showCR:'method ''', name , ''' already present'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6135
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6136
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6137
	(currentClass includesSelector:((name , ':') asSymbol)) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6138
	    source := (name , ':something\    "set the value of the instance variable ''' , name , ''' (automatically generated)"\\    ' , name , ' := something.') withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6139
	    Compiler compile:source forClass:currentClass inCategory:'accessing'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6140
	] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6141
	    Transcript showCR:'method ''', name , ':'' already present'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6142
	].
990
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6143
    ]
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6144
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6145
    "Created: 24.1.1997 / 11:04:46 / cg"
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6146
!
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6147
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6148
methodCategoryCopyCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6149
    "show the enter box to copy from an existing method category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6150
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6151
    |title box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6152
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6153
    showInstance ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6154
	title := 'class to copy instance method category from:'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6155
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6156
	title := 'class to copy class method category from:'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6157
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6158
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6159
    box := self listBoxTitle:title 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6160
		      okText:'ok' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6161
			list:(Smalltalk allClasses collect:[:cls | cls name]) asArray sort.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6162
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6163
    box label:(resources string:'copy methods').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6164
    box action:[:aString | self copyMethodsFromClass:aString].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6165
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6166
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6167
    "Modified: 16.1.1997 / 00:01:20 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6168
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6169
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6170
methodCategoryCreateAccessMethods
559
432abfae606f commentary
Claus Gittinger <cg@exept.de>
parents: 557
diff changeset
  6171
    "create access methods for instvars.
432abfae606f commentary
Claus Gittinger <cg@exept.de>
parents: 557
diff changeset
  6172
     If no variable is selected, for all instvars;
432abfae606f commentary
Claus Gittinger <cg@exept.de>
parents: 557
diff changeset
  6173
     otherwise for that selected instvar."
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6174
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6175
    self checkClassSelected ifFalse:[^ self].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6176
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6177
    showInstance ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6178
	self warn:'select instance - and try again'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6179
	^ self.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6180
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6181
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6182
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6183
	|nm names|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6184
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6185
	(variableListView notNil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6186
	and:[(nm := variableListView selectionValue) notNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6187
	    names := Array with:nm
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6188
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6189
	    names := currentClass instVarNames 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6190
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6191
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6192
	lockUpdates := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6193
	[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6194
	    self createAccessMethodsFor:names.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6195
	] valueOnUnwindDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6196
	    lockUpdates := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6197
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6198
	self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6199
	self updateMethodListWithScroll:false
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6200
    ]
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  6201
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6202
    "Modified: 18.8.1997 / 15:44:10 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6203
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6204
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6205
methodCategoryCreateDocumentationMethods
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6206
    "create empty documentation methods"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6207
1194
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6208
    |cls histStream fn txt|
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6209
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6210
    self checkClassSelected ifFalse:[^ self].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6211
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6212
    cls := currentClass class.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6213
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6214
    self withBusyCursorDo:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6215
        |nm names source|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6216
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6217
        "/ add version method containing RCS template
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6218
        "/ but only if not already present and its not a private class.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6219
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6220
        cls isPrivate ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6221
            (cls includesSelector:#version) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6222
                Compiler compile:
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6223
'version
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  6224
    ^ ''$' , 'Header$''
1208
5a2aa83494c3 dont create a #version method in private classes.
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
  6225
' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6226
                      forClass:cls 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6227
                      inCategory:'documentation'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6228
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6229
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6230
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6231
        "/ add copyright method containing your/your companies
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6232
        "/ copyright template but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6233
        "/ this is only added, if specified in the 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6234
        "/ COPYRIGHT_TEMPLATE_FILE resources.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6235
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6236
        (cls includesSelector:#copyright) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6237
            fn := resources at:#'COPYRIGHT_TEMPLATE_FILE' default:nil.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6238
            fn notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6239
                fn := fn asFilename.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6240
                fn exists ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6241
                    txt := fn contents asString
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6242
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6243
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6244
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6245
            txt notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6246
                txt := txt bindWith:(Date today year).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6247
                Compiler compile:
1194
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6248
'copyright
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6249
"
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6250
' , txt , '
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6251
"
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6252
'                   forClass:cls 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6253
                  inCategory:'documentation'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6254
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6255
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6256
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6257
        "/ add documentation method containing doc template
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6258
        "/ but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6259
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6260
        (cls includesSelector:#documentation) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6261
            Compiler compile:
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6262
'documentation
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6263
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6264
    documentation to be added.
1444
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6265
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6266
    [author:]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6267
        ' , OperatingSystem getFullUserName 
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6268
          , ' (' , OperatingSystem getLoginName , '@' , OperatingSystem getHostName , ')' , '
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6269
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6270
    [see also:]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6271
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6272
    [instance variables:]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6273
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6274
    [class variables:]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6275
"
120
claus
parents: 118
diff changeset
  6276
'                   forClass:cls 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6277
                  inCategory:'documentation'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6278
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6279
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6280
        "/ add examples method containing examples template
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6281
        "/ but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6282
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6283
        (cls includesSelector:#examples) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6284
            Compiler compile:
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6285
'examples
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6286
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6287
    examples to be added.
1444
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6288
                                                                [exBegin]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6289
    ... add code fragment for 
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6290
    ... executable example here ...
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6291
                                                                [exEnd]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6292
"
120
claus
parents: 118
diff changeset
  6293
'                   forClass:cls 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6294
                  inCategory:'documentation'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6295
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6296
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6297
        "/ add history method containing created-entry
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6298
        "/ but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6299
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6300
        (cls includesSelector:#history) ifFalse:[ 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6301
            HistoryManager notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6302
                HistoryManager createInitialHistoryMethodIn:cls
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6303
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6304
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6305
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6306
        self instanceProtocol:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6307
        self switchToMethodNamed:#documentation 
1208
5a2aa83494c3 dont create a #version method in private classes.
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
  6308
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6309
"/        self updateMethodCategoryListWithScroll:false.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6310
"/        self updateMethodListWithScroll:false
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6311
    ]
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  6312
1444
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6313
    "Modified: / 1.2.1998 / 16:10:03 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6314
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6315
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6316
methodCategoryFileOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6317
    "fileOut all methods in the selected methodcategory of
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6318
     the current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6319
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6320
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6321
    self whenMethodCategorySelected:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6322
	self busyLabel:'saving: %1' with:currentClass name , '-' , currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6323
	Class fileOutErrorSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6324
	    self warn:'cannot create: %1' with:ex parameter.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6325
	    ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6326
	] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6327
	    actualClass fileOutCategory:currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6328
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6329
	self normalLabel.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6330
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6331
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6332
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6333
methodCategoryFileOutAll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6334
    "fileOut all methods in the selected methodcategory of
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6335
     the current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6336
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6337
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6338
    self whenMethodCategorySelected:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6339
        |fileName outStream|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6340
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6341
        fileName := (currentMethodCategory , '.st') asFilename.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6342
        fileName makeLegalFilename.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6343
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6344
         this test allows a smalltalk to be built without Projects/ChangeSets
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6345
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6346
        Project notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6347
            fileName := Project currentProjectDirectory asFilename construct: fileName name.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6348
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6349
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6350
         if file exists, save original in a .sav file
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6351
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6352
        fileName exists ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6353
            fileName copyTo:(fileName withSuffix: 'sav')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6354
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6356
        fileName := fileName pathName.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6357
        outStream := FileStream newFileNamed:fileName.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6358
        outStream isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6359
            ^ self warn:'cannot create: %1' with:fileName
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6360
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6361
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6362
        self busyLabel:'saving: ' with:currentMethodCategory.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6363
        Class fileOutErrorSignal handle:[:ex |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6364
            self warn:'cannot create: %1' with:ex parameter.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6365
            ex return
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6366
        ] do:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6367
            Smalltalk allBehaviorsDo:[:class |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6368
                |hasMethodsInThisCategory|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6369
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6370
                hasMethodsInThisCategory := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6371
                class methodDictionary do:[:method |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6372
                    method category = currentMethodCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6373
                        hasMethodsInThisCategory := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6374
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6375
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6376
                hasMethodsInThisCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6377
                    class fileOutCategory:currentMethodCategory on:outStream.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6378
                    outStream cr
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6379
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6380
                hasMethodsInThisCategory := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6381
                class class methodDictionary do:[:method |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6382
                    method category = currentMethodCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6383
                        hasMethodsInThisCategory := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6384
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6385
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6386
                hasMethodsInThisCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6387
                    class class fileOutCategory:currentMethodCategory on:outStream.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6388
                    outStream cr
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6389
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6390
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6391
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6392
        outStream close.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6393
        self normalLabel.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6394
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6395
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6396
    "Modified: / 7.6.1996 / 09:03:56 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6397
    "Modified: / 28.10.1997 / 14:37:32 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6398
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6399
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6400
methodCategoryFindAnyMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6401
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6402
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6403
    box := self enterBoxForSearchSelectorTitle:'method selector to search for:'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6404
    box label:(resources string:'find method').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6405
    box action:[:aString | self switchToAnyMethodNamed:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6406
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6407
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6408
    "Modified: 15.1.1997 / 23:59:53 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6409
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6410
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6411
methodCategoryFindMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6412
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6413
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6414
    box := self enterBoxForSearchSelectorTitle:'method selector to search for:'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6415
    box label:(resources string:'find method').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6416
    box action:[:aString | self switchToMethodNamed:aString].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6417
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6418
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6419
    "Modified: 15.1.1997 / 23:59:27 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6420
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6421
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6422
methodCategoryMenu
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  6423
    <resource: #keyboard (#Cmdn)>
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6424
    <resource: #programMenu >
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  6425
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6426
    |labels selectors shorties i m varSel s|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6427
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6428
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6429
        methodCategoryListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6430
        ^ nil
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6431
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6432
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6433
    labels := #().
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6434
    selectors := #().
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6435
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6436
    currentMethodCategory notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6437
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6438
                    'fileOut' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6439
                    'fileOut all' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6440
                    'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6441
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6442
                    'SPAWN_METHODCATEGORY'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6443
                    'spawn category'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6444
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6445
                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6446
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6447
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6448
                    methodCategoryFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6449
                    methodCategoryFileOutAll
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6450
                    methodCategoryPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6451
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6452
                    methodCategorySpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6453
                    methodCategorySpawnCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6454
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6455
                   ).
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6456
    ].            
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6457
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6458
    labels := labels , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6459
                'find method here ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6460
                'find method ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6461
                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6462
                'new category ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6463
                'copy category ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6464
               ).
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6465
    selectors := selectors , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6466
                methodCategoryFindMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6467
                methodCategoryFindAnyMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6468
                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6469
                methodCategoryNewCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6470
                methodCategoryCopyCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6471
               ).
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6472
1237
eb435327405d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1236
diff changeset
  6473
    showInstance ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6474
        labels := labels , #( 'create access methods' ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6475
        selectors := selectors , #( #methodCategoryCreateDocumentationMethods ).
1237
eb435327405d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1236
diff changeset
  6476
    ] ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6477
        (variableListView notNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6478
        and:[(varSel := variableListView selectionValue) notNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6479
            s := 'create access methods (for ''%1'')' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6480
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6481
            s := 'create access methods (for all)' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6482
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6483
        s := resources string:s with:varSel.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6484
        labels := labels , (Array with:s).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6485
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6486
                    methodCategoryCreateAccessMethods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6487
                   ).
1237
eb435327405d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1236
diff changeset
  6488
    ].
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6489
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6490
    currentMethodCategory notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6491
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6492
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6493
                    'rename ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6494
                    'remove'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6495
                   ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6496
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6497
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6498
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6499
                    methodCategoryRename
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6500
                    methodCategoryRemove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6501
                   ).
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6502
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6503
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6504
    showInstance ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6505
        labels := labels copy.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6506
        selectors := selectors copy.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6507
        i := labels indexOf:'create access methods'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6508
        labels at:i put:'create documentation stubs'. 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6509
        selectors at:i put:#methodCategoryCreateDocumentationMethods
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6510
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6511
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6512
    shorties := Array new:(selectors size).
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6513
    (selectors includes:#methodCategoryNewCategory) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6514
        shorties at:(selectors indexOf:#methodCategoryNewCategory) put:#Cmdn
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6515
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6516
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6517
    m := PopUpMenu 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6518
        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6519
        selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6520
        accelerators:shorties.
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6521
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6522
    currentClass isLoaded ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6523
        m disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6524
                        methodCategoryNewCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6525
                        methodCategoryCopyCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6526
                        methodCategoryCreateAccessMethods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6527
                      )
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6528
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6529
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6530
    ^ m
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6531
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6532
    "Modified: / 27.10.1997 / 20:46:04 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6533
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6534
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6535
methodCategoryNewCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6536
    "show the enter box to add a new method category.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6537
     Offer existing superclass categories in box to help avoiding
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6538
     useless typing."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6539
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6540
    |someCategories existingCategories box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6541
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6542
    actualClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6543
	someCategories := actualClass allCategories
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6544
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6545
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6546
	 mhmh - offer some typical categories ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6547
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6548
	showInstance ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6549
	    someCategories := #('accessing' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6550
				'initialization'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6551
				'private' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6552
				'printing & storing'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6553
				'queries'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6554
				'testing'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6555
			       )
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6556
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6557
	    someCategories := #(
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6558
				'documentation'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6559
				'initialization'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6560
				'instance creation'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6561
			       ).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6562
	].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6563
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6564
    someCategories sort.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6565
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6566
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6567
     remove existing categories
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6568
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6569
    existingCategories := methodCategoryListView list.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6570
    existingCategories notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6571
	someCategories := someCategories select:[:cat | (existingCategories includes:cat) not].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6572
    ].
838
9e981e2b8158 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  6573
    someCategories := someCategories asSet asOrderedCollection sort.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6574
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6575
    box := self listBoxTitle:'name of new method category:'
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6576
		      okText:'create'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6577
			list:someCategories.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6578
    box label:(resources string:'create category').
463
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  6579
    box initialText:lastCategory.
9d2bc0eb5876 remember last category / last package/module; better checkin of non-info classes into existing container
Claus Gittinger <cg@exept.de>
parents: 455
diff changeset
  6580
    box action:[:aString | self newMethodCategory:aString. lastCategory := aString].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6581
    box showAtPointer
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6582
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6583
    "Modified: 15.1.1997 / 23:57:26 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6584
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6585
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6586
methodCategoryPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6587
    |printStream|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6588
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6589
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6590
    self whenMethodCategorySelected:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6591
	printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6592
	actualClass printOutCategory:currentMethodCategory on:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6593
	printStream close
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6594
    ]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6595
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6596
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6597
methodCategoryRemove
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6598
    "show number of methods to remove and query user"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6599
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  6600
    |t box sels count answer|
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6601
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6602
    currentMethodCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6603
	sels := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6604
	actualClass methodDictionary keysAndValuesDo:[:selector :aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6605
	    (aMethod category = currentMethodCategory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6606
		sels add:selector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6607
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6608
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6609
	count := sels size.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6610
	(count ~~ 0) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6611
	    (count == 1) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6612
		t := 'remove %1\(with 1 method) ?'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6613
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6614
		t := 'remove %1\(with %2 methods) ?'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6615
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6616
	    t := resources string:t with:currentMethodCategory with:count printString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6617
	    t := t withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6618
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6619
	    box := YesNoBox 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6620
		       title:t
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6621
		       yesText:(resources at:'remove')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6622
		       noText:(resources at:'abort').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6623
	    answer := box confirm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6624
	    box destroy.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6625
	    answer ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6626
		^ self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6627
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6628
	    sels do:[:selector|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6629
		actualClass removeSelector:selector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6630
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6631
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6632
	currentMethodCategory := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6633
	currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6634
	self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6635
	self updateMethodList
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6636
    ]
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6637
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6638
    "Modified: 7.6.1996 / 09:13:15 / stefan"
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  6639
    "Modified: 7.1.1997 / 23:03:20 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6640
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6641
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6642
methodCategoryRename
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6643
    "launch an enterBox to rename current method category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6644
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6645
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6646
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6647
    self checkMethodCategorySelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6648
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6649
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6650
		enterBoxTitle:(resources string:'rename method category %1 to:' with:currentMethodCategory)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6651
		okText:(resources at:'rename')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6652
		label:'rename category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6653
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6654
    box initialText:currentMethodCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6655
    box action:[:aString | 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6656
	actualClass renameCategory:currentMethodCategory to:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6657
	currentMethodCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6658
	currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6659
	self updateMethodCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6660
	self updateMethodListWithScroll:false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6661
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6662
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6663
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6664
    "Modified: 15.1.1997 / 23:10:44 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6665
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6666
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6667
methodCategorySpawn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6668
    "create a new SystemBrowser browsing current method category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6669
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6670
    currentMethodCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6671
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6672
	    SystemBrowser browseClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6673
		    methodCategory:currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6674
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6675
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6676
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6677
    "Modified: 18.8.1997 / 15:44:18 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6678
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6679
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6680
methodCategorySpawnCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6681
    "create a new SystemBrowser browsing all methods from all
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6682
     classes with same category as current method category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6683
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6684
    self askAndBrowseMethodCategory:'category to browse methods:'
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6685
			     action:[:aString | 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6686
					SystemBrowser browseMethodCategory:aString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6687
				    ]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6688
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6689
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6690
!BrowserView methodsFor:'method category stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6691
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6692
checkMethodCategorySelected
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6693
    currentMethodCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6694
	self warn:'select a method category first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6695
	^ false
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6696
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6697
    ^ true
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6698
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6699
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6700
copyMethodsFromClass:aClassName
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6701
    |class box list|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6702
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6703
    currentClass notNil ifTrue:[
1384
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6704
        class := Smalltalk classNamed:aClassName.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6705
        class isBehavior ifFalse:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6706
            self warn:'no class named %1' with:aClassName.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6707
            ^ self
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6708
        ].
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6709
        class isLoaded ifFalse:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6710
            (self confirm:(class name , ' is an autoloaded class.\I can only copy categories if it is loaded first.\\Load the class now?') withCRs)
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6711
            ifTrue:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6712
                class autoload
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6713
            ]
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6714
        ].        
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6715
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6716
        showInstance ifFalse:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6717
            class := class class             
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6718
        ].
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6719
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6720
        "show enterbox for category to copy from"
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6721
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6722
        list := class categories asOrderedCollection sort.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6723
        list addFirst:'*'.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6724
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6725
        box := self 
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6726
                enterBoxTitle:'name of category to copy from (matchpattern allowed, * for all):'
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6727
                okText:'copy'
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6728
                label:(resources string:'copy methods from %1' with:aClassName)
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6729
                list:list.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6730
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6731
        box open.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6732
        box accepted ifTrue:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6733
            self 
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6734
                copyMethodsFromClass:class 
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6735
                category:(box aspectFor:#fieldValue) value
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6736
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6737
    ]
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6738
1384
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6739
    "Modified: / 16.1.1997 / 20:15:51 / cg"
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6740
    "Modified: / 19.12.1997 / 12:27:42 / stefan"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6741
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6742
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6743
copyMethodsFromClass:class category:category
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6744
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6745
	Object abortSignal catch:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6746
	    class methodDictionary do:[:aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6747
		|source|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6748
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6749
		(category match:aMethod category) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6750
		    source := aMethod source.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6751
		    codeView contents:source.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6752
		    codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6753
		    actualClass compilerClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6754
			 compile:source 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6755
			 forClass:actualClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6756
			 inCategory:aMethod category
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6757
			 notifying:codeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6758
		    self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6759
		    self updateMethodListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6760
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6761
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6762
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6763
    ]
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6764
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6765
    "Modified: 7.6.1996 / 09:02:35 / stefan"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6766
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6767
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6768
listOfAllMethodCategoriesInClass:aClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6769
    "answer a list of all method categories of the argument, aClass"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6770
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6771
    |newList|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6772
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6773
    newList := Set new.
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6774
    aClass methodDictionary do:[:aMethod |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6775
	|cat|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6776
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6777
	cat := aMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6778
	cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6779
	    cat := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6780
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6781
	newList add:cat
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6782
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6783
    (newList size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6784
    newList add:'* all *'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6785
    ^ newList asOrderedCollection sort
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6786
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6787
    "Modified: 7.6.1996 / 09:02:57 / stefan"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6788
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6789
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6790
listOfAllMethodCategoriesInFullProtocolHierarchy:aClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6791
    "answer a list of all method categories of the argument, aClass,
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6792
     and all of its superclasses.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6793
     Used with fullProtocol browsing."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6794
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6795
    |newList|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6796
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6797
    newList := Set new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6798
    self classesInFullProtocolHierarchy:aClass do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6799
	|cat|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6800
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6801
	c methodDictionary do:[:aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6802
	    cat := aMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6803
	    cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6804
		cat := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6805
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6806
	    newList add:cat
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6807
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6808
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6809
    (newList size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6810
    newList add:'* all *'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6811
    ^ newList asOrderedCollection sort
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6812
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6813
    "Modified: 7.6.1996 / 09:03:11 / stefan"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6814
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6815
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6816
methodCategorySelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6817
    "user clicked on a method category line - show selectors"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6818
1451
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6819
    |cat|
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6820
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6821
    (cat := methodCategoryListView selectionValue) isNil ifTrue:[
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6822
        cat := currentMethodCategory
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6823
    ].
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6824
    cat notNil ifTrue:[
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6825
        self switchToMethodCategory:cat string.
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  6826
    ].
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
  6827
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
  6828
    "Modified: 22.10.1996 / 17:27:13 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6829
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6830
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6831
methodCategorySelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6832
    "method category selection has changed - update dependent views"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6833
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6834
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6835
	currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6836
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6837
	self updateMethodList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6838
	self updateCodeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6839
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6840
	currentMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6841
	    methodCategoryListView setSelectElement:currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6842
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6843
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6844
	aspect isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6845
	    self setAcceptAndExplainActionsForMethod.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6846
	].
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6847
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6848
"/ this is now done in
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6849
"/ #updateMethodList
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6850
"/
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6851
"/        (variableListView notNil
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6852
"/        and:[variableListView hasSelection]) ifTrue:[
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6853
"/            self hilightMethodsInMethodCategoryList:false inMethodList:true.
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6854
"/        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6855
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6856
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6857
    "Created: 23.11.1995 / 14:17:38 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6858
    "Modified: 18.8.1997 / 15:44:16 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6859
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6860
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6861
newMethodCategory:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6862
    |categories|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6863
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6864
    currentClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6865
	^ self warn:'select/create a class first'.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6866
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6867
    categories := methodCategoryListView list.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6868
    categories isNil ifTrue:[categories := OrderedCollection new].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6869
    (categories includes:aString) ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6870
	categories add:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6871
	categories sort.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6872
	methodCategoryListView contents:categories
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6873
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6874
    currentMethodCategory := aString.
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  6875
    aspect := nil.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6876
    self methodCategorySelectionChanged
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  6877
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  6878
    "Modified: 10.2.1996 / 13:07:32 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6879
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6880
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6881
switchToMethodCategory:aCategory
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6882
    |oldSelector|
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6883
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6884
    oldSelector := currentSelector.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6885
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6886
    aspect := nil.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6887
    (fullProtocol not and:[currentClass isNil]) ifTrue:[^ self].
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6888
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6889
    currentMethodCategory := aCategory.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6890
    self methodCategorySelectionChanged.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6891
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6892
    "if there is only one method, show it right away"
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6893
    methodListView list size == 1 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6894
	methodListView setSelection:1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6895
	self methodSelection:1
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6896
    ] ifFalse:[
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6897
      oldSelector notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6898
	  methodListView setSelectElement:oldSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6899
	  methodListView hasSelection ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6900
	      self methodSelection:methodListView selection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6901
	  ]
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6902
      ]
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6903
    ]
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6904
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6905
    "Modified: 26.5.1996 / 15:07:07 / cg"
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6906
    "Created: 4.6.1996 / 23:03:50 / cg"
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6907
!
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  6908
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6909
updateMethodCategoryList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6910
    self updateMethodCategoryListWithScroll:true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6911
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6912
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6913
updateMethodCategoryListWithScroll:scroll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6914
    |categories|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6915
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6916
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6917
	fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6918
	    currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6919
		categories := self listOfAllMethodCategoriesInFullProtocolHierarchy:actualClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6920
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6921
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6922
	    currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6923
		categories := self listOfAllMethodCategoriesInClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6924
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6925
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6926
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6927
	methodCategoryListView list = categories ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6928
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6929
		methodCategoryListView contents:categories
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6930
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6931
		methodCategoryListView setContents:categories
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6932
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6933
	    currentMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6934
		methodCategoryListView setSelectElement:currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6935
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6936
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6937
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  6938
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  6939
    "Modified: 30.7.1997 / 15:53:22 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6940
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6941
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6942
whenMethodCategorySelected:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6943
    self checkMethodCategorySelected ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6944
	self withBusyCursorDo:aBlock
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6945
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6946
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6947
    "Modified: 18.8.1997 / 15:44:38 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6948
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6949
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6950
!BrowserView methodsFor:'method list menu'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6951
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6952
commonTraceHelperWith:aSelector
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  6953
    "install a break/trace or countPoint for the current method"
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  6954
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  6955
    "/ not for unbound methods (i.e. obsolete)
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  6956
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  6957
    currentMethod isNil ifTrue:[^ self].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  6958
    currentMethod who isNil ifTrue:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  6959
        self warn:'method is no longer valid'.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  6960
        ^ self
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  6961
    ].
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  6962
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  6963
    currentMethod perform:aSelector.
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6964
    currentMethod := currentClass compiledMethodAt:currentSelector.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6965
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  6966
    Class withoutUpdatingChangesDo:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  6967
        currentClass changed:#methodTrap with:currentSelector.
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  6968
    ]
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  6969
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6970
    "Modified: / 12.1.1998 / 19:19:37 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6971
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6972
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  6973
commonTraceHelperWith:aSelector with:argument
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  6974
    "install a break/trace or countPoint for the current method"
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  6975
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6976
    "/ not for unbound methods (i.e. obsolete)
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6977
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6978
    currentMethod isNil ifTrue:[^ self].
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6979
    currentMethod who isNil ifTrue:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6980
        self warn:'method is no longer valid'.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6981
        ^ self
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6982
    ].
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6983
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6984
    currentMethod perform:aSelector with:argument.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6985
    currentMethod := currentClass compiledMethodAt:currentSelector.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6986
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  6987
    Class withoutUpdatingChangesDo:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  6988
        currentClass changed:#methodTrap with:currentSelector.
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  6989
    ]
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  6990
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  6991
    "Modified: / 12.1.1998 / 19:19:40 / cg"
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  6992
!
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  6993
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6994
methodAproposSearch
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6995
    "launch an enterBox for a keyword search"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6996
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  6997
    self askForSearchTitle:'keyword to search for (in selector & comment):' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6998
		  openWith:#aproposSearch:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6999
		isSelector:true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7000
		searchArea:#class
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  7001
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  7002
    "Modified: 11.11.1996 / 12:43:54 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7003
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7004
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7005
methodBreakPoint
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7006
    "set a breakpoint on the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7007
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7008
    self commonTraceHelperWith:#setBreakPoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7009
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7010
    "Modified: / 12.1.1998 / 19:14:30 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7011
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7012
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7013
methodBreakPointInProcess
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7014
    "set a breakpoint on the current method, which only triggers if
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7015
     executed by some particular process."
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7016
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  7017
    |processes processNames box windowGroups|
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  7018
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  7019
    windowGroups := WindowGroup allInstances.
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7020
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7021
    processes := ProcessorScheduler knownProcesses asOrderedCollection.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7022
    processes := processes select:[:aProcess |
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7023
                        aProcess notNil 
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7024
                        and:[aProcess id notNil]
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7025
                 ].
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7026
    processes := processes sort:[:a :b | a id < b id].
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7027
    processNames := processes collect:[:aProcess |
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7028
                        |pName theGroup top topLabel winLabel|
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7029
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7030
                        pName := aProcess nameOrId.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7031
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7032
                        "/ if its a windowGroup process,
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7033
                        "/ fetch its first topViews name and add.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7034
                        "/ (allows selecting among multiple browsers ...)
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7035
                        winLabel := ''.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7036
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7037
                        theGroup := windowGroups select:[:g | g process == aProcess].
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7038
                        theGroup size == 1 ifTrue:[
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7039
                            theGroup := theGroup first.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7040
                            top := theGroup topViews.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7041
                            top size > 0 ifTrue:[
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7042
                                top := top first.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7043
                                topLabel := top label.
1448
09fa6dee211b Allow nil labels in TopView (when setting Breakpoint for aProcess)
Stefan Vogel <sv@exept.de>
parents: 1446
diff changeset
  7044
                                (topLabel notNil and:[topLabel ~= pName]) ifTrue:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7045
                                     winLabel := '  "' , topLabel , '")'.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7046
                                ]
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7047
                            ].                        
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7048
                        ].
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7049
                        aProcess id printString , ' [' , pName , ']' , winLabel
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7050
                    ].
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7051
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7052
    "/ let user specify which one ...
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7053
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7054
    box := ListSelectionBox new.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7055
    box noEnterField.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7056
    box list:processNames.
1233
c5aac7105c4e more messages improved
Claus Gittinger <cg@exept.de>
parents: 1232
diff changeset
  7057
    box label:(resources string:'process selection').
c5aac7105c4e more messages improved
Claus Gittinger <cg@exept.de>
parents: 1232
diff changeset
  7058
    box title:(resources 
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7059
                string:'stop if method is executed by process:\\(current process is %1)'
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7060
                with:(Processor activeProcess id)
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7061
                with:(Processor activeProcess nameOrId)) withCRs.
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7062
    box action:[:selection |
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7063
        self commonTraceHelperWith:#breakPointInProcess: 
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7064
                              with:(processes at:box selectionIndex)
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7065
    ].
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7066
    box showAtPointer.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7067
    box destroy
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7068
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7069
    "Created: / 14.10.1996 / 15:40:53 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7070
    "Modified: / 12.1.1998 / 19:14:37 / cg"
1448
09fa6dee211b Allow nil labels in TopView (when setting Breakpoint for aProcess)
Stefan Vogel <sv@exept.de>
parents: 1446
diff changeset
  7071
    "Modified: / 2.2.1998 / 12:39:38 / stefan"
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7072
!
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7073
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7074
methodChangeCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7075
    "move the current method into another category -
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7076
     nothing done here, but a query for the new category.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7077
     Remember the last category, to allow faster category change of a group of methods."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7078
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7079
    |box txt|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7080
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7081
    self checkMethodSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7082
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7083
    actualClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7084
	box := self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7085
		enterBoxTitle:'' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7086
		okText:'change'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7087
		label:'change category'.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7088
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7089
	|someCategories|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7090
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7091
	someCategories := actualClass categories sort.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7092
	box := self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7093
		listBoxTitle:'' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7094
		okText:'change' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7095
		list:someCategories.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7096
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7097
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7098
    box title:(resources string:'change category from ''%1'' to:' with:currentMethod category).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7099
    lastMethodCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7100
	txt := currentMethod category.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7101
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7102
	txt := lastMethodCategory
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7103
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7104
    box initialText:txt.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7105
    box action:[:aString |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7106
		    |method|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7107
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7108
		    lastMethodCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7109
		    method := currentMethod.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7110
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7111
		    method category:aString asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7112
		    actualClass changed:#organization with:currentSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7113
		    method changed:#category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7114
		    actualClass addChangeRecordForMethodCategory:method category:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7115
		    self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7116
		    self updateMethodListWithScroll:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7117
	       ].
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7118
    box label:(resources string:'change category').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7119
    box showAtPointer
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7120
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7121
    "Created: 29.10.1995 / 19:59:22 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7122
    "Modified: 16.1.1997 / 00:16:29 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7123
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7124
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7125
methodCompareWithPreviousVersion
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7126
    "compare with previous version"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7127
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7128
    |prev v|
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7129
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7130
    self checkMethodSelected ifFalse:[^ self].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7131
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7132
    prev := currentMethod previousVersion.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7133
    prev isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7134
	self warn:'oops - previous version is gone'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7135
	^ self
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7136
    ].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7137
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7138
    v := DiffTextView 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7139
	openOn:codeView contents
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7140
	label:(resources string:'code here')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7141
	and:prev source
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7142
	label:'previous version'.      
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7143
    v label:'comparing ' , currentMethod whoString.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7144
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7145
    "Modified: 7.11.1996 / 18:53:55 / cg"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7146
!
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7147
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7148
methodDecompile
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7149
    "decompile the current methods bytecodes.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7150
     The Decompiler is delivered as an extra, and not normally
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7151
     avaliable with the system."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7152
481
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7153
    |s|
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7154
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7155
    self checkMethodSelected ifFalse:[^ self].
481
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7156
    self checkSelectionChangeAllowed ifFalse:[^ self].
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7157
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7158
    s := '' writeStream.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7159
    (currentMethod decompileTo:s) ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7160
	self warn:'No decompiler available'.
481
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7161
    ].
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7162
    codeView contents:s contents.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7163
    codeView modified:false.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7164
    codeView acceptAction:nil.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7165
    codeView explainAction:nil.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7166
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7167
    "Modified: 16.4.1996 / 20:35:05 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7168
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7169
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7170
methodFileOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7171
    "file out the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7172
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7173
    self checkMethodSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7174
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7175
    self busyLabel:'saving:' with:currentSelector.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7176
    Class fileOutErrorSignal handle:[:ex |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7177
	self warn:'cannot create: %1' with:ex parameter.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7178
	ex return
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7179
    ] do:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7180
	actualClass fileOutMethod:currentMethod.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7181
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7182
    self normalLabel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7183
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7184
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7185
methodGlobalReferends
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7186
    "launch an enterBox for global symbol to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7187
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7188
    self askForSearchTitle:'global variable to search users of:' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7189
		  openWith:#browseReferendsOf:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7190
		isSelector:false
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7191
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7192
"/    self enterBoxForBrowseTitle:'global variable to browse users of:'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7193
"/                         action:[:aString | 
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7194
"/                                    SystemBrowser browseReferendsOf:aString asSymbol
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7195
"/                                ]
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7196
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7197
    "Modified: 10.7.1996 / 10:37:37 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7198
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7200
methodImplementors
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7201
    "launch an enterBox for selector to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7202
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7203
    self askForSearchTitle:'selector to browse implementors of:' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7204
		  openWith:#browseImplementorsOf:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7205
		isSelector:true
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7206
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7207
    "Modified: 10.7.1996 / 12:40:07 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7208
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7209
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7210
methodInspect
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7211
    "inspect  the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7212
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7213
    self checkMethodSelected ifFalse:[^ self].
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7214
    currentMethod inspect.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7215
"/    (actualClass compiledMethodAt:currentSelector) inspect.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7216
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7217
    "Modified: 4.6.1996 / 22:47:27 / cg"
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  7218
!
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7219
1169
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7220
methodInvoke
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7221
    "invoke the current method"
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7222
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7223
    |w cls sel|
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7224
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7225
    self checkMethodSelected ifFalse:[^ self].
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7226
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7227
    w := currentMethod who.
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7228
    w notNil ifTrue:[
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7229
        cls := w methodClass.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7230
        cls notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7231
            cls ~~ actualClass ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7232
                ^ self warn:'oops - obsolete class; please reselect class ...'
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7233
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7234
            cls isMeta ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7235
                cls := cls soleInstance
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7236
            ] ifFalse:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7237
                cls := nil
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7238
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7239
            cls notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7240
                sel := w methodSelector.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7241
                sel notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7242
                    currentClass perform:sel.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7243
                    ^ self
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7244
                ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7245
            ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7246
        ].
1169
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7247
    ]. 
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7248
    self warn:'cannot invoke method (no class)'
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7249
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7250
    "Modified: / 29.4.1997 / 11:24:30 / dq"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7251
    "Modified: / 29.10.1997 / 15:50:28 / cg"
1169
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7252
!
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7253
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7254
methodLocalSuperSends
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7255
    "launch a browser showing super sends in current class & subclasses"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7256
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7257
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7258
    self withSearchCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7259
	SystemBrowser browseSuperCallsUnder:currentClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7260
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7261
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7262
    "Created: 23.11.1995 / 12:03:57 / cg"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7263
    "Modified: 23.11.1995 / 14:12:15 / cg"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7264
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7265
289
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7266
methodMakeIgnored
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7267
    "make the current method be invisible.
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7268
     EXPERIMENTAL"
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7269
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7270
    self methodPrivacy:#ignored
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7271
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7272
    "Created: 13.12.1995 / 13:59:59 / cg"
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7273
!
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7274
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7275
methodMakePrivate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7276
    "make the current method private.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7277
     EXPERIMENTAL"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7278
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7279
    self methodPrivacy:#private 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7280
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7281
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7282
methodMakeProtected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7283
    "make the current method protected.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7284
     EXPERIMENTAL"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7285
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7286
    self methodPrivacy:#protected 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7287
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7288
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7289
methodMakePublic
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7290
    "make the current method public.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7291
     EXPERIMENTAL"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7292
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7293
    self methodPrivacy:#public 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7294
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7295
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7296
methodMenu
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7297
    "return a popupmenu as appropriate for the methodList"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7298
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7299
    <resource: #keyboard ( #Cmds #Cmdi #Cmdg #Cmdt #Cmda) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7300
    <resource: #programMenu >
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  7301
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7302
    |specialMenu m labels selectors shorties
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7303
     newLabels newSelectors
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7304
     mthdLabels mthdSelectors
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7305
     brkLabels brkSelectors
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7306
     fileLabels fileSelectors
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7307
     searchLabels searchSelectors searchShorties
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7308
     sepLocalLabels sepLocalSelectors
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7309
     sepMthdLabels sepMthdSelectors
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7310
     localSearchLabels localSearchSelectors|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7311
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7312
    currentMethod notNil ifTrue:[
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7313
        currentMethod isCountingMemoryUsage ifTrue:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7314
            brkLabels := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7315
                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7316
                                'stop mem usage' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7317
                          ).
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7318
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7319
            brkSelectors := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7320
                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7321
                                methodStopMemoryUsage
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7322
                             )
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7323
        ] ifFalse:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7324
            currentMethod isCounting ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7325
                brkLabels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7326
                                    '-'
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7327
                                    'stop counting' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7328
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7329
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7330
                brkSelectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7331
                                    nil
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7332
                                    methodStopCounting
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7333
                                 )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7334
            ] ifFalse:[
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7335
                currentMethod isTimed ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7336
                    brkLabels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7337
                                        '-'
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7338
                                        'stop timing' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7339
                                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7340
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7341
                    brkSelectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7342
                                        nil
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7343
                                        methodStopTiming
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7344
                                     )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7345
                ] ifFalse:[
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7346
                    currentMethod isTraced ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7347
                        brkLabels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7348
                                            '-'
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7349
                                            'remove trace' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7350
                                      ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7351
                        brkSelectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7352
                                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7353
                                            methodRemoveBreakOrTrace
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7354
                                         )
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7355
                    ] ifFalse:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7356
                        currentMethod isBreakpointed ifTrue:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7357
                            brkLabels := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7358
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7359
                                                'remove breakpoint' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7360
                                          ).
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7361
                            brkSelectors := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7362
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7363
                                                methodRemoveBreakOrTrace
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7364
                                             )
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7365
                        ] ifFalse:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7366
                            brkLabels := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7367
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7368
                                                'breakpoint' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7369
                                                'breakpoint in ...' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7370
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7371
                                                'trace' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7372
                                                'trace sender' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7373
                                                'trace full walkback' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7374
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7375
                                                'start timing'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7376
                                                'start counting'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7377
                                                'start mem usage'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7378
                                          ).
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7379
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7380
                            brkSelectors := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7381
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7382
                                                methodBreakPoint
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7383
                                                methodBreakPointInProcess
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7384
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7385
                                                methodTrace
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7386
                                                methodTraceSender
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7387
                                                methodTraceFull
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7388
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7389
                                                methodStartTiming
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7390
                                                methodStartCounting
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7391
                                                methodStartMemoryUsage
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7392
                                             )
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7393
                        ]
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7394
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7395
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7396
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7397
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7398
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7399
        Method methodPrivacySupported ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7400
            labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7401
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7402
                            'compile to machine code'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7403
                            'decompile'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7404
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7405
                            'make public'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7406
                            'make private'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7407
                            'make protected'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7408
                            'make ignored'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7409
                       ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7410
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7411
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7412
                            methodSTCCompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7413
                            methodDecompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7414
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7415
                            methodMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7416
                            methodMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7417
                            methodMakeProtected
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7418
                            methodMakeIgnored
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7419
                          )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7420
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7421
            labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7422
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7423
                            'compile to machine code'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7424
                            'decompile'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7425
                       ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7426
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7427
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7428
                            methodSTCCompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7429
                            methodDecompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7430
                          )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7431
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7432
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7433
        actualClass isMeta ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7434
            labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7435
                          'invoke method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7436
                          '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7437
                      )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7438
                      , labels.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7439
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7440
                          methodInvoke
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7441
                          nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7442
                         )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7443
                      , selectors.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7444
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7445
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7446
        labels := labels , brkLabels.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7447
        selectors := selectors , brkSelectors.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7448
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7449
        specialMenu := PopUpMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7450
                            labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7451
                            selectors:selectors.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7452
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7453
        currentMethod isPublic ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7454
            specialMenu disable:#methodMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7455
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7456
        currentMethod isPrivate ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7457
            specialMenu disable:#methodMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7458
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7459
        currentMethod isProtected ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7460
            specialMenu disable:#methodMakeProtected
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7461
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7462
        currentMethod isIgnored ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7463
            specialMenu disable:#methodMakeIgnored
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7464
        ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7465
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7466
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7467
    device ctrlDown ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7468
        currentMethod isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7469
            methodListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7470
            ^ nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7471
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7472
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7473
        ^ specialMenu
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7474
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7475
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7476
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7477
    sepLocalLabels := sepLocalSelectors := #().
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7478
    sepMthdLabels := sepMthdSelectors := #().
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7479
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7480
    searchLabels := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7481
                                'senders ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7482
                                'implementors ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7483
                                'globals ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7484
                                'string search ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7485
                                'apropos ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7486
                    ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7487
    searchSelectors := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7488
                                methodSenders
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7489
                                methodImplementors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7490
                                methodGlobalReferends
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7491
                                methodStringSearch
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7492
                                methodAproposSearch
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7493
                        ).
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7494
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7495
    searchShorties := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7496
                                Cmds
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7497
                                Cmdi
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7498
                                Cmdg
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7499
                                Cmdt
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7500
                                Cmda
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7501
                       ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7502
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7503
"/    currentClass notNil ifTrue:[
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7504
"/        localSearchLabels := #(
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7505
"/                                '-'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7506
"/                                'local senders ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7507
"/                                'local implementors ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7508
"/                                'local super sends ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7509
"/                                'local string search ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7510
"/                                'local apropos ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7511
"/                            ).
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7512
"/        localSearchSelectors := #(
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7513
"/                                nil
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7514
"/                                methodLocalSenders
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7515
"/                                methodLocalImplementors
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7516
"/                                methodLocalSuperSends
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7517
"/                                methodLocalStringSearch
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7518
"/                                methodLocalAproposSearch
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7519
"/                              ).
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7520
"/    ] ifFalse:[
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7521
"/        localSearchLabels := localSearchSelectors := #()
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7522
"/    ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7523
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7524
    currentMethodCategory notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7525
        sepLocalLabels := #('-'). sepLocalSelectors := #(nil).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7526
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7527
        (currentClass notNil 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7528
        and:[showInstance not
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7529
        and:[currentClass isSubclassOf:ApplicationModel]]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7530
            newLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7531
                                    'new method' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7532
                                    'new window spec' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7533
                                    'new menu spec' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7534
                                    ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7535
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7536
            newSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7537
                                    methodNewMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7538
                                    methodNewWindowSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7539
                                    methodNewMenuSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7540
                                 ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7541
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7542
            newLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7543
                                    'new method' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7544
                                    ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7545
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7546
            newSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7547
                                    methodNewMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7548
                                 ).
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7549
        ].
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7550
        sepMthdLabels := #('-'). sepMthdSelectors := #(nil).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7551
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7552
        newLabels := newSelectors := #()
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7553
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7554
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7555
    currentMethod notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7556
        fileLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7557
                                'fileOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7558
                                'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7559
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7560
                                'SPAWN_METHOD'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7561
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7562
                                ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7563
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7564
        fileSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7565
                                methodFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7566
                                methodPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7567
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7568
                                methodSpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7569
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7570
                             ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7571
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7572
        sepLocalLabels := #('-'). sepLocalSelectors := #(nil).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7573
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7574
        mthdLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7575
                                'change category ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7576
                                'move ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7577
                                'remove'
1503
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7578
"/                                '-'
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7579
"/                                'compare with previous'
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7580
"/                                'back to previous'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7581
                                ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7582
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7583
        mthdSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7584
                                methodChangeCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7585
                                methodMove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7586
                                methodRemove
1503
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7587
"/                                nil
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7588
"/                                methodCompareWithPreviousVersion
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7589
"/                                methodPreviousVersion
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7590
                             ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7591
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7592
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7593
        fileLabels := fileSelectors := #().
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7594
        mthdLabels := mthdSelectors := #().
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7595
        sepMthdLabels := sepMthdSelectors := #().
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7596
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7597
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7598
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7599
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7600
    labels :=
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7601
                fileLabels ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7602
                searchLabels ,
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7603
"/                localSearchLabels ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7604
                sepLocalLabels ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7605
                newLabels ,
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7606
                sepMthdLabels ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7607
                mthdLabels.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7608
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7609
    selectors :=
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7610
                fileSelectors ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7611
                searchSelectors ,
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7612
"/                localSearchSelectors ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7613
                sepLocalSelectors ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7614
                newSelectors ,
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7615
                sepMthdSelectors ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7616
                mthdSelectors .
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7617
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7618
    shorties := (Array new:(fileSelectors size))
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7619
                , searchShorties
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7620
                , (Array new:(localSearchSelectors size
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7621
                              + sepLocalSelectors size
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7622
                              + newSelectors size
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7623
                              + sepMthdSelectors size
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7624
                              + mthdSelectors size)).
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7625
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7626
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7627
    specialMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7628
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7629
                        '='
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7630
                        'others'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7631
                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7632
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7633
                        nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7634
                        #otherMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7635
                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7636
        shorties := shorties , #( nil #'Ctrl')
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7637
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7638
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7639
    m := PopUpMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7640
         labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7641
         selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7642
         accelerators:shorties.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7643
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7644
    specialMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7645
        m subMenuAt:#otherMenu put:specialMenu.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7646
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7647
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7648
    currentMethod notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7649
        currentMethod isPrivate ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7650
            m disable:#methodMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7651
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7652
        currentMethod isProtected ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7653
            m disable:#methodMakeProtected
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7654
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7655
        currentMethod isPublic ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7656
            m disable:#methodMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7657
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7658
        currentMethod isIgnored ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7659
            m disable:#methodMakeIgnored
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7660
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7661
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7662
        (currentMethod code notNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7663
        or:[Compiler canCreateMachineCode not]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7664
            m disable:#methodSTCCompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7665
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7666
        currentMethod byteCode isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7667
            m disable:#methodDecompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7668
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7669
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7670
        currentMethod previousVersion isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7671
            m disable:#methodPreviousVersion.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7672
            m disable:#methodCompareWithPreviousVersion
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7673
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7674
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7675
    ^ m
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7676
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7677
    "Created: / 23.11.1995 / 12:02:29 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7678
    "Modified: / 18.12.1995 / 16:20:07 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7679
    "Modified: / 29.4.1997 / 11:20:59 / dq"
1503
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7680
    "Modified: / 4.3.1998 / 16:44:45 / cg"
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7681
!
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7682
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7683
methodMove
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7684
    "move the current method into another class; typically a superclass"
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7685
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7686
    |newClass newClassName sup initial movedMethod list holders|
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7687
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7688
    self checkMethodSelected ifFalse:[^ self].
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7689
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7690
    lastMethodMoveClass ~= currentClass name ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7691
	initial := lastMethodMoveClass.
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7692
    ].
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7693
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7694
    initial isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7695
	(sup := currentClass superclass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7696
	    initial := sup name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7697
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7698
	    initial := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7699
	].
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7700
    ].
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7701
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7702
"/ preps to use windowSpecs ...
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7703
"/
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7704
"/    list := (currentClass allSuperclasses collect:[:cls | cls name]).
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7705
"/    list := list , (currentClass allSubclasses collect:[:cls | cls name]).
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7706
"/
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7707
"/    holders := IdentityDictionary new.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7708
"/    holders at:#className put:initial asValue.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7709
"/    holders at:#classList put:list.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7710
"/
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7711
"/    (SystemBrowser 
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7712
"/        openDialogInterface:#methodMoveDialogSpec
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7713
"/        withBindings:holders) ifTrue:[
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7714
"/        newClassName := (holders at:#className) value.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7715
"/    ].
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7716
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7717
    newClassName := Dialog 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7718
		    request:(resources string:'move current method to which class:')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7719
		    initialAnswer:initial
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7720
		    okLabel:(resources string:'move')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7721
		    title:(resources string:'move method')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7722
		    onCancel:nil.
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7723
    newClassName isNil ifTrue:[^ self].
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7724
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7725
    newClass := Smalltalk classNamed:newClassName.
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7726
    newClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7727
	self warn:'no such class'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7728
	^ self
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7729
    ].
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7730
    lastMethodMoveClass := newClassName.
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7731
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7732
    showInstance ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7733
	newClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7734
	    newClass := newClass class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7735
	]
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7736
    ].
978
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7737
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7738
    movedMethod := newClass 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7739
			compile:(currentMethod source) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7740
			classified:currentMethodCategory.
978
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7741
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7742
    (movedMethod isNil or:[movedMethod == #Error]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7743
	self warn:'not moved - compilation failed due to a compilation error'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7744
	^ self
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7745
    ].
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7746
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7747
    self methodRemove
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7748
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7749
    "Created: 13.12.1995 / 10:56:42 / cg"
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7750
    "Modified: 25.6.1997 / 13:58:56 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7751
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7752
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7753
methodNewMenuSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7754
    "open a MenuEditor"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7755
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7756
    |specSel|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7757
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7758
    currentClass isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7759
        ^ self warn:'select/create a class first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7760
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7761
    currentMethodCategory isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7762
        ^ self warn:'select/create a method category first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7763
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7764
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7765
    (actualClass implements:#menuSpec) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7766
        specSel := #menuSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7767
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7768
    MenuEditor openOnClass:currentClass andSelector:specSel
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7769
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7770
    "Created: / 28.10.1997 / 12:42:00 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7771
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7772
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7773
methodNewMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7774
    "prepare for definition of a new method - put a template into
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7775
     code view and define accept-action to compile it"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7776
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7777
    currentClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7778
	^ self warn:'select/create a class first'.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7779
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7780
    currentMethodCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7781
	^ self warn:'select/create a method category first'.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7782
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7783
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7784
    currentMethod := currentSelector := nil.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7785
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  7786
    methodListView setSelection:nil.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  7787
    codeView contents:(self methodTemplate).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7788
    codeView modified:false.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7789
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7790
    self setAcceptAndExplainActionsForMethod.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  7791
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  7792
    "Modified: 25.5.1996 / 13:02:44 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7793
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7794
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7795
methodNewWindowSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7796
    "open GUI Painter"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7797
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7798
    |specSel|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7799
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7800
    currentClass isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7801
        ^ self warn:'select/create a class first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7802
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7803
    currentMethodCategory isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7804
        ^ self warn:'select/create a method category first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7805
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7806
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7807
    (actualClass implements:#windowSpec) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7808
        specSel := #windowSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7809
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7810
    UIPainter openOnClass:currentClass andSelector:specSel
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7811
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7812
    "Modified: / 28.10.1997 / 12:40:35 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7813
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7814
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7815
methodPreviousVersion
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7816
    "switch back to the previous version
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7817
     (undo last change)"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7818
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7819
    |cls sel prev|
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7820
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7821
    self checkMethodSelected ifFalse:[^ self].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7822
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7823
    prev := currentMethod previousVersion.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7824
    prev isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7825
	self warn:'oops - previous version is gone'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7826
	^ self
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7827
    ].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7828
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7829
    cls := currentMethod containingClass.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7830
    cls notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7831
	sel := actualClass selectorAtMethod:currentMethod.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7832
	sel isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7833
	    self warn:'oops - cannot find methods selector (gone)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7834
	] ifFalse:[        
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7835
	    cls basicAddSelector:sel withMethod:prev.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7836
	    currentMethod := prev.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7837
	    self updateCodeView
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7838
	].
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7839
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7840
	self warn:'oops - cannot find containing class'
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7841
    ]
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7843
    "Modified: 7.11.1996 / 18:51:09 / cg"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7844
!
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7845
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7846
methodPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7847
    "print out the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7848
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7849
    |printStream|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7850
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7851
    self checkMethodSelected ifFalse:[^ self].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7852
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7853
    printStream := Printer new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7854
    actualClass printOutSource:(currentMethod source) on:printStream.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7855
    printStream close
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  7856
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  7857
    "Modified: / 28.1.1998 / 00:28:03 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7858
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7859
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7860
methodPrivacy:how
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7861
    "change the current methods privacy.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7862
     EXPERIMENTAL"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7863
1416
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7864
    |cls|
610
26f0bebb40c0 show privacy in fullprotocol as well
Claus Gittinger <cg@exept.de>
parents: 609
diff changeset
  7865
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7866
    self checkMethodSelected ifFalse:[^ self].
289
a6133415c545 added methodIgnore; browse-menu-entry in method-list-browsers; update in full-class-brwsr; more on revisions; better compare with repository
Claus Gittinger <cg@exept.de>
parents: 287
diff changeset
  7867
1416
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7868
    (how == currentMethod privacy) ifFalse:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7869
        currentMethod privacy:how.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7870
        cls := currentMethod containingClass.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7871
        cls notNil ifTrue:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7872
            cls addChangeRecordForMethodPrivacy:currentMethod.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7873
        ] ifFalse:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7874
            self warn:'cannot write change record (no class)'
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7875
        ].
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7876
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7877
        Class withoutUpdatingChangesDo:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7878
            currentClass changed:#methodPrivacy with:currentSelector.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7879
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7880
    ]
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7881
1416
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7882
    "Created: / 29.10.1995 / 20:00:00 / cg"
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7883
    "Modified: / 8.1.1997 / 22:37:02 / cg"
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  7884
    "Modified: / 23.1.1998 / 17:56:02 / stefan"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7885
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7886
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7887
methodRemove
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7888
    "remove the current method"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7889
1054
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  7890
    |cls sel w|
610
26f0bebb40c0 show privacy in fullprotocol as well
Claus Gittinger <cg@exept.de>
parents: 609
diff changeset
  7891
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7892
    self checkMethodSelected ifFalse:[^ self].
826
cdbbf4eb1afb use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
  7893
1054
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  7894
    w := currentMethod who.
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  7895
    w notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7896
	cls := w methodClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7897
	sel := w methodSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7898
	cls notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7899
	    cls ~~ actualClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7900
		^ self warn:'oops - obsolete class; please reselect class ...'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7901
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7902
	    sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7903
		actualClass removeSelector:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7904
		currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7905
		self updateMethodListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7906
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7907
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7908
	].
1054
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  7909
    ]. 
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  7910
    self warn:'cannot remove method (no class)'
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7911
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7912
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7913
methodRemoveBreakOrTrace
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7914
    "turn off tracing of the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7915
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7916
    self commonTraceHelperWith:#clearBreakPoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7917
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7918
    "Modified: / 12.1.1998 / 19:15:32 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7919
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7920
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7921
methodSTCCompile
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7922
    "compile the current method to machine code.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7923
     This is not supported on all machines, and never supported in
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7924
     the demo version."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7925
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7926
    |prev|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7927
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7928
    self checkMethodSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7929
    prev := Compiler stcCompilation:#always.
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  7930
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7931
	[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7932
	    codeView accept.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7933
	] valueNowOrOnUnwindDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7934
	    Compiler stcCompilation:prev
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7935
	]
1183
5c5ddf5dcac1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1171
diff changeset
  7936
    ].
5c5ddf5dcac1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1171
diff changeset
  7937
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  7938
    "Modified: 18.8.1997 / 15:44:22 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7939
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7940
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7941
methodSenders
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7942
    "launch an enterBox for selector to search for"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7943
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7944
    self askForSearchTitle:'selector to browse senders of:' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7945
		  openWith:#browseAllCallsOn:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7946
		isSelector:true
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7947
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7948
    "Modified: 10.7.1996 / 10:33:29 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7949
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7950
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7951
methodSpawn
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7952
    "create a new SystemBrowser browsing current method,
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7953
     or if the current selection is of the form 'class>>selector', spawan
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7954
     a browser on that method."
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7955
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7956
    |s sel selSymbol clsName clsSymbol cls isMeta w|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7957
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7958
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7959
	s := classMethodListView selectionValue string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7960
	clsName := self classNameFromClassMethodString:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7961
	sel := self selectorFromClassMethodString:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7962
	isMeta := false
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7963
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7964
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7965
    self extractClassAndSelectorFromSelectionInto:[:c :s :m |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7966
	clsName := c.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7967
	sel := s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7968
	isMeta := m
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7969
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7970
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7971
    (sel notNil and:[clsName notNil]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7972
	(clsName knownAsSymbol and:[sel knownAsSymbol]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7973
	    clsSymbol := clsName asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7974
	    (Smalltalk includesKey:clsSymbol) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7975
		cls := Smalltalk at:clsSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7976
		isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7977
		    cls := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7978
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7979
		cls isBehavior ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7980
		    cls := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7981
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7982
		cls isBehavior ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7983
		    selSymbol := sel asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7984
		    self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7985
			(cls includesSelector:selSymbol) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7986
			    cls := cls class.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7987
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7988
			(cls includesSelector:selSymbol) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7989
			    SystemBrowser browseClass:cls selector:selSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7990
			    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7991
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7992
			w := ' does not implement #' , sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7993
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7994
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7995
		    w := ' is not a class'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7996
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7997
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7998
		w := ' is unknown'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7999
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8000
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8001
	    w := ' and/or ' , sel , ' are unknown'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8002
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8003
	self warn:(clsName , w).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8004
	^ self
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8005
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8006
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8007
    self checkMethodSelected ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8008
	self warn:'select a method first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8009
	^ self
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8010
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8011
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8012
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8013
	w := currentMethod who.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8014
	SystemBrowser browseClass:(w methodClass) selector:(w methodSelector)
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8015
    ]
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  8016
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8017
    "Modified: 18.8.1997 / 15:46:10 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8018
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8019
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8020
methodStartCounting
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8021
    "set a countpoint on the current method"
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8022
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8023
    self commonTraceHelperWith:#startCounting
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8024
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8025
    "Created: / 15.12.1995 / 11:00:44 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8026
    "Modified: / 12.1.1998 / 19:15:40 / cg"
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8027
!
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8028
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8029
methodStartMemoryUsage
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8030
    "set a countpoint for memory usage on the current method"
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8031
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8032
    self commonTraceHelperWith:#startCountingMemoryUsage
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8033
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8034
    "Created: / 18.12.1995 / 16:00:22 / stefan"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8035
    "Modified: / 12.1.1998 / 19:15:46 / cg"
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8036
!
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8037
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8038
methodStartTiming
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8039
    "set a timing on the current method"
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8040
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8041
    self commonTraceHelperWith:#startTiming
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8042
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8043
    "Created: / 17.6.1996 / 17:12:06 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8044
    "Modified: / 12.1.1998 / 19:15:50 / cg"
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8045
!
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8046
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8047
methodStopCounting
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8048
    "show the number of invocations & remove a countpoint on the current method"
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8049
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8050
    self commonTraceHelperWith:#stopCounting
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8051
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8052
    "Created: / 15.12.1995 / 11:03:22 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8053
    "Modified: / 12.1.1998 / 19:15:55 / cg"
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8054
!
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8055
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8056
methodStopMemoryUsage
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8057
    "stop counting of memory usage for this method"
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8058
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8059
    self commonTraceHelperWith:#stopCountingMemoryUsage.
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8060
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8061
    "Created: / 18.12.1995 / 16:02:02 / stefan"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8062
    "Modified: / 12.1.1998 / 19:16:06 / cg"
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8063
!
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8064
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8065
methodStopTiming
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8066
    "show the execution times on the current method"
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8067
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8068
    self commonTraceHelperWith:#stopTiming
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8069
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8070
    "Created: / 17.6.1996 / 17:12:27 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8071
    "Modified: / 12.1.1998 / 19:16:12 / cg"
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8072
!
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8073
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8074
methodStringSearch
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8075
    "launch an enterBox for string to search for"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8076
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  8077
    self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8078
	askForSearchTitle:'string to search for in sources:' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8079
	openWith:#browseForString:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8080
	isSelector:true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8081
	searchArea:#class
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  8082
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  8083
    "Modified: 11.11.1996 / 12:44:13 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8084
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8085
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8086
methodTrace
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8087
    "turn on tracing of the current method"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8088
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8089
    self commonTraceHelperWith:#setTracePoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8090
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8091
    "Modified: / 12.1.1998 / 19:16:16 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8092
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8093
306
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8094
methodTraceFull
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8095
    "turn on tracing of the current method"
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8096
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8097
    self commonTraceHelperWith:#setTraceFullPoint.
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8098
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8099
    "Created: / 15.12.1995 / 18:20:33 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8100
    "Modified: / 12.1.1998 / 19:16:19 / cg"
306
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8101
!
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8102
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8103
methodTraceSender
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8104
    "turn on tracing of the current method"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8105
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8106
    self commonTraceHelperWith:#setTraceSenderPoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8107
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8108
    "Modified: / 12.1.1998 / 19:16:22 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8109
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8110
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8111
!BrowserView methodsFor:'method stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8112
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8113
checkMethodSelected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8114
    currentMethod isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8115
	self warn:'select a method first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8116
	^ false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8117
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8118
    ^ true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8119
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8120
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8121
listEntryForMethod:aMethod selector:selector
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8122
    "answer a method list entry 
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8123
     (gimmic: adding a little image to breakPointed methods)"
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8124
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8125
    |s icn resources|
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8126
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8127
    s := aMethod printStringForBrowserWithSelector:selector.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8128
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8129
    "/
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8130
    "/ wrap icons (i.e. break- or trace points)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8131
    "/ have higher prio ...
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8132
    "/
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8133
    aMethod isWrapped ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8134
        (s endsWith:' !!') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8135
            s := s copyWithoutLast:2
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8136
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8137
        aMethod isBreakpointed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8138
            icn := self stopIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8139
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8140
            aMethod isTimed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8141
                icn := self timeIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8142
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8143
                icn := self traceIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8144
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8145
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8146
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8147
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8148
    icn isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8149
        ShowResourceIcons ~~ false ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8150
            (resources := aMethod resources) notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8151
                (resources includesKey:#canvas) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8152
                    icn := self canvasIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8153
                ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8154
                    (resources includesKey:#menu) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8155
                        icn := self menuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8156
                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8157
                        (resources includesKey:#image) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8158
                            icn := self imageIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8159
                        ] ifFalse:[
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8160
                            (resources includesKey:#fileImage) ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8161
                                icn := self fileImageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8162
                            ] ifFalse:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8163
                                (resources includesKey:#programMenu) ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8164
                                    icn := self programMenuIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8165
                                ] ifFalse:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8166
                                    (resources includesKey:#tableColumns) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8167
                                        icn := self tableColumnsIcon 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8168
                                    ] ifFalse:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8169
                                        (resources includesKey:#tabList) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8170
                                            icn := self tabListIcon 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8171
                                        ] ifFalse:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8172
                                            (resources includesKey:#hierarchicalList) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8173
                                                icn := self hierarchicalListIcon 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8174
                                            ]
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8175
                                        ]
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8176
                                    ]
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8177
                                ]
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8178
                            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8179
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8180
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8181
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8182
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8183
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8184
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8185
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8186
    icn notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8187
        ^ LabelAndIcon icon:icn string:s
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8188
    ].
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8189
    ^ s
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8190
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8191
    "Created: / 22.10.1996 / 19:51:00 / cg"
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8192
    "Modified: / 29.10.1997 / 03:31:41 / cg"
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8193
!
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8194
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8195
listOfAllMethodsInCategory:aCategory inFullProtocolHierarchyOfClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8196
    "answer a list of all methods in a given method category 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8197
     of the argument, aClass and its superclasses.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8198
     Used with fullProtocol browsing."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8199
1346
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8200
    |newList selectors otherSelectors allCategories|
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8201
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8202
    newList := OrderedCollection new.
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8203
    selectors := IdentitySet new.
611
f3e973ecc846 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
  8204
    otherSelectors := IdentitySet new.
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8205
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8206
    allCategories := (aCategory = '* all *').
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8207
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8208
    self classesInFullProtocolHierarchy:aClass do:[:c |
1346
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8209
        |searchCategory|
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8210
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8211
        (aCategory = '* no category *') ifTrue:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8212
            searchCategory := nil
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8213
        ] ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8214
            searchCategory := aCategory
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8215
        ].
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8216
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8217
        c methodDictionary keysAndValuesDo:[:selector :aMethod |
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8218
            (allCategories
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8219
             or:[aMethod category = searchCategory]) ifTrue:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8220
                (otherSelectors includes:selector) ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8221
                    (selectors includes:selector) ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8222
                        selectors add:selector.
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8223
                        newList add:(selector -> aMethod)
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8224
                    ]
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8225
                ].
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8226
            ] ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8227
                otherSelectors add:selector
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8228
            ]
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8229
        ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8230
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8231
    (newList size == 0) ifTrue:[^ nil].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8232
    ^ newList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8233
1346
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8234
    "Modified: 14.10.1997 / 00:19:20 / cg"
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8235
!
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8236
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8237
listOfAllMethodsInCategory:aCategory ofClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8238
    "answer a list of all methods in a given method category 
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8239
     of the argument, aClass"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8240
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8241
    |newList searchCategory all|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8242
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8243
    all := (aCategory = '* all *').
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8244
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8245
    (aCategory = '* no category *') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8246
	searchCategory := nil
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8247
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8248
	searchCategory := aCategory
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8249
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8250
    newList := OrderedCollection new.
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8251
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  8252
    aClass methodDictionary keysAndValuesDo:[:selector :aMethod |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8253
	(all or:[aMethod category = searchCategory]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8254
	    newList add:(selector -> aMethod)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8255
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8256
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8257
    (newList size == 0) ifTrue:[^ nil].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8258
    ^ newList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8260
    "Created: 30.7.1997 / 15:10:16 / cg"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8261
    "Modified: 30.7.1997 / 15:12:38 / cg"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8262
!
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8263
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8264
listOfAllSelectorsInCategory:aCategory inFullProtocolHierarchyOfClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8265
    "answer a list of all selectors in a given method category 
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8266
     of the argument, aClass and its superclasses.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8267
     Used with fullProtocol browsing."
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8268
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8269
    |methodList newList otherSelectors allCategories|
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8270
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8271
    methodList := self listOfAllMethodsInCategory:aCategory inFullProtocolHierarchyOfClass:aClass.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8272
    (methodList size == 0) ifTrue:[^ nil].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8273
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8274
    aClass isJavaClass ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8275
	methodList := methodList asOrderedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8276
	methodList sort:[:a :b |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8277
			    |mA mB|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8278
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8279
			    mA := a value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8280
			    mB := b value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8281
			    mA name < mB name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8282
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8283
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8284
	selectorList := methodList collect:[:assoc | assoc key].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8285
	^ methodList collect:[:assoc |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8286
				self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8287
				    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8288
				    selector:(assoc key)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8289
			     ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8290
    ].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8291
1262
8e1263b12ec6 checkin from browser
ca
parents: 1260
diff changeset
  8292
    methodList := methodList asOrderedCollection.
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8293
    selectorList := methodList collect:[:assoc | assoc key].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8294
    newList := methodList 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8295
		    collect:[:assoc |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8296
			self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8297
			    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8298
			    selector:assoc key
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8299
		    ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8300
    ^ newList asOrderedCollection sort:[:a :b | a string < b string] with:selectorList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8301
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8302
    "Modified: 30.7.1997 / 15:28:59 / cg"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8303
!
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8304
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8305
listOfAllSelectorsInCategory:aCategory ofClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8306
    "answer a list of all selectors in a given method category 
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8307
     of the argument, aClass"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8308
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8309
    |methodList newList|
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8310
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8311
    methodList := self listOfAllMethodsInCategory:aCategory ofClass:aClass.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8312
    (methodList size == 0) ifTrue:[^ nil].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8313
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8314
    aClass isJavaClass ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8315
	methodList := methodList asOrderedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8316
	methodList sort:[:a :b |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8317
			    |mA mB|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8318
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8319
			    mA := a value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8320
			    mB := b value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8321
			    mA name < mB name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8322
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8323
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8324
	selectorList := methodList collect:[:assoc | assoc key].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8325
	^ methodList collect:[:assoc |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8326
				self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8327
				    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8328
				    selector:(assoc key)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8329
			     ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8330
    ].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8331
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8332
    selectorList := methodList collect:[:assoc | assoc key].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8333
    newList := methodList 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8334
		    collect:[:assoc | 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8335
				self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8336
				    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8337
				    selector:(assoc key)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8338
			    ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8339
    ^ newList sort:[:a :b | a string < b string] with:selectorList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8340
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8341
    "Modified: 30.7.1997 / 15:29:16 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8342
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8343
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8344
methodDoubleClick:lineNr
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8345
    |resources|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8346
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8347
    currentMethod notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8348
        currentMethod hasResource ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8349
            resources := currentMethod resources.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8350
            (resources includesKey:#canvas) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8351
                UIPainter openOnClass:currentClass andSelector:currentSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8352
                ^ self
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8353
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8354
            (resources includesKey:#menu) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8355
                MenuEditor openOnClass:currentClass andSelector:currentSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8356
                ^ self
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8357
            ].
1382
59c2d1a664f1 Double click on image resource methods invokes the Image Editor with the current class and selector as arguments.
tz
parents: 1375
diff changeset
  8358
            ((resources includesKey:#image) or: [resources includesKey:#fileImage]) ifTrue:[
59c2d1a664f1 Double click on image resource methods invokes the Image Editor with the current class and selector as arguments.
tz
parents: 1375
diff changeset
  8359
                ImageEditor openOnClass:currentClass andSelector:currentSelector.
59c2d1a664f1 Double click on image resource methods invokes the Image Editor with the current class and selector as arguments.
tz
parents: 1375
diff changeset
  8360
                ^ self
59c2d1a664f1 Double click on image resource methods invokes the Image Editor with the current class and selector as arguments.
tz
parents: 1375
diff changeset
  8361
            ].
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8362
            (resources includesKey:#tableColumns) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8363
                DataSetBuilder openOnClass:currentClass andSelector:currentSelector.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8364
                ^ self
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8365
            ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8366
            (resources includesKey:#tabList) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8367
                TabItemEditor openOnClass:currentClass andSelector:currentSelector.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8368
                ^ self
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8369
            ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8370
            (resources includesKey:#hierarchicalList) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8371
                HierarchicalListEditor openOnClass:currentClass andSelector:currentSelector.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8372
                ^ self
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8373
            ].
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8374
        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8375
    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8376
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8377
    "Created: / 27.10.1997 / 00:29:58 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8378
    "Modified: / 28.10.1997 / 12:45:05 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8379
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8380
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8381
methodSelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8382
    "user clicked on a method line - show code"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8383
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  8384
    |selection sensor|
1073
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8385
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8386
"/    selection := methodListView selectionValue string.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8387
selection := selectorList at:lineNr.
1073
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8388
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8389
    "/ reselected with control ?
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  8390
    ((sensor := self sensor) notNil and:[sensor ctrlDown]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8391
	selection = currentSelector ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8392
	    "/ if there is a trace/break, remove it.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8393
	    (currentMethod notNil and:[currentMethod isWrapped]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8394
		self methodRemoveBreakOrTrace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8395
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8396
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8397
	].
1073
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8398
    ].
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8399
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8400
    self switchToMethod:selection.
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8401
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8402
    "Modified: 30.7.1997 / 15:31:21 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8403
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8404
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8405
methodSelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8406
    "method selection has changed - update dependent views"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8407
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8408
    self withBusyCursorDo:[
1342
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8409
        |index cls|
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8410
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8411
        aspect := nil.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8412
        self updateCodeView.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8413
        (currentMethod notNil 
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8414
        and:[currentMethod isCounting]) ifTrue:[
1342
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8415
            self updateMethodListWithScroll:false.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8416
        ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8417
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8418
        self setAcceptAndExplainActionsForMethod.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8419
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8420
        "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8421
         if there is any autoSearch string, do the search
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8422
        "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8423
        autoSearch notNil ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8424
            codeView 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8425
                searchFwd:autoSearch 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8426
                startingAtLine:1 col:0 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8427
                ifAbsent:[]
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8428
        ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8429
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8430
        fullProtocol ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8431
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8432
             remove any bold attribute from classList
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8433
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8434
            1 to:classListView list size do:[:i |
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8435
                classListView attributeAt:i remove:#bold.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8436
            ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8437
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8438
             boldify the class where this method is implemented
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8439
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8440
            currentMethod notNil ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8441
                cls := currentMethod containingClass.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8442
                index := classListView list indexOf:(cls name).
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8443
                (index == 0 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8444
                 and:[cls isMeta
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8445
                 and:[cls name endsWith:' class']]) ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8446
                    index := classListView list indexOf:(cls name copyWithoutLast:6).
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8447
                ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8448
                index ~~ 0 ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8449
                    classListView attributeAt:index add:#bold.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8450
                ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8451
                currentClass := acceptClass := cls.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8452
            ]
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8453
        ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8454
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8455
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8456
    "Created: / 23.11.1995 / 14:17:44 / cg"
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8457
    "Modified: / 17.6.1996 / 16:47:50 / stefan"
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8458
    "Modified: / 12.1.1998 / 19:07:36 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8459
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8460
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8461
methodTemplate
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8462
    "return a method definition template"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8463
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8464
    |s|
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8465
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8466
    s := TextStream on:''.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8467
    s nextPutAll:'message selector and argument names
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8468
    "comment stating purpose of this message"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8469
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8470
    |temporaries|
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8471
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8472
    statement.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8473
    statement.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8474
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8475
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8476
    "
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8477
     optional: comment giving example use
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8478
    "
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8479
'.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8480
    s cr.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8481
    s emphasis:(self commentEmphasis).
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8482
    s nextPutAll:'"
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8483
 change the above template into real code.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8484
 Then `accept'' either via the menu 
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8485
 or via the keyboard (usually CMD-A).
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8486
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8487
 You do not need this template; you can also
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8488
 select any existing methods code, change it,
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8489
 and finally `accept''. The method will then be
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8490
 installed under the selector as defined in the
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8491
 actual text - no matter which method is selected
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8492
 in the browser.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8493
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8494
 Or clear this text, type in the method from scratch
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8495
 and install it with `accept''.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8496
"
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8497
'.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8498
    ^ s contents
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8499
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8500
    "Created: 8.2.1996 / 18:21:53 / cg"
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8501
    "Modified: 1.8.1997 / 12:43:51 / cg"
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8502
!
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8503
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8504
switchToAnyMethodNamed:matchString
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  8505
    "switch (in the current classes hierarchy) to a method named matchString.
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8506
     If there are more than one matches, switch to the first."
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8507
750
7427968b55f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
  8508
    |aSelector classToStartSearch classToSearch aClass nm idx|
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8509
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8510
    actualClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8511
	currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8512
	    classToStartSearch := currentClassHierarchy
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8513
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8514
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8515
	classToStartSearch := actualClass 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8516
    ].
637
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8517
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8518
    classToStartSearch notNil ifTrue:[
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8519
"/        showInstance ifFalse:[
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8520
"/            classToStartSearch := classToStartSearch class
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8521
"/        ].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8522
	((matchString ~= '*') and:[matchString includesMatchCharacters]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8523
	    classToSearch := classToStartSearch.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8524
	    aClass := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8525
	    [classToSearch notNil and:[aClass isNil]] whileTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8526
		aSelector := classToSearch methodDictionary findFirstKey:[:element | matchString match:element].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8527
		aSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8528
		    aClass := classToSearch
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8529
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8530
		    classToSearch := classToSearch superclass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8531
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8532
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8533
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8534
	    aSelector := matchString asSymbolIfInterned.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8535
	    aSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8536
		aClass := classToStartSearch whichClassIncludesSelector:aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8537
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8538
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8539
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8540
	aClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8541
	    nm := aClass name.
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8542
"/            showInstance ifFalse:[
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  8543
"/                ((nm ~= 'Metaclass') and:[nm endsWith:' class']) ifTrue:[
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  8544
"/                    nm := nm copyWithoutLast:6 "copyTo:(nm size - 5)"
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8545
"/                ]
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8546
"/            ].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8547
	    aClass ~~ actualClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8548
		self switchToClassNamed:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8549
	    ].    
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8550
	    self switchToMethodNamed:aSelector "matchString".
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8551
	    ^ self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8552
	]
578
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8553
    ].
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8554
    self beep
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8555
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  8556
    "Modified: 17.6.1996 / 16:52:36 / stefan"
750
7427968b55f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
  8557
    "Modified: 8.10.1996 / 22:06:01 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8558
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8559
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8560
switchToMethod:aString
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8561
    "user clicked on a method line - show code"
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8562
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8563
    |selectorString selectorSymbol|
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8564
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8565
    (fullProtocol not and:[currentClass isNil]) ifTrue:[^ self].
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8566
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8567
    "
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8568
     kludge: extract real selector
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8569
    "
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8570
    selectorString := aString withoutSpaces upTo:(Character space).
637
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8571
    selectorSymbol := selectorString asSymbolIfInterned.
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8572
    selectorSymbol isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8573
	self beep.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8574
	^ self
637
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8575
    ].
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8576
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8577
    fullProtocol ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8578
	currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8579
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8580
	 search which class implements the selector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8581
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8582
	self classesInFullProtocolHierarchy:actualClass do:[:c |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8583
	    (currentMethod isNil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8584
	     and:[c includesSelector:selectorSymbol]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8585
		currentSelector := selectorSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8586
		currentMethod := c compiledMethodAt:selectorSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8587
		acceptClass := c
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8588
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8589
	]
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8590
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8591
	currentSelector := selectorSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8592
	currentMethod := actualClass compiledMethodAt:selectorSymbol.
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8593
    ].
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8594
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8595
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8596
	currentMethod notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8597
	    (currentMethodCategory = currentMethod category) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8598
		currentMethodCategory := currentMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8599
		methodCategoryListView setSelectElement:currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8600
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8601
	]
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8602
    ].
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8603
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8604
    self methodSelectionChanged
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8605
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8606
    "Created: 4.6.1996 / 23:00:12 / cg"
637
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8607
    "Modified: 22.6.1996 / 16:46:18 / cg"
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8608
!
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8609
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8610
switchToMethodNamed:matchString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8611
    "switch (in the current class) to a method named matchString.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8612
     If there are more than one matches, switch to the first."
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8613
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  8614
    |aSelector method cat classToSearch dict m idx|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8615
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8616
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8617
	classToSearch := actualClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8618
	dict := classToSearch methodDictionary.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8619
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8620
	((matchString ~= '*') and:[matchString includesMatchCharacters]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8621
	    aSelector := dict findFirstKey:[:element | matchString match:element].       
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8622
	    aSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8623
		method := dict at:aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8624
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8625
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8626
	    aSelector := matchString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8627
	    method := dict at:matchString ifAbsent:[]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8628
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8629
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8630
	method notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8631
	    cat := method category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8632
	    cat isNil ifTrue:[cat := '* all *'].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8633
	    methodCategoryListView setSelectElement:cat.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8634
	    currentMethodCategory := cat.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8635
	    self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8636
	    self methodCategorySelectionChanged.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8637
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8638
	    currentMethod := method.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8639
	    currentSelector := aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8640
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8641
	    m := aSelector , '*(*)'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8642
	    selectorList notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8643
		idx := selectorList findFirst:[:line |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8644
						    line = aSelector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8645
						    or:[m match:line]].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8646
"/            idx := methodListView list findFirst:[:line |
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8647
"/                                                line = aSelector
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8648
"/                                                or:[m match:line]].
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  8649
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8650
		methodListView setSelection:idx. "/ setSelectElement:aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8651
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8652
	    self methodSelectionChanged.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8653
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8654
	]
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8655
    ].
578
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8656
    self beep.
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8657
650
bb426452251e Fix #switchToMethodNamed: -- select name in methodListView.
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
  8658
    "Modified: 28.6.1996 / 20:28:56 / stefan"
1278
0b0ee3c97910 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  8659
    "Modified: 8.8.1997 / 12:06:11 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8660
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8661
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8662
updateClassMethodListWithScroll:scroll keepSelection:keep
1163
b36faf475548 ??? duplication removed
Claus Gittinger <cg@exept.de>
parents: 1161
diff changeset
  8663
    |newList selection s|
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8664
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8665
    newList := OrderedCollection new.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8666
    selection := classMethodListView selection.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8667
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8668
    "/ update the list, caring for traps.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8669
    classMethodListView list do:[:entry |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8670
        |cls sel mthd s icn|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8671
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8672
        cls := self classFromClassMethodString:entry string.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8673
        sel := self selectorFromClassMethodString:entry string.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8674
        (cls isNil or:[sel isNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8675
            "/ method is gone ?
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8676
            s := entry string.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8677
            (s endsWith:'???') ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8678
                s := s , ' ???'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8679
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8680
            newList add:s
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8681
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8682
            mthd := cls compiledMethodAt:(sel asSymbol).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8683
            mthd isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8684
                newList add:cls name , ' ' , sel , ' ???'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8685
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8686
                newList add:(self listEntryForMethod:mthd selector:(cls name , ' ' , sel))
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8687
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8688
"/                s := cls name , ' ' , (mthd printStringForBrowserWithSelector:sel).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8689
"/                mthd isWrapped ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8690
"/                    (s endsWith:' !!') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8691
"/                        s := s copyWithoutLast:2
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8692
"/                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8693
"/                    (s endsWith:' !!') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8694
"/                        s := s copyWithoutLast:2
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8695
"/                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8696
"/                    mthd isBreakpointed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8697
"/                        icn := self stopIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8698
"/                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8699
"/                        mthd isTimed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8700
"/                            icn := self timeIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8701
"/                        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8702
"/                            icn := self traceIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8703
"/                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8704
"/                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8705
"/                    newList add:(LabelAndIcon icon:icn string:s)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8706
"/                ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8707
"/                    newList add:s
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8708
"/                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8709
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8710
        ].
1066
3d42c6f886f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1060
diff changeset
  8711
    ].
3d42c6f886f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1060
diff changeset
  8712
    classMethodListView setList:newList.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8713
    classMethodListView setSelection:selection.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8714
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8715
    "Modified: / 18.12.1995 / 22:54:04 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8716
    "Created: / 3.3.1997 / 15:10:15 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8717
    "Modified: / 26.10.1997 / 16:52:32 / cg"
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8718
!
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8719
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8720
updateMethodList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8721
    self updateMethodListWithScroll:true keepSelection:false
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8722
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8723
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8724
updateMethodListWithScroll:scroll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8725
    self updateMethodListWithScroll:scroll keepSelection:false
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8726
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8727
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8728
updateMethodListWithScroll:scroll keepSelection:keep
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8729
    |selectors scr first last selection searchCategory|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8730
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8731
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8732
	selection := methodListView selection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8733
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8734
	searchCategory := currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8735
	(currentClass notNil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8736
	and:[currentClass supportsMethodCategories not]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8737
	    searchCategory := '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8738
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8739
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8740
	(searchCategory notNil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8741
	and:[actualClass notNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8742
	    fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8743
		selectors := self listOfAllSelectorsInCategory:searchCategory 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8744
				inFullProtocolHierarchyOfClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8745
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8746
		selectors := self listOfAllSelectorsInCategory:searchCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8747
						       ofClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8748
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8749
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8750
	scr := scroll.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8751
	first := methodListView firstLineShown.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8752
	first ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8753
	    last := methodListView lastLineShown.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8754
	    selectors size <= (last - first + 1) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8755
		scr := true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8756
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8757
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8758
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8759
	scr ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8760
	    methodListView list: "contents:" selectors
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8761
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8762
	    methodListView setList: "setContents:" selectors
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8763
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8764
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8765
	(variableListView notNil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8766
	and:[variableListView hasSelection]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8767
	    self hilightMethodsInMethodList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8768
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8769
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8770
	keep ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8771
	    methodListView setSelection:selection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8772
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8773
	^ self
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8774
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8775
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8776
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8777
	self updateClassMethodListWithScroll:scroll keepSelection:keep
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8778
    ].
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8779
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8780
    "Modified: 18.12.1995 / 22:54:04 / stefan"
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8781
    "Modified: 30.7.1997 / 15:55:06 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8782
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8783
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8784
!BrowserView methodsFor:'misc'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8785
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8786
instanceProtocol:aBoolean
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8787
    "switch between instance and class protocol"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8788
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8789
    |onToggle offToggle|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8790
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8791
    showInstance ~~ aBoolean ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8792
	self checkSelectionChangeAllowed ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8793
	    instanceToggle notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8794
		aBoolean ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8795
		    offToggle := classToggle.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8796
		    onToggle := instanceToggle.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8797
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8798
		    onToggle := classToggle.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8799
		    offToggle := instanceToggle.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8800
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8801
		onToggle turnOn.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8802
		offToggle turnOff.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8803
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8804
	    showInstance := aBoolean.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8805
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8806
	    (variableListView notNil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8807
	    and:[variableListView hasSelection]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8808
		self unhilightMethodCategories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8809
		self unhilightMethods.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8810
		variableListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8811
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8812
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8813
	    fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8814
		showInstance ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8815
		    actualClass := currentClassHierarchy.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8816
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8817
		    actualClass := currentClassHierarchy class.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8818
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8819
		acceptClass := actualClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8820
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8821
		self updateClassList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8822
		self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8823
		self updateMethodListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8824
		self updateVariableList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8825
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8826
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8827
	    currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8828
		self classSelectionChanged
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8829
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8830
	    codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8831
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8832
	    aBoolean ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8833
		onToggle := classToggle.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8834
		offToggle := instanceToggle
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8835
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8836
		offToggle := classToggle.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8837
		onToggle := instanceToggle.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8838
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8839
	    onToggle turnOn.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8840
	    offToggle turnOff.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8841
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8842
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  8843
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  8844
    "Modified: 25.5.1996 / 13:02:41 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8845
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8846
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8847
processName
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8848
    "the name of my process - for the processMonitor only"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8849
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8850
    ^ 'System Browser'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8851
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8852
309
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  8853
showActivity:someMessage
501
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  8854
    "some activityNotification to be forwarded to the user;
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  8855
     show it in the windows title area here."
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  8856
1500
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  8857
    someMessage size == 0 ifTrue:[
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  8858
        self normalLabel
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  8859
    ] ifFalse:[
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  8860
        self busyLabel:someMessage with:nil
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  8861
    ]
309
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  8862
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  8863
    "Created: 16.12.1995 / 18:41:37 / cg"
501
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  8864
    "Modified: 23.4.1996 / 21:39:24 / cg"
309
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  8865
!
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  8866
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8867
updateCodeView
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8868
    |code sourceLineNumber|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8869
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8870
    aspect == #hierarchy ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8871
        ^ self classHierarchy
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8872
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8873
    aspect == #classInstVars ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8874
        ^ self classClassInstVars
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8875
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8876
    aspect == #comment ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8877
        ^ self classComment
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8878
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8879
    aspect == #primitiveDefinitions ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8880
        ^ self classPrimitiveDefinitions
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8881
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8882
    aspect == #primitiveFunctions ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8883
        ^ self classPrimitiveFunctions
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8884
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8885
    aspect == #primitiveVariables ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8886
        ^ self classPrimitiveVariables
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8887
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8888
    aspect == #revisionInfo ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8889
        ^ self classRevisionInfo
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8890
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8891
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8892
    fullClass ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8893
        currentClass notNil ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8894
            code := currentClass source.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8895
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8896
    ] ifFalse:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8897
        aspect == #definition ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8898
            ^ self classDefinition
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8899
        ].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8900
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8901
        currentMethod notNil ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8902
            (codeView acceptAction isNil
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8903
            and:[actualClass notNil 
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8904
            and:[currentMethodCategory notNil]]) ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8905
                self setAcceptAndExplainActionsForMethod.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8906
            ].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8907
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8908
            code := currentMethod source.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8909
            sourceLineNumber := currentMethod sourceLineNumber.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8910
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8911
            code isNil ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8912
                code := '"
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8913
    Sorry, but the methods sourceCode is not available.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8914
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8915
    If this ST/X is a ' , 'regular distribution' asText allBold ,', please check the setting of
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8916
    your systemPath which contains a collection of pathNames.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8917
    The system searches those directories for a subdirectory named ''source'', 
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8918
    which itself should contain the classes source file.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8919
    Also, check if that directory and/or sourceFile grants read access.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8920
    The sourcePath can be accessed via 
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8921
        Smalltalk>>systemPath 
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8922
    and
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8923
        Smalltalk>>systemPath:aCollectionOfPathStrings
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8924
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8925
    To fix this (in the running system), evaluate:
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8926
        Smalltalk systemPath addFirst:''<<pathOfDirContainingSourceDir>>.''
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8927
        Smalltalk flushPathCaches.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8928
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8929
    You may also want to add those statements to the end of your ''private.rc''
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8930
    file - so you wont get this error again and again. 
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8931
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8932
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8933
    If this is ST/X a ' , 'demo-distribution' asText allBold ,', the source for some classes is not
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8934
    published, and this is normal behavior.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8935
    Notice, that it is possible to add new methods - even with missing sources.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8936
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8937
"'.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8938
                codeView acceptAction:[:text | nil].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8939
            ].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8940
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8941
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8942
    codeView contents:code.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8943
    codeView modified:false.
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8944
    sourceLineNumber notNil ifTrue:[
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8945
    sourceLineNumber ~~ 1 ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8946
            codeView gotoLine:sourceLineNumber.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8947
            sourceLineNumber > 10 ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8948
                sourceLineNumber := sourceLineNumber - 10
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8949
            ].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8950
            codeView scrollToLine:sourceLineNumber.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  8951
        ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8952
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8953
    self normalLabel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8954
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8955
    "Created: 23.11.1995 / 14:16:43 / cg"
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8956
    "Modified: 30.7.1997 / 16:16:10 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8957
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8958
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8959
!BrowserView methodsFor:'namespace menu'!
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8960
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8961
nameSpaceMenu
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8962
    <resource: #programMenu >
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8963
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8964
    |labels selectors|
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8965
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8966
    labels := #('new namespace').
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8967
    selectors := #(nameSpaceNewNameSpace).
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8968
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8969
"/    showAllNamespaces ifTrue:[
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8970
"/        labels := labels , #( '-' 'show topLevel namespaces only').
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8971
"/        selectors := selectors , #(nil showTopLevelNamespaces).
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8972
"/    ] ifFalse:[
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8973
"/        labels := labels , #( '-' 'show all namespaces').
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8974
"/        selectors := selectors , #(nil showAllNamespaces).
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8975
"/    ].
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8976
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  8977
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8978
    (currentNamespace notNil
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8979
    and:[currentNamespace ~~ Smalltalk
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8980
    and:[currentNamespace ~= '* all *']]) ifTrue:[
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8981
        "/ is it all empty ?
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8982
        currentNamespace allClasses isEmpty ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8983
            labels := labels , #('-' 'remove').
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8984
            selectors := selectors , #(nil nameSpaceRemove).
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8985
        ]
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8986
    ].
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8987
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8988
    ^ PopUpMenu
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8989
        labels:(resources array:labels)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8990
        selectors:selectors
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8991
        receiver:self.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8992
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8993
    "Created: / 4.1.1997 / 23:51:38 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8994
    "Modified: / 29.10.1997 / 03:39:12 / cg"
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8995
!
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8996
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8997
nameSpaceNewNameSpace
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8998
    "create a namespace-definition prototype in codeview"
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  8999
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9000
    self classClassDefinitionTemplateFor:nil in:nil namespace:true private:false.
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9001
    aspect := nil.
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9002
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9003
    "Modified: 23.12.1996 / 12:47:06 / cg"
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9004
    "Created: 23.12.1996 / 13:11:48 / cg"
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9005
!
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9006
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9007
nameSpaceRemove
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9008
    "remove that nameSpace - but only if its empty"
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9009
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9010
    (currentNamespace ~~ Smalltalk
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9011
    and:[currentNamespace allClasses isEmpty]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9012
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9013
	    Smalltalk removeClass:currentNamespace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9014
	    allNamespaces := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9015
	    self setListOfNamespaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9016
	    self changeNameSpaceTo:'* all *'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9017
	    namespaceList contents:'* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9018
	]
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9019
    ].
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9020
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  9021
    "Modified: 18.8.1997 / 15:44:31 / cg"
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9022
! !
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9023
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9024
!BrowserView methodsFor:'namespace stuff'!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9025
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9026
changeNameSpaceTo:nsName
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9027
    |n selectedClass str selectedCategory|
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9028
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9029
    nsName = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9030
	currentNamespace := nsName.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9031
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9032
	n := Smalltalk at:nsName asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9033
	n isNamespace ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9034
	    currentNamespace := n.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9035
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9036
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9037
	]
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9038
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9039
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9040
    selectedClass := actualClass.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9041
    currentClass := actualClass := nil.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9042
    selectedCategory := currentClassCategory.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9043
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9044
    self updateClassCategoryListWithScroll:true.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9045
    selectedCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9046
	self classCategorySelectionChanged.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9047
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9048
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9049
    selectedClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9050
	str := self displayedClassNameOf:selectedClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9051
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9052
	self switchToClassNamed:str.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9053
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9054
	(classListView list isNil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9055
	or:[(classListView list includes:str) not]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9056
	     currentClassCategory := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9057
	     currentClass := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9058
	     aspect := nil.   
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9059
	     self updateMethodCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9060
	     self updateMethodList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9061
	     self updateCodeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9062
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9063
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9064
	(classCategoryListView notNil and:[currentClass notNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9065
	    (currentClassCategory = currentClass category) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9066
		currentClassCategory := currentClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9067
		classCategoryListView setSelectElement:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9068
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9069
	].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9070
    ]
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9071
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9072
    "Created: 3.1.1997 / 11:11:13 / cg"
1015
b3727346969f nicer version validation
Claus Gittinger <cg@exept.de>
parents: 1000
diff changeset
  9073
    "Modified: 29.1.1997 / 18:33:42 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9074
!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9075
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9076
displayedClassNameOf:aClass
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9077
    "depending on the current nameSpace, either show a classes
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9078
     fullname or its name without the namespace prefix (if its in the current)"
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9079
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9080
    |owner nm ns|
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9081
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  9082
    aClass isJavaClass ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9083
	^ aClass fullName "/ asString replaceAll:$/ with:$.
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  9084
    ].
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  9085
1267
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  9086
    "/ in which nameSpace is that class (or its owner) ?
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  9087
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9088
    owner := aClass topOwningClass.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9089
    owner notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9090
	ns := owner nameSpace.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9091
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9092
	ns := aClass nameSpace.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9093
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9094
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9095
    "/ this 'cannot' happen (should always be Smalltalk)
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9096
    ns isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9097
	^ aClass name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9098
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9099
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9100
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9101
	(ns == Smalltalk) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9102
	    nm := aClass nameWithoutNameSpacePrefix.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9103
	    ^ nm
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9104
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9105
	nm := aClass nameWithoutNameSpacePrefix.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9106
	^ ns name , '::' , nm   "/ full name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9107
"/        ^ aClass name        "/ full name
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9108
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9109
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9110
    nm := aClass nameWithoutNameSpacePrefix.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9111
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9112
    "/ is it in one of the selected namespaces ?
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9113
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9114
    (self findClassNamedInNameSpace:nm) isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9115
	^ ns name , '::' , nm   "/ full name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9116
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9117
    currentNamespace = ns ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9118
	^ ns name , '::' , nm   "/ full name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9119
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9120
    ^ nm.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9121
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9122
    "Created: 20.12.1996 / 17:46:41 / cg"
1267
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  9123
    "Modified: 31.7.1997 / 22:57:16 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9124
!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9125
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9126
listOfAllNamespaces
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9127
    "return a list of all namespaces"
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9128
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9129
    allNamespaces isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9130
	allNamespaces := Namespace allNamespaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9131
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9132
	showAllNamespaces ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9133
	    "/ only topLevel namespaces are shown
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9134
	    "/ i.e. those without colons in their name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9135
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9136
	    allNamespaces := allNamespaces select:[:ns |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9137
						    |nm|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9138
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9139
						    nm := ns name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9140
						    (nm includes:$:) not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9141
						  ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9142
	]
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9143
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9144
    ^ allNamespaces
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9145
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9146
    "Modified: 31.7.1997 / 22:32:30 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9147
!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9148
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9149
listOfNamespaces
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9150
    "return a list of considered namespaces"
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9151
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9152
    currentNamespace isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9153
	^ Array with:Smalltalk
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9154
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9155
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9156
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9157
	^ self listOfAllNamespaces
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9158
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9159
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9160
    ^ Array with:currentNamespace
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9161
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9162
    "Created: 26.10.1996 / 11:25:39 / cg"
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9163
    "Modified: 20.12.1996 / 19:18:18 / cg"
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9164
!
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9165
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9166
setListOfNamespaces
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9167
    |l hasSmalltalk|
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9168
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9169
    namespaceList isNil ifTrue:[ ^ self ].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9170
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9171
    l := self listOfAllNamespaces collect:[:ns | ns name].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9172
    l := l asOrderedCollection.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9173
    hasSmalltalk := true.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9174
    l remove:'Smalltalk' ifAbsent:[hasSmalltalk := false].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9175
    l sort.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9176
    l addFirst:'-'.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9177
    hasSmalltalk ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9178
	l addFirst:'Smalltalk'
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9179
    ].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9180
    l addFirst:'* all *'.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9181
    namespaceList list:l
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9182
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9183
    "Modified: 20.12.1996 / 19:18:29 / cg"
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9184
!
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9185
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9186
showAllNamespaces
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9187
    "toggle to show all namespaces"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9188
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9189
    showAllNamespaces := true.
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9190
    self updateNamespaceList
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9191
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9192
    "Modified: 31.7.1997 / 22:33:16 / cg"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9193
!
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9194
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9195
showTopLevelNamespaces
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9196
    "toggle to show topLevel namespaces only"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9197
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9198
    showAllNamespaces := false.
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9199
    self updateNamespaceList
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9200
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9201
    "Created: 31.7.1997 / 22:33:29 / cg"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9202
!
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9203
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9204
updateNamespaceList
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9205
    allNamespaces := nil.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9206
    namespaceList notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9207
	self setListOfNamespaces
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9208
    ].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9209
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9210
    "Created: 8.1.1997 / 10:54:03 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9211
! !
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9212
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9213
!BrowserView methodsFor:'private'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9214
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9215
askAndBrowseMethodCategory:title action:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9216
    "convenient method: setup enterBox with initial being current method category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9217
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9218
    |sel box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9219
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9220
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9221
		enterBoxTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9222
		okText:'browse'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9223
		label:'browse category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9224
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9225
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9226
    sel isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9227
	currentMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9228
	    sel := currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9229
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9230
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9231
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9232
	box initialText:(sel asString withoutSpaces)
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9233
    ].
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  9234
    box action:[:aString | self withBusyCursorDo:[aBlock value:aString]].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9235
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9236
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  9237
    "Modified: 18.8.1997 / 15:42:07 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9238
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9239
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9240
askForMethodCategory
455
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9241
    |someCategories box txt retVal|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9242
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9243
    someCategories := actualClass categories sort.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9244
    box := self listBoxTitle:'accept in which method category ?' okText:'accept' list:someCategories.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9245
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9246
    lastMethodCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9247
	txt := 'new methods'
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9248
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9249
	txt := lastMethodCategory
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9250
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9251
    box initialText:txt.
455
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9252
    box action:[:aString | aString notEmpty ifTrue:[retVal := aString] ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9253
    box showAtPointer.
455
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9254
    ^ retVal
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9255
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9256
    "Modified: 27.3.1996 / 15:33:46 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9257
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9258
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9259
askForSearchSelectorTitle:title openWith:aSelector
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9260
    "convenient method: setup enterBox with text from codeView or selected
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9261
     method for browsing based on a selector. Set action and launch box"
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9262
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9263
    ^ self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9264
	askForSearchTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9265
	openWith:aSelector 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9266
	isSelector:true
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9267
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9268
    "Modified: 11.11.1996 / 12:43:24 / cg"
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9269
!
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9270
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9271
askForSearchTitle:title openWith:aSelector isSelector:isSelector
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9272
    "convenient method: setup enterBox with text from codeView or selected
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9273
     method for browsing based on a selector. Set action and launch box"
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9274
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9275
    ^ self
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9276
	askForSearchTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9277
	openWith:aSelector 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9278
	isSelector:isSelector 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9279
	searchArea:#everywhere
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9280
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9281
    "Modified: 11.11.1996 / 12:42:46 / cg"
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9282
!
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9283
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9284
askForSearchTitle:title openWith:aSelector isSelector:isSelector searchArea:whereDefault
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9285
    "convenient method: setup enterBox with text from codeView or selected
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9286
     method for browsing based on a selector. Set action and launch box.
1155
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9287
     SearchArea may be one of #everywhere, #classCategory, #class, #classWithPrivateClasses,
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9288
     #classHierarchy or #classHierarchyWithPrivateClasses"
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9289
1256
29c8e994602f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
  9290
    |box grp panel selectorHolder where whereChannel 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9291
     b sel classes areas toSearch cls privates inputField|
1155
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9292
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9293
    areas := #(everywhere 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9294
	       classCategory 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9295
	       class 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9296
	       classHierarchy 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9297
	       classWithPrivateClasses 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9298
	       classHierarchyWithPrivateClasses).
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9299
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9300
    isSelector ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9301
	sel := self selectorToSearchFor.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9302
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9303
	sel := self stringToSearchFor.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9304
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9305
    selectorHolder := sel asValue.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9306
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9307
    box := Dialog new.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  9308
    (box addTextLabel:(resources string:title)) adjust:#left.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9309
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9310
    inputField := box addInputFieldOn:selectorHolder tabable:true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9311
    inputField selectAll.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9312
    inputField entryCompletionBlock:[:contents |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9313
	|s what m|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9314
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9315
	s := contents withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9316
	box topView withWaitCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9317
	    what := Smalltalk selectorCompletion:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9318
	    inputField contents:what first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9319
	    (what at:2) size ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9320
		self beep
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9321
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9322
	]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9323
    ].
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9324
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9325
    (currentClassCategory notNil or:[currentClass notNil]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9326
	box addHorizontalLine.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9327
	box addVerticalSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9328
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9329
	(box addTextLabel:(resources string:'search in:')) adjust:#left.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9331
	panel := VerticalPanelView "HorizontalPanelView" new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9332
	panel horizontalLayout:#fitSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9333
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9334
	grp := RadioButtonGroup new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9335
	b := CheckBox "RadioButton" label:(resources string:'everywhere').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9336
	panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9337
	box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9338
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9339
	currentClassCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9340
	    b := CheckBox "RadioButton" label:(resources string:'class category').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9341
	    panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9342
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9343
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9344
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9345
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9346
	    b := CheckBox "RadioButton" label:(resources string:'class').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9347
	    panel add:b.grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9348
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9349
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9350
	    b := CheckBox "RadioButton" label:(resources string:'class & subclasses').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9351
	    panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9352
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9353
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9354
	    currentClass subclasses size == 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9355
		b disable.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9356
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9357
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9358
	    b := CheckBox "RadioButton" label:(resources string:'class & private classes').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9359
	    panel add:b.grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9360
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9361
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9362
	    currentClass privateClasses size == 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9363
		b disable
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9364
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9365
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9366
	    b := CheckBox "RadioButton" label:(resources string:'class & subclasses & all private classes').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9367
	    panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9368
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9369
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9370
	    currentClass subclasses size == 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9371
		b disable.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9372
	    ] ifFalse:[
1236
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9373
"/ this takes too long ...
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9374
"/                toSearch := IdentitySet new.
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9375
"/                currentClass withAllSubclasses do:[:cls | toSearch add:cls privateClasses].
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9376
"/                toSearch size == 0 ifTrue:[
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9377
"/                    b disable
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9378
"/                ]
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9379
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9380
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9381
	whereDefault notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9382
	    where := areas indexOf:whereDefault.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9383
	    where == 0 ifTrue:[where := 1].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9384
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9385
	    where := 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9386
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9387
	grp value:where.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9388
	whereChannel := grp.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9389
	box addComponent:panel indent:0.  "/ panel has its own idea of indenting
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9390
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9391
	box addVerticalSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9392
	box addHorizontalLine.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9393
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9394
	whereChannel := 1 asValue.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9395
    ].
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9396
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9397
    box addAbortButton.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  9398
    box addOkButtonLabelled:(resources string:'browse').
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9399
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9400
    box label:(resources string:'search').
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9401
    box open.
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9402
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9403
    box accepted ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9404
	sel := selectorHolder value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9405
	where := whereChannel value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9406
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9407
	sel isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9408
	    self warn:'nothing entered for search'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9409
	    ^ self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9410
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9411
	where isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9412
	    self warn:'no class(es) for search'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9413
	    ^ self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9414
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9415
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9416
	where := areas at:where ifAbsent:#class.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9417
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9418
	where == #everywhere ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9419
	    classes := Smalltalk allClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9420
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9421
	    where == #classCategory ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9422
		classes := Smalltalk allClassesInCategory:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9423
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9424
		(where == #class or:[where == #classWithPrivateClasses]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9425
		    currentClass isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9426
			classes := #()
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9427
		    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9428
			classes := Array with:currentClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9429
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9430
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9431
		    (where == #classHierarchy or:[where == #classHierarchyWithPrivateClasses]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9432
			classes := currentClass withAllSubclasses
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9433
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9434
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9435
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9436
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9437
	(where == #classWithPrivateClasses or:[where == #classHierarchyWithPrivateClasses]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9438
	    toSearch := IdentitySet withAll:classes.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9439
	    classes := IdentitySet withAll:toSearch.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9440
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9441
	    [toSearch notEmpty] whileTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9442
		cls := toSearch removeFirst.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9443
		privates := cls privateClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9444
		privates notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9445
		    toSearch addAll:cls privateClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9446
		    classes addAll:cls privateClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9447
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9448
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9449
	    classes := classes asOrderedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9450
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9451
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9452
	classes isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9453
	    self warn:'no class(es) given for search'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9454
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9455
	    self withSearchCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9456
		SystemBrowser perform:aSelector with:sel with:classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9457
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9458
	]
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9459
    ]
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9460
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9461
    "Created: 11.11.1996 / 12:42:14 / cg"
1256
29c8e994602f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
  9462
    "Modified: 28.7.1997 / 18:04:04 / cg"
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  9463
!
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9464
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9465
busyLabel:what with:someArgument
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9466
    "set the title for some warning"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9467
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  9468
    self topView
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9469
	label:('System Browser - ' , (resources string:what with:someArgument))
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  9470
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  9471
    "Modified: 18.8.1997 / 15:19:15 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9472
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9473
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9474
checkSelectionChangeAllowed
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9475
    "return true, if selection change is ok;
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9476
     its not ok, if code has been changed.
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9477
     in this case, return the result of a user query"
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9478
971
3f31069f85ce ignore historyLine, when checking for a changed method
Claus Gittinger <cg@exept.de>
parents: 969
diff changeset
  9479
    |what m src1 src2 list1 list2 v|
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9480
447
7f2888c05b92 dont access source again when leaving, if codeView was not modified
Claus Gittinger <cg@exept.de>
parents: 442
diff changeset
  9481
    codeView modified ifFalse:[
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9482
        ^ true
447
7f2888c05b92 dont access source again when leaving, if codeView was not modified
Claus Gittinger <cg@exept.de>
parents: 442
diff changeset
  9483
    ].
7f2888c05b92 dont access source again when leaving, if codeView was not modified
Claus Gittinger <cg@exept.de>
parents: 442
diff changeset
  9484
387
cdd20d24f2ee check for nil-actualClass (in case its gone)
Claus Gittinger <cg@exept.de>
parents: 376
diff changeset
  9485
    (currentMethod notNil and:[actualClass notNil]) ifTrue:[
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9486
        self withBusyCursorDo:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9487
            m := actualClass compiledMethodAt:currentSelector.
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9488
            m notNil ifTrue:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9489
                (src1 := m source) = (src2 := codeView contents) ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9490
                    src1 size == 0 ifTrue:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9491
                        list1 := #()
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9492
                    ] ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9493
                        list1 := src1 asCollectionOfLines 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9494
                                        collect:[:line | 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9495
                                                    line isNil ifTrue:['']
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9496
                                                    ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9497
                                                        line 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9498
                                                            withoutTrailingSeparators
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9499
                                                                withTabsExpanded
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9500
                                                    ]
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9501
                                                ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9502
                    ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9503
                    list2 := src2 asCollectionOfLines collect:[:line | line isNil ifTrue:['']
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9504
                                                               ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9505
                                                                    line 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9506
                                                                        withoutTrailingSeparators
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9507
                                                                            withTabsExpanded
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9508
                                                               ]
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9509
                                                      ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9510
                    HistoryManager notNil ifTrue:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9511
                        list1 := HistoryManager withoutHistoryLines:list1 asStringCollection asString.
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9512
                        list2 := HistoryManager withoutHistoryLines:list2 asStringCollection asString.
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9513
                    ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9514
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9515
                    list1 = list2 ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9516
                        what := self checkSelectionChangeAllowedWithCompare:true.
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9517
                        what == #compare ifTrue:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9518
                            v := DiffTextView 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9519
                                    openOn:src2 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9520
                                    label:(resources string:'code here (to be accepted ?)')
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9521
                                    and:src1 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9522
                                    label:(resources string:'methods actual code').
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9523
                            v label:(resources string:'comparing method versions').
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9524
                            ^ false
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9525
                        ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9526
                        ^ what
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9527
                    ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9528
                ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9529
                ^ true
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9530
            ]
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9531
        ]
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9532
    ].
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9533
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9534
    ^ self checkSelectionChangeAllowedWithCompare:false
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9535
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9536
    "Created: / 24.11.1995 / 11:03:33 / cg"
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9537
    "Modified: / 28.1.1998 / 00:24:15 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9538
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9539
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9540
checkSelectionChangeAllowedWithCompare:compareOffered
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9541
    "return true, if selection change is ok;
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9542
     its not ok, if code has been changed.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9543
     in this case, return the result of a user query"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9544
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9545
    |action labels values|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9546
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9547
    codeView modified ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9548
	^ true
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9549
    ].
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9550
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9551
    compareOffered ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9552
	labels := #('cancel' 'compare' 'accept' 'continue').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9553
	values := #(false #compare #accept true).
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9554
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9555
	labels := #('cancel' 'accept' 'continue').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9556
	values := #(false #accept true).
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9557
    ].
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9558
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9559
    action := OptionBox 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9560
		  request:(resources at:'text has not been accepted.\\Your modifications will be lost when continuing.') withCRs
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9561
		  label:(resources string:'Attention')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9562
		  form:(WarningBox iconBitmap)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9563
		  buttonLabels:(resources array:labels)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9564
		  values:values
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9565
		  default:true.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9566
    action ~~ #accept ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9567
	^ action
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9568
    ].
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9569
    codeView accept. 
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9570
    ^ true
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9571
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9572
    "Created: 24.11.1995 / 10:54:46 / cg"
376
1e23e215bf66 copy file for mod-time
Claus Gittinger <cg@exept.de>
parents: 372
diff changeset
  9573
    "Modified: 20.2.1996 / 20:47:51 / cg"
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9574
!
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9575
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9576
classHierarchyOf:aClass level:level do:aBlock using:subclassDictionary removeFrom:remainSet
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9577
    "evaluate the 2-arg block for every subclass of aClass,
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9578
     passing class and nesting level to the block."
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9579
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9580
    |names subclasses|
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9581
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9582
    remainSet remove:aClass ifAbsent:[].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9583
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9584
    aBlock value:aClass value:level.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9585
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9586
    subclasses := subclassDictionary at:aClass ifAbsent:[nil].
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9587
    (subclasses size == 0) ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9588
	names := subclasses collect:[:class | class name].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9589
	names sortWith:subclasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9590
	subclasses do:[:aSubClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9591
	    self classHierarchyOf:aSubClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9592
			    level:(level + 1) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9593
			       do:aBlock 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9594
			    using:subclassDictionary
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9595
		       removeFrom:remainSet
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9596
	]
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9597
    ]
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9598
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9599
    "Created: 20.12.1996 / 17:05:06 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9600
    "Modified: 5.1.1997 / 18:45:41 / cg"
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9601
!
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9602
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9603
classHierarchyOf:topClass withAutoloaded:withAutoloaded do:aBlock
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9604
    "evaluate the 2-arg block for every class,
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9605
     starting at Object; passing class and nesting level to the block."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9606
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9607
    |classes s subclassDict l remaining allNameSpaces nameSpaceList|
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9608
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9609
    classes := IdentitySet new.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9610
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9611
    "/ first, collect the list of classes to consider
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9612
    "/ thats all classes which are in the selected NameSpaces,
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9613
    "/ or private ones, owned by a class which is
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9614
    "/ also all of its superclasses are added.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9615
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9616
    allNameSpaces := (currentNamespace = '* all *').
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9617
    nameSpaceList := self listOfNamespaces.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9618
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9619
    Smalltalk allBehaviorsDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9620
	|actualNamespace match owner|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9621
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9622
	aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9623
	    (aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9624
	    or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9625
		match := allNameSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9626
		match ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9627
		    (owner := aClass topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9628
			actualNamespace := owner nameSpace
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9629
		    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9630
			actualNamespace := aClass nameSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9631
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9632
		    match := nameSpaceList includesIdentical:actualNamespace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9633
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9634
		match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9635
		    classes addAll:(aClass withAllSuperclasses).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9636
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9637
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9638
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9639
    ].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9640
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9641
    "/ now, generate a dictionary, which associates a set of subclasses
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9642
    "/ to each ...
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9643
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9644
    subclassDict := IdentityDictionary new:classes size.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9645
    classes do:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9646
	s := aClass superclass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9647
	s notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9648
	    l := subclassDict at:s ifAbsent:[nil].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9649
	    l isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9650
		l := OrderedCollection new:5.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9651
		subclassDict at:s put:l
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9652
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9653
	    l add:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9654
	]
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  9655
    ].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9656
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9657
    "/
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9658
    "/ walk this ..
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9659
    "/
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9660
    remaining := classes.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9661
    self classHierarchyOf:topClass level:0 do:aBlock using:subclassDict removeFrom:remaining.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9662
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9663
    "/
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9664
    "/ if autoloaded classes are wanted ...
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9665
    "/
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9666
    withAutoloaded ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9667
	(remaining includes:Autoload) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9668
	    self classHierarchyOf:Autoload level:0 do:aBlock using:subclassDict removeFrom:remaining.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9669
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9670
	(remaining asSortedCollection:[:a :b | a name < b name]) do:[:aNilSubclass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9671
	    aBlock value:aNilSubclass value:0
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9672
	]
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9673
    ].
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  9674
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  9675
    "Created: 28.5.1996 / 13:46:23 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9676
    "Modified: 5.1.1997 / 18:44:50 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9677
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9678
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9679
classesInFullProtocolHierarchy:aClass do:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9680
    "evaluate aBlock for all non-striked out classes in
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9681
     the hierarchy"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9682
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9683
    |index|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9684
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9685
    index := (classListView list size).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9686
    aClass withAllSuperclasses do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9687
	(classListView isInSelection:index) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9688
	    aBlock value:c
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9689
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9690
	index := index - 1
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9691
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9692
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9693
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9694
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9695
classesInHierarchy:aClass do:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9696
    |index|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9697
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9698
    index := (classListView list size).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9699
    aClass withAllSuperclasses do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9700
	(classListView isInSelection:index) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9701
	    aBlock value:c
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9702
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9703
	index := index - 1
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9704
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9705
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9706
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9707
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9708
compileCode:someCode
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9709
    (ReadStream on:someCode) fileIn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9710
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9711
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9712
enterBoxForCodeSelectionTitle:title okText:okText
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9713
    "convenient method: setup enterBox with text from codeview"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9714
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9715
    |sel box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9716
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9717
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9718
		enterBoxTitle:(resources string:title) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9719
		okText:(resources string:okText).
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9720
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9721
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9722
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9723
	box initialText:(sel asString withoutSeparators)
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9724
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9725
    ^ box
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9726
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9727
    "Modified: 15.1.1997 / 23:09:11 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9728
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9729
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9730
enterBoxForSearchSelectorTitle:title
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9731
    "convenient method: setup enterBox with text from codeView or selected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9732
     method for browsing based on a selector"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9733
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9734
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9735
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9736
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9737
		enterBoxTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9738
		okText:'search'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9739
		label:'search selector'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9740
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9741
    box initialText:(self selectorToSearchFor).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9742
    ^ box
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9743
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9744
    "Modified: 15.1.1997 / 23:10:26 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9745
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9746
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9747
enterBoxTitle:title okText:okText
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9748
    "convenient method: setup enterBox"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9749
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9750
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9751
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9752
    box := EnterBox new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9753
    box title:(resources string:title) okText:(resources string:okText).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9754
    ^ box
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9755
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9756
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9757
enterBoxTitle:title okText:okText label:label
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9758
    "convenient method: setup enterBox"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9759
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9760
    |box|
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9761
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9762
    box := EnterBox new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9763
    box label:(resources string:label).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9764
    box title:(resources string:title) 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9765
	okText:(resources string:okText).
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9766
    ^ box
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9767
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9768
    "Created: 15.1.1997 / 23:01:04 / cg"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9769
    "Modified: 16.1.1997 / 00:26:31 / cg"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9770
!
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9771
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9772
enterBoxTitle:title okText:okText label:label list:aList
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9773
    "convenient method: setup enterBox"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9774
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9775
    |box fieldHolder|
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9776
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9777
    fieldHolder := ValueHolder new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9778
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9779
    box := DialogBox new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9780
    box label:(resources string:label).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9781
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9782
    (box addTextLabel:(resources string:title)) adjust:#left.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9783
    box addVerticalSpace.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9784
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9785
    aList isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9786
	box addInputFieldOn:fieldHolder.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9787
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9788
	(box addComboBoxOn:fieldHolder) list:aList
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9789
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9790
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9791
    box addVerticalSpace:15.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9792
    box addAbortButton;
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9793
	addOkButtonLabelled:(resources string:okText).
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9794
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  9795
    box aspectAt:#fieldValue put:fieldHolder.
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  9796
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9797
"/    box showAtPointer.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9798
"/
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9799
"/    box := EnterBox new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9800
"/    box label:(resources string:label).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9801
"/    box title:(resources string:title) 
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9802
"/        okText:(resources string:okText).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9803
    ^ box
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9804
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9805
    "Created: 15.1.1997 / 23:01:04 / cg"
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  9806
    "Modified: 16.1.1997 / 20:13:28 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9807
!
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9808
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9809
extractClassAndSelectorFromSelectionInto:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9810
    "given a string which can be either 'class>>sel' or
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9811
     'class sel', extract className and selector, and call aBlock with
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9812
    the result."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9813
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9814
    |sel clsName isMeta sep s|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9815
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9816
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9817
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9818
	sel := sel asString withoutSeparators.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9819
	('*>>*' match:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9820
	    sep := $>
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9821
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9822
	    ('* *' match:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9823
		sep := Character space
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9824
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9825
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9826
	sep notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9827
	    "
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9828
	     extract class/sel from selection
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9829
	    "
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9830
	    s := ReadStream on:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9831
	    clsName := s upTo:sep.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9832
	    [s peek == sep] whileTrue:[s next].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9833
	    sel := s upToEnd.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9834
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9835
	    (clsName endsWith:' class') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9836
		isMeta := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9837
		clsName := clsName copyWithoutLast:6 "copyTo:(clsName size - 5)"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9838
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9839
		isMeta := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9840
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9841
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9842
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9843
    aBlock value:clsName value:sel value:isMeta
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9844
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  9845
    "Modified: 17.6.1996 / 16:52:14 / stefan"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9846
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9847
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9848
findClassNamed:aClassName
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9849
    "search through namespaces for aClassName."
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9850
985
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9851
    |nm nameSym cls meta|
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9852
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9853
    meta := false.
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9854
    nm := aClassName.
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9855
    (nm endsWith:' class') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9856
	meta := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9857
	nm := nm copyWithoutLast:6.
985
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9858
    ].
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9859
    nameSym := nm asSymbol.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9860
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
  9861
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9862
	(cls := Smalltalk at:nameSym) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9863
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9864
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9865
	]
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
  9866
    ].
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9867
    self listOfNamespaces do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9868
	(cls := aNamespace at:nameSym) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9869
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9870
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9871
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9872
    ].
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
  9873
    currentNamespace ~= '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9874
	(cls := Smalltalk at:nameSym) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9875
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9876
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9877
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9878
    ].
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9879
985
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9880
    (nm startsWith:'Smalltalk::') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9881
	cls := Smalltalk classNamed:(nm copyFrom:'Smalltalk::' size + 1).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9882
	cls notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9883
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9884
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9885
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9886
    ].
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9887
    ^ nil
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9888
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9889
    "Created: 20.12.1996 / 15:39:38 / cg"
985
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
  9890
    "Modified: 23.1.1997 / 14:21:00 / cg"
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9891
!
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9892
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9893
findClassNamedInNameSpace:aClassName
897
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
  9894
    "search through current namespaces for aClassName.
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
  9895
     Return the class or nil, if not found."
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
  9896
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
  9897
    |cls owner|
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9898
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9899
    self listOfNamespaces do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9900
	(cls := aNamespace at:aClassName asSymbol) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9901
	    (owner := cls topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9902
		owner nameSpace == aNamespace ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9903
		    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9904
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9905
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9906
		cls nameSpace == aNamespace ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9907
		    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9908
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9909
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9910
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9911
    ].
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9912
    ^ nil
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9913
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9914
    "Created: 20.12.1996 / 17:41:54 / cg"
897
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
  9915
    "Modified: 3.1.1997 / 19:30:53 / cg"
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9916
!
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9917
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9918
findClassOfVariable:aVariableName accessWith:aSelector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9919
    "this method returns the class, in which a variable
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9920
     is defined; 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9921
     needs either #instVarNames or #classVarNames as aSelector."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9922
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9923
    |cls homeClass list|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9924
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9925
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9926
     first, find the class, where the variable is declared
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9927
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9928
    cls := currentClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9929
    [cls notNil] whileTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9930
        aSelector == #classInstVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9931
            list := cls class instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9932
        ] ifFalse:[                             
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9933
            list := cls perform:aSelector
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9934
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9935
        (list includes:aVariableName) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9936
            homeClass := cls.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9937
            cls := nil.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9938
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9939
            cls := cls superclass
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9940
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9941
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9942
    homeClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9943
        "nope, must be one below ... (could optimize a bit, by searching down
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9944
         for the declaring class ...
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9945
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9946
        homeClass := currentClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9947
    ] ifFalse:[
552
c61c0758c10b showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 547
diff changeset
  9948
"/        Transcript showCR:'starting search in ' , homeClass name.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9949
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9950
    ^ homeClass
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9951
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  9952
    "Modified: / 25.10.1997 / 20:26:25 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9953
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9954
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9955
hideMethodCategoryList
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9956
    classCategoryListView isNil ifTrue:[
1373
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
  9957
        classListView notNil ifTrue:[
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
  9958
	    methodCategoryListView superView extent:0.0 @ 1.0.
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
  9959
	    methodListView superView origin:0.33 @ 0.0 extent:0.67 @ 1.0.
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
  9960
	].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9961
	^ self.
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9962
    ].
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9963
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9964
    methodCategoryListView superView extent:0.0 @ 1.0.
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9965
    methodListView superView origin:0.5 @ 0.0 extent:0.5 @ 1.0.
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9966
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9967
    "Created: 30.7.1997 / 17:50:27 / cg"
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9968
    "Modified: 30.7.1997 / 18:00:02 / cg"
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9969
!
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  9970
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9971
listBoxForCodeSelectionTitle:title okText:okText
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9972
    "convenient method: setup listBox with text from codeview"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9973
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9974
    |sel box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9975
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9976
    box := self listBoxTitle:title okText:okText list:nil. 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9977
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9978
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9979
	box initialText:(sel asString withoutSeparators)
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9980
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9981
    ^ box
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9982
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9983
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9984
listBoxTitle:title okText:okText list:aList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9985
    "convenient method: setup a listBox & return it"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9986
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9987
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9988
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9989
    box := ListSelectionBox 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9990
		title:(resources string:title)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9991
		okText:(resources string:okText)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9992
		action:nil.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9993
    box list:aList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9994
    ^ box
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9995
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9996
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9997
normalLabel
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9998
    "set the normal (inactive) window- and icon labels"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9999
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10000
    |l il|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10001
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10002
    myLabel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10003
	"if I have been given an explicit label,
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10004
	 and its not the default, take that one"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10005
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10006
	myLabel ~= 'System Browser' ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10007
	    l := il := myLabel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10008
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10009
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10010
    l isNil ifTrue:[    
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10011
	l := resources string:'System Browser'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10012
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10013
	currentClass notNil ifTrue:[
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
 10014
"/            l := l, ': ', currentClass name.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10015
	    l := self displayedClassNameOf:currentClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10016
	    classListView isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10017
		currentSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10018
		    l := l , ' ' ,  currentSelector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10019
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10020
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10021
		currentClass isLoaded ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10022
		    l := l , ' (unloaded)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10023
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10024
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10025
	    il := currentClass nameWithoutPrefix
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10026
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10027
	    il := l.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10028
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10029
    ].
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10030
    self topView label:l.
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10031
    self topView iconLabel:il.
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10032
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10033
    "Modified: 18.8.1997 / 15:19:36 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10034
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10035
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10036
releaseClass
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10037
    |cls meta|
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10038
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10039
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10040
	cls := currentClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10041
	cls isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10042
	    meta := cls.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10043
	    cls := meta soleInstance
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10044
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10045
	    meta := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10046
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10047
	cls removeDependent:self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10048
	meta removeDependent:self.
287
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10049
    ].
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10050
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10051
    "Created: 13.12.1995 / 15:32:21 / cg"
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10052
!
b578810b0ec4 update-notification in full-class mode; more revision stuff; dont modify method-source for brk/tracePoints
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
 10053
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10054
selectorToSearchFor
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10055
    "look in codeView and methodListView for a search-string when searching for selectors"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10056
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10057
    |sel t|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10058
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10059
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10060
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10061
	sel := sel asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10062
	t := Parser selectorInExpression:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10063
	t notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10064
	    sel := t
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10065
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10066
	sel := sel withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10067
	sel == #>> ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10068
	    "oops - thats probably not what we want here ..."
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10069
	    self extractClassAndSelectorFromSelectionInto:[:c :s :m |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10070
		sel := s
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10071
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10072
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10073
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10074
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10075
	    methodListView selection notNil ifTrue:[
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
 10076
sel := selectorList at:(methodListView selection).
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
 10077
"/                sel := methodListView selectionValue string
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10078
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10079
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10080
	    classMethodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10081
		classMethodListView selection notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10082
		    sel := classMethodListView selectionValue string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10083
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10084
		sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10085
		    sel := self selectorFromClassMethodString:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10086
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10087
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10088
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10089
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10090
	    sel := sel withoutSpaces upTo:(Character space)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10091
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10092
	    sel := ''
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10093
	]
606
b2d60c276bde care for Text in lists (implementors & senders)
Claus Gittinger <cg@exept.de>
parents: 599
diff changeset
 10094
    ].
b2d60c276bde care for Text in lists (implementors & senders)
Claus Gittinger <cg@exept.de>
parents: 599
diff changeset
 10095
    ^ sel string
b2d60c276bde care for Text in lists (implementors & senders)
Claus Gittinger <cg@exept.de>
parents: 599
diff changeset
 10096
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
 10097
    "Modified: 30.7.1997 / 15:30:10 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10098
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10099
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10100
setAcceptAndExplainActionsForMethod
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10101
    "tell the codeView what to do on accept and explain"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10102
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10103
    codeView acceptAction:[:theCode |
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10104
        |cat cls rslt|
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10105
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10106
        fullProtocol ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10107
            cls := acceptClass 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10108
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10109
        cls isNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10110
            cls := actualClass.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10111
            cls isNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10112
                self warning:'oops class is gone; reselect and try again'.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10113
                ^ self
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10114
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10115
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10116
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10117
        codeView cursor:Cursor execute.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10118
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10119
        (cat := currentMethodCategory) = '* all *' ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10120
            "must check from which category this code came from ...
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10121
             ... thanks to Arno for pointing this out"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10122
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10123
            cat := self askForMethodCategory.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10124
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10125
        (cat notNil and:[cat notEmpty]) ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10126
            Object abortSignal catch:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10127
                lockUpdates := true.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10128
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10129
                Class methodRedefinitionSignal handle:[:ex |
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10130
                    |answer oldVsNew oldPkg newPkg|
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10131
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10132
                    oldVsNew := ex parameter.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10133
                    oldPkg := oldVsNew key package.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10134
                    newPkg := oldVsNew value package.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10135
                    answer := OptionBox 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10136
                                  request: 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10137
('You are about to change code from another (system-) package.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10138
The methods original packageID was ''%1''. 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10139
If you proceed, the new code will be marked as belonging
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10140
to the ''%2'' package (and this warning will not be shown again).
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10141
If you proceed with ''keep'', the old packageID will be preserved.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10142
Otherwise, hit ''cancel'' to leave the code unchanged.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10143
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10144
PS: you can disable these checks in the launchers settings-compilation dialog.' bindWith:oldPkg with:newPkg)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10145
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10146
                                  label:'Method redefinition'
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10147
                                  form:(WarningBox iconBitmap)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10148
                                  buttonLabels:#('cancel' 'keep' 'continue')
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10149
                                  values:#(#cancel #keep #continue)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10150
                                  default:#continue.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10151
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10152
                    (answer ~~ #cancel) ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10153
                        ex proceedWith:answer
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10154
                    ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10155
                ] do:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10156
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10157
                    rslt := actualClass compilerClass 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10158
                        compile:theCode asString
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10159
                        forClass:cls
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10160
                        inCategory:cat 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10161
                        notifying:codeView.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10162
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10163
                    codeView modified:false.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10164
                    currentMethod := actualClass compiledMethodAt:currentSelector.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10165
                    self updateMethodListWithScroll:false keepSelection:(rslt == currentMethod).
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10166
                    self normalLabel.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10167
                ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10168
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10169
            lockUpdates := false.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10170
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10171
        codeView cursor:Cursor normal.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10172
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10173
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10174
    codeView explainAction:[:theCode :theSelection |
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10175
        self showExplanation:(Explainer 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10176
                                explain:theSelection 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10177
                                in:theCode
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10178
                                forClass:actualClass)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10179
    ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10180
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10181
    "Modified: / 29.10.1997 / 15:48:35 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10182
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10183
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10184
setDoitActionForClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10185
    "tell the codeView what to do on doIt"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10186
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10187
    "set self for doits. This allows accessing the current class
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10188
     as self, and access to the class variables by name.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10189
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10190
    codeView doItAction:[:theCode |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10191
	|compiler ns|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10192
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10193
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10194
	    ns := currentClass nameSpace
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10195
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10196
	    ns := nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10197
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10198
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10199
	Class nameSpaceQuerySignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10200
	    ns isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10201
		ex reject
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10202
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10203
	    ex proceedWith:ns
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10204
	] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10205
	    currentClass isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10206
		compiler := Compiler
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10207
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10208
		compiler := currentClass evaluatorClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10209
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10210
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10211
	    compiler 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10212
		evaluate:theCode 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10213
		in:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10214
		receiver:currentClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10215
		notifying:codeView 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10216
		logged:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10217
		ifFail:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10218
	]
1029
ad46ca1ccd38 set nameSpace for doIt's to currentClasses ns.
Claus Gittinger <cg@exept.de>
parents: 1015
diff changeset
 10219
    ].
ad46ca1ccd38 set nameSpace for doIt's to currentClasses ns.
Claus Gittinger <cg@exept.de>
parents: 1015
diff changeset
 10220
ad46ca1ccd38 set nameSpace for doIt's to currentClasses ns.
Claus Gittinger <cg@exept.de>
parents: 1015
diff changeset
 10221
    "Modified: 10.2.1997 / 14:17:15 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10222
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10223
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10224
setSearchPattern:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10225
    codeView setSearchPattern:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10226
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10227
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10228
showExplanation:someText
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10229
    "show explanation from Parser"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10230
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10231
    self information:someText
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10232
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10233
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10234
showMethodCategoryList
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10235
    classCategoryListView isNil ifTrue:[
1373
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10236
        classListView notNil ifTrue:[
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10237
	    methodCategoryListView superView extent:0.33 @ 1.0.
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10238
	    methodListView superView origin:0.66 @ 0.0 extent:0.34 @ 1.0.
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10239
	].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10240
	^ self.
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10241
    ].
1290
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10242
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10243
	methodCategoryListView superView extent:0.25 @ 1.0.
1290
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10244
    ].
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10245
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10246
	methodListView superView origin:0.75 @ 0.0 extent:0.25 @ 1.0.
1290
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10247
    ].
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10248
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10249
    "Created: 30.7.1997 / 17:50:20 / cg"
1290
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10250
    "Modified: 16.8.1997 / 03:28:23 / cg"
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10251
!
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10252
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10253
stringToSearchFor
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10254
    "look in codeView and methodListView for a search-string when searching for classes/names"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10255
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10256
    |sel|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10257
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10258
    sel := codeView selection.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10259
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10260
	sel := sel asString withoutSpaces
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10261
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10262
	sel isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10263
	    currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10264
		sel := currentClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10265
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10266
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10267
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10268
	    sel := sel withoutSpaces
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10269
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10270
	    sel := ''
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10271
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10272
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10273
    ^ sel
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10274
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10275
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10276
warnLabel:what
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10277
    "set the title for some warning"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10278
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10279
    self topView label:('System Browser WARNING: ' , what)
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10280
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10281
    "Modified: 18.8.1997 / 15:19:56 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10282
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10283
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10284
withBusyCursorDo:aBlock
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10285
    ^ self topView withWaitCursorDo:aBlock
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10286
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10287
    "Created: 18.8.1997 / 15:41:52 / cg"
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10288
!
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10289
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10290
withSearchCursorDo:aBlock
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10291
    ^ self topView withCursor:(Cursor questionMark) do:aBlock
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10292
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10293
    "Created: 23.11.1995 / 14:11:14 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10294
    "Modified: 18.8.1997 / 15:40:19 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10295
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10296
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10297
!BrowserView methodsFor:'private - defaults'!
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10298
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10299
canvasIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10300
    "answer an icon to mark canvas (windowSpec) methods"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10301
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10302
    CanvasIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10303
        CanvasIcon := self class canvasIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10304
        CanvasIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10305
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10306
    ^CanvasIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10307
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10308
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10309
commentEmphasis
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10310
    ^ (#color -> (Color red:0 green:0 blue:25))
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10311
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10312
    "Created: 1.8.1997 / 12:36:14 / cg"
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10313
!
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10314
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10315
fileImageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10316
    "answer an icon to mark fileImage methods"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10317
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10318
    ^ self imageIcon
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10319
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10320
    "Modified: / 7.4.1997 / 17:31:40 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10321
    "Created: / 29.10.1997 / 03:32:05 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10322
!
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10323
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10324
hierarchicalListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10325
    "answer an icon to mark hierarchicalList spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10326
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10327
    HierarchicalListIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10328
        HierarchicalListIcon := self class hierarchicalListIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10329
        HierarchicalListIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10330
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10331
    ^HierarchicalListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10332
   
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10333
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10334
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10335
imageIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10336
    "answer an icon to mark image methods"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10337
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10338
    ImageIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10339
        ImageIcon := self class imageIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10340
        ImageIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10341
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10342
    ^ImageIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10343
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10344
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10345
menuIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10346
    "answer an icon to mark menu spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10347
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10348
    MenuIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10349
        MenuIcon := self class menuIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10350
        MenuIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10351
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10352
    ^MenuIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10353
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10354
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10355
programMenuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10356
    "answer an icon to mark programmed-menu (menuSpec) methods"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10357
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10358
    ^ self menuIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10359
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10360
    "Modified: / 7.4.1997 / 17:31:40 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10361
    "Created: / 28.10.1997 / 13:35:16 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10362
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10363
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10364
stopIcon
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10365
    "answer an icon to mark breakPointed methods"
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10366
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10367
    StopIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10368
        StopIcon := self class stopIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10369
        StopIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10370
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10371
    ^StopIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10372
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10373
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10374
tabListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10375
    "answer an icon to mark tabList spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10376
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10377
    TabListIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10378
        TabListIcon := self class tabListIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10379
        TabListIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10380
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10381
    ^TabListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10382
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10383
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10384
tableColumnsIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10385
    "answer an icon to mark tableColumns spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10386
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10387
    TableColumnsIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10388
        TableColumnsIcon := self class tableColumnsIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10389
        TableColumnsIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10390
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10391
    ^TableColumnsIcon
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10392
!
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10393
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10394
timeIcon
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10395
    "answer an icon to mark timed methods"
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10396
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10397
    TimeIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10398
        TimeIcon := self class timeIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10399
        TimeIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10400
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10401
    ^TimeIcon
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10402
!
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10403
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10404
traceIcon
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10405
    "answer an icon to mark traced methods"
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10406
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10407
    TraceIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10408
        TraceIcon := self class traceIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10409
        TraceIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10410
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10411
    ^TraceIcon
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10412
! !
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10413
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10414
!BrowserView methodsFor:'unused'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10415
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10416
listOfAllMethodCategoriesInHierarchy:aClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10417
    "answer a list of all method categories of the argument, aClass,
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10418
     and all of its superclasses"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10419
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10420
    |newList cat|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10421
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10422
    newList := Set new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10423
    self classesInHierarchy:aClass do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10424
	c methodDictionary do:[:aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10425
	    cat := aMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10426
	    cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10427
		cat := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10428
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10429
	    newList add:cat
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10430
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10431
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10432
    (newList size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10433
    newList add:'* all *'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10434
    ^ newList asOrderedCollection sort
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10435
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
 10436
    "Modified: 7.6.1996 / 09:03:22 / stefan"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10437
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10438
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10439
listOfAllSelectorsInCategory:aCategory inHierarchyOfClass:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10440
    "answer a list of all selectors in a given method category 
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10441
     of the argument, aClass and its superclasses"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10442
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10443
    |newList|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10444
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10445
    newList := Set new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10446
    self classesInHierarchy:aClass do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10447
	|searchCategory|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10448
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10449
	(aCategory = '* all *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10450
	    newList addAll:(c methodDictionary keys)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10451
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10452
	    (aCategory = '* no category *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10453
		searchCategory := nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10454
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10455
		searchCategory := aCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10456
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10457
	    c methodDictionary keysAndValuesDo:[:selector :aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10458
		(aMethod category = searchCategory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10459
		    newList add:selector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10460
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10461
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10462
	].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10463
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10464
    (newList size == 0) ifTrue:[^ nil].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10465
    ^ newList asOrderedCollection sort
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
 10466
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
 10467
    "Modified: 5.6.1996 / 11:42:12 / stefan"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10468
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10469
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10470
!BrowserView methodsFor:'variable list menu'!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10471
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10472
allClassInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10473
    "show an enterbox for classVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10474
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10475
    self allVarRefsTitle:'class instance variable to browse all modifications of:' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10476
                  access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10477
                    mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10478
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10479
    "Modified: / 25.10.1997 / 20:19:49 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10480
    "Created: / 25.10.1997 / 20:21:48 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10481
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10482
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10483
allClassInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10484
    "show an enterbox for classVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10485
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10486
    self allVarRefsTitle:'class instance variable to browse all references to:' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10487
                  access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10488
                    mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10489
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10490
    "Modified: / 25.10.1997 / 20:20:09 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10491
    "Created: / 25.10.1997 / 20:22:14 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10492
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10493
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10494
allClassVarMods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10495
    "show an enterbox for classVar to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10496
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10497
    self allVarRefsTitle:'class variable to browse all modifications of:' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10498
                  access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10499
                    mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10500
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10501
    "Modified: / 25.10.1997 / 20:22:24 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10502
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10503
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10504
allClassVarRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10505
    "show an enterbox for classVar to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10506
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10507
    self allVarRefsTitle:'class variable to browse all references to:' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10508
                  access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10509
                    mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10510
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10511
    "Modified: / 25.10.1997 / 20:22:30 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10512
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10513
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10514
allInstVarMods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10515
    "show an enterbox for instVar to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10516
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10517
    self allVarRefsTitle:'instance variable to browse all modifications of:' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10518
                  access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10519
                    mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10520
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10521
    "Modified: / 25.10.1997 / 20:22:35 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10522
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10523
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10524
allInstVarRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10525
    "show an enterbox for instVar to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10526
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10527
    self allVarRefsTitle:'instance variable to browse all references to:' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10528
                  access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10529
                    mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10530
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10531
    "Modified: / 25.10.1997 / 20:22:40 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10532
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10533
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10534
allVarRefsTitle:title access:access mods:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10535
    "show an enterbox for instVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10536
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10537
    self doClassMenu:[:currentClass |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10538
        |box|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10539
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10540
        box := self enterBoxForVariableSearch:title.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10541
        box action:[:aVariableName |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10542
            |homeClass|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10543
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10544
            aVariableName isEmpty ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10545
                self withSearchCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10546
                    homeClass := self findClassOfVariable:aVariableName accessWith:access.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10547
                    access == #classVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10548
                        SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10549
                            browseClassRefsTo:aVariableName 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10550
                            under:homeClass 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10551
                            modificationsOnly:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10552
                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10553
                        access == #classInstVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10554
                            SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10555
                                browseInstRefsTo:aVariableName 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10556
                                under:homeClass class
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10557
                                modificationsOnly:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10558
                        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10559
                            SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10560
                                browseInstRefsTo:aVariableName 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10561
                                under:homeClass 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10562
                                modificationsOnly:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10563
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10564
                     ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10565
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10566
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10567
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10568
        box showAtPointer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10569
    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10570
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10571
    "Created: / 25.10.1997 / 20:19:26 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10572
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10573
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10574
classInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10575
    "show an enterbox for classVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10576
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10577
    self varRefsOrModsTitle:'class instance variable to browse modifications of:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10578
                     access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10579
                       mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10580
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10581
    "Modified: / 25.10.1997 / 20:17:41 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10582
    "Created: / 25.10.1997 / 20:21:04 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10583
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10584
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10585
classInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10586
    "show an enterbox for classVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10587
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10588
    self varRefsOrModsTitle:'class instance variable to browse references to:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10589
                     access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10590
                       mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10591
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10592
    "Modified: / 25.10.1997 / 20:17:23 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10593
    "Created: / 25.10.1997 / 20:21:19 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10594
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10595
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10596
classVarMods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10597
    "show an enterbox for classVar to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10598
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10599
    self varRefsOrModsTitle:'class variable to browse modifications of:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10600
                     access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10601
                       mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10602
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10603
    "Modified: / 25.10.1997 / 20:17:41 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10604
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10605
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10606
classVarRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10607
    "show an enterbox for classVar to search for"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10608
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10609
    self varRefsOrModsTitle:'class variable to browse references to:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10610
                     access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10611
                       mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10612
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10613
    "Modified: / 25.10.1997 / 20:17:23 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10614
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10615
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10616
enterBoxForVariableSearch:title
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10617
    |box sel|
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10618
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10619
    box := self enterBoxForCodeSelectionTitle:title okText:'browse'.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10620
    variableListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10621
	codeView hasSelection ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10622
	    (sel := variableListView selectionValue) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10623
		(sel startsWith:'---') ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10624
		    box initialText:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10625
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10626
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10627
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10628
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10629
    ^ box
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10630
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10631
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10632
instVarMods
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10633
    "show an enterbox for instVar to search for"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10634
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10635
    self varRefsOrModsTitle:'instance variable to browse modifications of:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10636
                     access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10637
                       mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10638
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10639
    "Modified: / 25.10.1997 / 20:14:52 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10640
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10641
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10642
instVarRefs
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10643
    "show an enterbox for instVar to search for"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10644
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10645
    self varRefsOrModsTitle:'instance variable to browse references to:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10646
                     access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10647
                       mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10648
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10649
    "Modified: / 25.10.1997 / 20:14:27 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10650
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10651
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10652
showClassInstVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10653
    classInstVarsInVarList := true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10654
    self updateVariableList.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10655
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10656
    "Created: / 25.10.1997 / 19:43:04 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10657
    "Modified: / 25.10.1997 / 19:43:41 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10658
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10659
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10660
showClassVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10661
    classInstVarsInVarList := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10662
    self updateVariableList.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10663
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10664
    "Created: / 25.10.1997 / 19:42:55 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10665
    "Modified: / 25.10.1997 / 19:43:35 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10666
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10667
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10668
varRefsOrModsTitle:title access:accessor mods:mods
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10669
    "show an enterbox for instvar to search for"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10670
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10671
    self doClassMenu:[:currentClass |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10672
        |box|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10673
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10674
        box := self enterBoxForVariableSearch:title.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10675
        box action:[:aString |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10676
            aString notEmpty ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10677
                self withSearchCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10678
                    |sel classes|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10679
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10680
                    sel := #'browseInstRefsTo:in:modificationsOnly:'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10681
                    accessor == #classInstVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10682
                        classes := Array with:currentClass class.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10683
                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10684
                        classes := Array with:currentClass.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10685
                        accessor == #classVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10686
                            sel := #'browseClassRefsTo:in:modificationsOnly:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10687
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10688
                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10689
                    SystemBrowser perform:sel with:aString with:classes with:mods 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10690
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10691
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10692
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10693
        box showAtPointer
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10694
    ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10695
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10696
    "Created: / 25.10.1997 / 20:12:52 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10697
    "Modified: / 25.10.1997 / 21:10:34 / cg"
93
claus
parents: 92
diff changeset
 10698
!
claus
parents: 92
diff changeset
 10699
claus
parents: 92
diff changeset
 10700
varTypeInfo
claus
parents: 92
diff changeset
 10701
    "show typical usage of a variable"
claus
parents: 92
diff changeset
 10702
claus
parents: 92
diff changeset
 10703
    |name idx classes values value msg cut names instCount subInstCount box
285
8a64105d4ba0 typeinfo also for classVariables
Claus Gittinger <cg@exept.de>
parents: 284
diff changeset
 10704
     searchClass s|
93
claus
parents: 92
diff changeset
 10705
claus
parents: 92
diff changeset
 10706
    name := variableListView selectionValue.
claus
parents: 92
diff changeset
 10707
    name isNil ifTrue:[^ self].
claus
parents: 92
diff changeset
 10708
1390
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10709
    (classInstVarsInVarList or:[showInstance]) ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10710
        searchClass := currentClass whichClassDefinesClassVar:name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10711
        value := searchClass classVarAt:(name asSymbol).
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10712
        s := value displayString.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10713
        s size > 60 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10714
            s := (s copyTo:60) , ' ...'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10715
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10716
        msg := name , ' is (currently):\\' , s.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10717
        s ~= value classNameWithArticle ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10718
            msg := msg , '\\(' , value class name , ')'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10719
        ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10720
    ] ifTrue:[        
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10721
        searchClass := actualClass whichClassDefinesInstVar:name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10722
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10723
        idx := searchClass instVarOffsetOf:name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10724
        idx isNil ifTrue:[^ self].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10725
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10726
        classes := IdentitySet new.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10727
        values := IdentitySet new.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10728
        instCount := 0.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10729
        subInstCount := 0.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10730
        searchClass allSubInstancesDo:[:i |
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10731
            |val|
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10732
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10733
            val := i instVarAt:idx.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10734
            val notNil ifTrue:[values add:val].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10735
            classes add:val class.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10736
            (i isMemberOf:searchClass) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10737
                instCount := instCount + 1.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10738
            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10739
                subInstCount := subInstCount + 1
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10740
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10741
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10742
        (instCount == 0 and:[subInstCount == 0]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10743
            self warn:'there are currently no instances of ' , currentClass name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10744
            ^ self
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10745
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10746
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10747
        instCount ~~ 0 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10748
            msg := 'in (currently: ' , instCount printString,') instances '.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10749
            subInstCount ~~ 0 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10750
                msg := msg , 'and '
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10751
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10752
        ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10753
            msg := 'in '.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10754
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10755
        subInstCount ~~ 0 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10756
            msg := msg , '(currently: ' , subInstCount printString, ') derived instances '
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10757
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10758
        msg := msg, 'of ' , searchClass name , ',\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10759
        msg := msg , name , ' '.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10760
        ((values size == 1) 
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10761
        or:[classes size == 1 and:[classes first == UndefinedObject]]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10762
            values size == 1 ifTrue:[value := values first].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10763
            (value isNumber or:[value isString]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10764
                msg := msg , 'is always the same:\\      ' , 
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10765
                             value class name , ' (' , value storeString , ')'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10766
            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10767
                (value isNil or:[value == true or:[value == false]]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10768
                    msg := msg , 'is always:\\      ' , 
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10769
                                 value printString.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10770
                ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10771
                    msg := msg , 'is always the same:\\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10772
                    msg := msg , '      ' , value class name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10773
                    value isLiteral ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10774
                        msg := msg , ' (' , value storeString , ')'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10775
                    ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10776
                ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10777
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10778
        ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10779
            classes size == 1 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10780
                msg := msg , 'is always:\\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10781
                msg := msg , '      ' , classes first name , '\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10782
            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10783
                msg := msg , 'is one of:\\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10784
                classes := classes asOrderedCollection.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10785
                classes size > 20 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10786
                    classes := classes copyFrom:1 to:20.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10787
                    cut := true
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10788
                ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10789
                    cut := false.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10790
                ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10791
                names := classes collect:[:cls |
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10792
                    |nm|
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10793
                    cls == UndefinedObject ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10794
                        'nil'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10795
                    ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10796
                        cls == True ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10797
                            'true'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10798
                        ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10799
                            cls == False ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10800
                                'false'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10801
                            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10802
                                cls name
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10803
                            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10804
                        ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10805
                    ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10806
                ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10807
                names sort.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10808
                names do:[:nm |
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10809
                    msg := msg , '      ' , nm , '\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10810
                ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10811
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10812
        ].
93
claus
parents: 92
diff changeset
 10813
    ].
claus
parents: 92
diff changeset
 10814
claus
parents: 92
diff changeset
 10815
    box := InfoBox title:msg withCRs.
claus
parents: 92
diff changeset
 10816
    box label:'variable type information'.
claus
parents: 92
diff changeset
 10817
    box showAtPointer
285
8a64105d4ba0 typeinfo also for classVariables
Claus Gittinger <cg@exept.de>
parents: 284
diff changeset
 10818
1390
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 10819
    "Modified: / 3.1.1998 / 14:50:00 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10820
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10821
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10822
variableListMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10823
    <resource: #programMenu >
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10824
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 10825
    |labels selectors m|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10826
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10827
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10828
        variableListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10829
        ^ nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10830
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10831
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10832
    showInstance ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10833
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10834
                    'class instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10835
                    'class instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10836
                    'classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10837
                    'classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10838
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10839
                    'all class instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10840
                    'all class instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10841
                    'all classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10842
                    'all classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10843
                   ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10844
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10845
                    classInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10846
                    classInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10847
                    classVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10848
                    classVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10849
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10850
                    allClassInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10851
                    allClassInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10852
                    allClassVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10853
                    allClassVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10854
                     ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10855
    ] ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10856
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10857
                    'instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10858
                    'instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10859
                    'classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10860
                    'classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10861
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10862
                    'all instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10863
                    'all classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10864
                    'all instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10865
                    'all classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10866
                   ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10867
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10868
                    instVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10869
                    instVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10870
                    classVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10871
                    classVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10872
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10873
                    allInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10874
                    allClassVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10875
                    allInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10876
                    allClassVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10877
                     ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10878
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10879
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10880
    showInstance ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10881
        classInstVarsInVarList == true ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10882
            labels := labels , #('-' 'show classVars').
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10883
            selectors := selectors , #(nil #showClassVars).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10884
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10885
            labels := labels , #('-' 'show classInstVars').
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10886
            selectors := selectors , #(nil #showClassInstVars).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10887
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10888
    ].
285
8a64105d4ba0 typeinfo also for classVariables
Claus Gittinger <cg@exept.de>
parents: 284
diff changeset
 10889
8a64105d4ba0 typeinfo also for classVariables
Claus Gittinger <cg@exept.de>
parents: 284
diff changeset
 10890
    ("showInstance and:[" variableListView hasSelection "]" ) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10891
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10892
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10893
                                'type information'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10894
                           ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10895
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10896
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10897
                                varTypeInfo
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10898
                                ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10899
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10900
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10901
    m := PopUpMenu 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10902
                labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10903
                selectors:selectors.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10904
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10905
    currentClass instSize == 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10906
        m disableAll:#(instVarRefs instVarMods).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10907
        currentClass subclasses size == 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10908
            m disableAll:#(allInstVarRefs allInstVarMods).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10909
        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10910
    ].
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 10911
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 10912
    currentClass isLoaded ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10913
        m disableAll
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 10914
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 10915
    ^ m
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 10916
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10917
    "Modified: / 27.10.1997 / 20:45:17 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10918
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10919
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10920
variableSelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10921
    "variable selection changed"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10922
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10923
    |name idx|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10924
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10925
    name := variableListView selectionValue.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10926
    name isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10927
	self unhilightMethodCategories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10928
	self unhilightMethods.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10929
	self autoSearch:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10930
	^ self
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10931
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10932
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10933
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10934
     first, check if the selected variable is really the one 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10935
     we get - reselect if its hidden (for example, a class variable
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10936
     with the same name could be defined in a subclass)
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10937
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10938
    idx := variableListView list findLast:[:entry | entry = name].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10939
    idx ~~ lineNr ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10940
	"select it - user will see whats going on"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10941
	variableListView setSelection:idx
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10942
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10943
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10944
    "search for methods in the current category, which access the selected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10945
     variable, and highlight them"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10946
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10947
    self hilightMethodsInMethodCategoryList:true inMethodList:true.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10948
    self autoSearch:name.
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
 10949
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
 10950
    "Modified: 25.5.1996 / 12:26:07 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10951
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10952
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10953
!BrowserView methodsFor:'variable stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10954
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10955
hilightEntryFor:entry
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10956
    "helper; given a list itme, highlight it"
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10957
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10958
    |e|
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10959
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10960
    methodCategoryListView font bold ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10961
	"/ already bold; use different color then
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10962
	methodCategoryListView foregroundColor brightness > 0.5 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10963
	    methodCategoryListView backgroundColor brightness < 0.25 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10964
		e := #color->Color blue
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10965
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10966
		e := #color->Color black
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10967
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10968
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10969
	    methodCategoryListView backgroundColor brightness > 0.75 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10970
		e := #color->Color red darkened
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10971
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10972
		e := #color->Color white.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10973
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10974
	]
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10975
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10976
	e := #bold.
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10977
    ].
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10978
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10979
    entry isString ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10980
	^ entry asText emphasizeAllWith:e.
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10981
    ].
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10982
    ^ entry copy string:(entry string asText emphasizeAllWith:e)
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10983
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10984
    "Created: 22.10.1996 / 23:36:59 / cg"
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10985
    "Modified: 22.10.1996 / 23:50:03 / cg"
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10986
!
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 10987
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10988
hilightMethodsInMethodCategoryList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10989
    "search for methods  which access the selected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10990
     variable, and highlight them"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10991
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10992
    self hilightMethodsInMethodCategoryList:true inMethodList:false
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10993
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10994
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10995
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10996
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10997
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10998
hilightMethodsInMethodCategoryList:inCat inMethodList:inMethods 
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10999
    "search for methods  which access the selected
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11000
     variable, and highlight them"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11001
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11002
    |name redefinedSelectors methodList methodCategoryList entry|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11003
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11004
    variableListView isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11005
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11006
    inCat ifTrue:[self unhilightMethodCategories].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11007
    inMethods ifTrue:[self unhilightMethods].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11008
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11009
    actualClass isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11010
    (methodCategoryListView isNil 
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11011
    and:[methodListView isNil]) ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11012
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11013
    name := variableListView selectionValue.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11014
    name isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11015
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11016
    self withSearchCursorDo:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11017
        |classes filter any supers|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11018
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11019
        classes := Array with:actualClass.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11020
        (currentClassHierarchy notNil and:[fullProtocol]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11021
            supers := actualClass allSuperclasses.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11022
            supers notNil ifTrue:[    
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11023
                classes := classes , supers.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11024
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11025
            redefinedSelectors := IdentitySet new.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11026
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11027
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11028
        filter := SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11029
                        filterToSearchRefsTo:name 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11030
                        classVars:(showInstance not and:[classInstVarsInVarList ~~ true]) 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11031
                        modificationsOnly:false. 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11032
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11033
        methodListView notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11034
            methodList := methodListView list.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11035
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11036
        methodCategoryListView notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11037
            methodCategoryList := methodCategoryListView list.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11038
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11039
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11040
        any := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11041
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11042
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11043
         highlight the method that ref this variable
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11044
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11045
        classes do:[:someClass |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11046
            (fullProtocol
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11047
            and:[classListView valueIsInSelection:(someClass name)]) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11048
                someClass methodDictionary keysAndValuesDo:[:selector :method |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11049
                    (inCat
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11050
                    or:[methodList notNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11051
                        and:[methodList includes:selector]])
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11052
                    ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11053
                        (redefinedSelectors isNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11054
                        or:[(redefinedSelectors includes:selector) not])
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11055
                       ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11056
                           (filter value:someClass value:method value:selector) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11057
                               |idx cat|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11058
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11059
                               (inCat
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11060
                               and:[methodCategoryList notNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11061
                                   cat := method category.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11062
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11063
                                    highlight the methodCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11064
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11065
                                   idx := methodCategoryListView list indexOf:cat.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11066
                                   idx ~~ 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11067
                                        entry := methodCategoryListView at:idx.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11068
                                        entry := self hilightEntryFor:entry.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11069
                                        methodCategoryListView at:idx put:entry
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11070
"/                                       methodCategoryListView attributeAt:idx put:#bold.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11071
                                   ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11072
                               ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11073
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11074
                               (inMethods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11075
                               and:[methodList notNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11076
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11077
                                    highlight the method
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11078
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11079
                                   idx := methodListView list 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11080
                                                findFirst:[:item | item string = selector
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11081
                                                                   or:[item string startsWith:(selector , ' ')]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11082
                                                          ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11083
                                   idx ~~ 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11084
                                        entry := methodListView at:idx.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11085
                                        entry := self hilightEntryFor:entry.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11086
                                        methodListView at:idx put:entry
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11087
"/                                        methodListView attributeAt:idx put:#bold.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11088
                                   ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11089
                                   any := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11090
                               ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11091
                           ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11092
                           redefinedSelectors notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11093
                               redefinedSelectors add:selector
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11094
                           ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11095
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11096
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11097
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11098
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11099
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11100
        any ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11101
            self setSearchPattern:name
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11102
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11103
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11104
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11105
    "Created: / 23.11.1995 / 14:12:08 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11106
    "Modified: / 5.6.1996 / 11:38:19 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11107
    "Modified: / 25.10.1997 / 21:02:47 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11108
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11109
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11110
hilightMethodsInMethodList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11111
    "search for methods  which access the selected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11112
     variable, and highlight them"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11113
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11114
    self hilightMethodsInMethodCategoryList:false inMethodList:true 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11115
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11116
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11117
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11118
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11119
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11120
unhilightEntryFor:entry
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11121
    "helper; given a list itme, unhighlight it"
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11122
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11123
    entry isString ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11124
	^ entry string
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11125
    ].
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11126
    ^ entry copy string:(entry string)
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11127
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11128
    "Created: 22.10.1996 / 23:38:21 / cg"
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11129
!
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11130
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11131
unhilightMethodCategories
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11132
    "unhighlight items in method list"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11133
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11134
    |list entry sz "{ Class: SmallInteger }"|
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11135
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11136
    variableListView isNil ifTrue:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11137
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11138
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11139
	list := methodCategoryListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11140
	sz := list size.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11141
	1 to:sz do:[:idx |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11142
	    entry := list at:idx.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11143
	    entry := self unhilightEntryFor:entry.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11144
	    methodCategoryListView at:idx put:entry.
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11145
"/            methodCategoryListView attributeAt:idx put:nil.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11146
	]
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11147
    ].
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11148
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11149
    "Modified: 22.10.1996 / 23:40:52 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11150
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11151
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11152
unhilightMethods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11153
    "unhighlight items in method list"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11154
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11155
    |list entry sz "{Class: SmallInteger }" |
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11156
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11157
    variableListView isNil ifTrue:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11158
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11159
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11160
	list := methodListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11161
	sz := list size.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11162
	1 to:sz do:[:idx |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11163
	    entry := list at:idx.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11164
	    entry := self unhilightEntryFor:entry.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11165
	    methodListView at:idx put:entry.
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11166
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11167
"/            methodListView attributeAt:idx put:nil.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11168
	].
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11169
    ].
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11170
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11171
    "Modified: 22.10.1996 / 23:39:18 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11172
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11173
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11174
updateVariableList
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11175
    "update the variable list - either show instVars, classVars or classInstVars"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11176
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11177
    |l subList last nameAccessSelector class oldSelection askMeta|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11178
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11179
    variableListView isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11180
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11181
    oldSelection := variableListView selectionValue.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11182
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11183
    l := OrderedCollection new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11184
    "
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11185
     show classVars/classInstVars, 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11186
     if classProtocol is shown (instead of classInstance vars)
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11187
    "
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11188
    askMeta := false.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11189
    showInstance ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11190
        nameAccessSelector := #instVarNames
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11191
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11192
        classInstVarsInVarList == true ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11193
            nameAccessSelector := #instVarNames.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11194
            askMeta := true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11195
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11196
            nameAccessSelector := #classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11197
        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11198
    ].
572
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11199
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11200
    class := currentClassHierarchy notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11201
        currentClassHierarchy
572
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11202
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11203
        currentClass
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11204
    ].
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11205
    class := currentClass.
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11206
    fullProtocol ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11207
        class := currentClassHierarchy
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11208
    ].
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11209
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11210
    class isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11211
        variableListView list:nil.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11212
        ^ self
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11213
    ].
572
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11214
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11215
    class withAllSuperclasses do:[:aClass |
1483
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11216
        |ignore clsName|
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11217
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11218
        ignore := fullProtocol 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11219
                  and:[classListView valueIsInSelection:(aClass name asString)].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11220
        ignore ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11221
            askMeta ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11222
                subList := aClass class perform:nameAccessSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11223
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11224
                subList := aClass perform:nameAccessSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11225
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11226
            subList size ~~ 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11227
                l := l , (subList asOrderedCollection reverse).
1483
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11228
                aClass nameSpace == currentNamespace ifTrue:[
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11229
                    clsName := aClass nameWithoutNameSpacePrefix
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11230
                ] ifFalse:[
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11231
                    clsName := aClass name
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11232
                ].
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11233
                l := l , (OrderedCollection with:'---- ' , clsName , ' ---------').
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11234
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11235
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11236
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11237
    l reverse.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11238
    variableListView setAttributes:nil.
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
 11239
    l ~= variableListView list ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11240
        variableListView list:l.
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
 11241
    ].
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
 11242
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11243
    l keysAndValuesDo:[:index :entry |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11244
        (entry startsWith:'---') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11245
            variableListView attributeAt:index put:#disabled.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11246
            last := index
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11247
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11248
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11249
    last notNil ifTrue:[variableListView scrollToLine:last].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11250
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11251
    oldSelection notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11252
        variableListView setSelectElement:oldSelection.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11253
        self hilightMethodsInMethodCategoryList:true inMethodList:true.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11254
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
 11255
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11256
    "Modified: / 25.10.1997 / 21:01:11 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11257
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11258
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
 11259
!BrowserView class methodsFor:'documentation'!
201
3331e9abc9f0 more features & checkin from browser
Claus Gittinger <cg@exept.de>
parents: 199
diff changeset
 11260
3331e9abc9f0 more features & checkin from browser
Claus Gittinger <cg@exept.de>
parents: 199
diff changeset
 11261
version
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 11262
    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.374 1998-03-13 21:07:42 tz Exp $'
263
7b9622ce4fcc more protocol to create containers for new classes
Claus Gittinger <cg@exept.de>
parents: 261
diff changeset
 11263
! !
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11264
BrowserView initialize!