BrowserView.st
author Claus Gittinger <cg@exept.de>
Thu, 16 Apr 1998 19:02:35 +0200
changeset 1550 a1c0d6cb1954
parent 1543 8d3f734ec81d
child 1557 5ecd643fc71c
permissions -rw-r--r--
checkin from browser
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
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
    23
		showAllNamespaces classInstVarsInVarList coloringProcess
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
    24
		codeModified'
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    25
	classVariableNames:'CheckForInstancesWhenRemovingClasses RememberAspect DefaultIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    26
		StopIcon TraceIcon TimeIcon CanvasIcon MenuIcon ImageIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
    27
		TabListIcon HierarchicalListIcon TableColumnsIcon HelpIcon
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
    28
		ShowResourceIcons ClassHistory'
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    29
	poolDictionaries:''
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
    30
	category:'Interface-Browsers'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    31
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    32
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
    33
!BrowserView class methodsFor:'documentation'!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    34
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    35
copyright
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    36
"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    37
 COPYRIGHT (c) 1989 by Claus Gittinger
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    38
	      All Rights Reserved
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    39
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    40
 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
    41
 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
    42
 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
    43
 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
    44
 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
    45
 hereby transferred.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    46
"
165
df29ee4514c1 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 161
diff changeset
    47
!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    48
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    49
documentation
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    50
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    51
    this class implements all kinds of class browsers.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    52
    Typically, it is started with 'SystemBrowser open', but there are many other 
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    53
    startup messages, to launch special browsers.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    54
    See the categories 'startup' and 'special search startup' in the classes
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    55
    protocol.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    56
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    57
    Alse, see the extra document 'doc/misc/sbrowser.doc' or the HTML online doc
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    58
    for how to use the browser.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    59
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    60
    written winter 89 by claus
106
claus
parents: 105
diff changeset
    61
claus
parents: 105
diff changeset
    62
    Notice: SystemBrowser is currently being rewritten to be an instance
claus
parents: 105
diff changeset
    63
    of ApplicationModel - this transition is not yet complete and you see
claus
parents: 105
diff changeset
    64
    here intermediate versions of BrowserView/SystemBrowser. 
claus
parents: 105
diff changeset
    65
    All action is (currently) still done here in BrowserView, although the
claus
parents: 105
diff changeset
    66
    SystemBrowsers class methods are used to startup a browser.
claus
parents: 105
diff changeset
    67
    This will certainly change ...
509
8ccb7c3d6726 documentation
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
    68
8ccb7c3d6726 documentation
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
    69
    [author:]
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
    70
	Claus Gittinger
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    71
"
201
3331e9abc9f0 more features & checkin from browser
Claus Gittinger <cg@exept.de>
parents: 199
diff changeset
    72
! !
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    73
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
    74
!BrowserView class methodsFor:'initialization'!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    75
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    76
initialize
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    77
    "Browser configuration;
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    78
     (values can be changed from your private startup file)"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    79
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    80
    ShowResourceIcons := true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
    81
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    82
    "
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    83
     setting this to false, the removeClass function will remove
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    84
     classes WITHOUT checking for instances. Otherwise,
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    85
     it will check and let you confirm in case there are instances.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    86
     Checking for instances may be a bit time consuming, though.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    87
     The default is true - therefore, it will check
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    88
    "
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    89
    CheckForInstancesWhenRemovingClasses := true.
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
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    92
     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
    93
     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
    94
     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
    95
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
    96
    RememberAspect := true.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    97
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    98
    "
f2c56efa3599 Initial revision
claus
parents:
diff changeset
    99
     CheckForInstancesWhenRemovingClasses := true
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   100
     CheckForInstancesWhenRemovingClasses := false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   101
     RememberAspect := true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   102
     RememberAspect := false
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   103
     ShowResourceIcons := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   104
     ShowResourceIcons := false
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   105
    "
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   106
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   107
    "Created: / 23.11.1995 / 11:35:58 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   108
    "Modified: / 27.10.1997 / 17:34:25 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   109
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   110
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
   111
!BrowserView class methodsFor:'cleanup'!
486
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   112
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   113
lowSpaceCleanup
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   114
    DefaultIcon := StopIcon := TraceIcon := TimeIcon := nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   115
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   116
    "Created: / 18.4.1996 / 16:46:40 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   117
    "Modified: / 25.10.1997 / 19:30:32 / cg"
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   118
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   119
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   120
preSnapshot
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   121
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   122
    StopIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   123
    TraceIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   124
    TimeIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   125
    CanvasIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   126
    MenuIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   127
    ImageIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   128
    TabListIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   129
    HierarchicalListIcon := 
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   130
    TableColumnsIcon :=
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   131
    HelpIcon :=
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   132
    nil
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   133
486
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   134
! !
fb6c24e0123c added lowspace cleanup
Claus Gittinger <cg@exept.de>
parents: 484
diff changeset
   135
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
   136
!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
   137
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   138
classHistory
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   139
    "returns the class history"
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   140
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   141
    ClassHistory isNil ifTrue: [ClassHistory := OrderedCollection new].
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   142
    ^ClassHistory
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   143
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   144
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   145
!
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   146
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   147
classHistoryMaxSize
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   148
    "returns maximum size of the class history"
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   149
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   150
    ^10
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   151
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   152
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   153
!
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
   154
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   155
defaultIcon
1149
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   156
    "return the browsers default window icon"
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   157
1288
9f6e0e8c3ab8 fixed icon
Claus Gittinger <cg@exept.de>
parents: 1282
diff changeset
   158
    <resource: #style (#SYSTEMBROWSER_ICON #SYSTEMBROWSER_ICON_FILE)>
1149
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   159
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   160
    |nm i|
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   161
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   162
    (i := DefaultIcon) isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   163
	i := self classResources at:'SYSTEMBROWSER_ICON' default:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   164
	i isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   165
	    nm := ClassResources at:'SYSTEMBROWSER_ICON_FILE' default:'SBrowser.xbm'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   166
	    i := Image fromFile:nm resolution:100.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   167
	    i isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   168
		i := Image fromFile:('bitmaps/' , nm) resolution:100.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   169
		i isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   170
		    i := StandardSystemView defaultIcon
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   171
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   172
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   173
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   174
	i notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   175
	    DefaultIcon := i := i on:Display
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   176
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   177
    ].
1149
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   178
    ^ i
33fcc586c309 defaultIcon improved
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   179
1083
dee24d07aa75 allow icon to be specified in resource file.
Claus Gittinger <cg@exept.de>
parents: 1080
diff changeset
   180
    "Modified: 19.3.1997 / 20:48:34 / ca"
1288
9f6e0e8c3ab8 fixed icon
Claus Gittinger <cg@exept.de>
parents: 1282
diff changeset
   181
    "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
   182
!
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   183
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   184
fileImageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   185
    "answer an icon to mark file-loading image  methods"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   186
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   187
    ^ self imageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   188
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   189
    "Created: / 29.10.1997 / 03:32:43 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   190
!
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
   191
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   192
programMenuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   193
    "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
   194
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   195
    ^ self menuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   196
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   197
    "Created: / 28.10.1997 / 13:40:49 / cg"
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   198
! !
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   199
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   200
!BrowserView class methodsFor:'image specs'!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   201
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   202
canvasIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   203
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   204
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   205
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   206
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   207
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   208
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   209
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   210
     ImageEditor openOnClass:self andSelector:#canvasIcon
1511
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 canvasIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   217
        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
   218
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   219
helpIcon
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   220
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   221
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   222
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   223
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   224
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   225
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   226
    "
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   227
     ImageEditor openOnClass:self andSelector:#helpIcon
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   228
    "
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   229
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   230
    <resource: #image>
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   231
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   232
    ^Icon
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   233
        constantNamed:#'BrowserView helpIcon'
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   234
        ifAbsentPut:[(Depth2Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@AUUUP@UZ%T@EYVU@AUU%S UU%T@EU%U@AUUUP@UVUT@EUUUN@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 127 0 127 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]!
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   235
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   236
hierarchicalListIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   237
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   238
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   239
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   240
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   241
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   242
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   243
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   244
     ImageEditor openOnClass:self andSelector:#hierarchicalListIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   245
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   246
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   247
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   248
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   249
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   250
        constantNamed:#'BrowserView hierarchicalListIcon'
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   251
        ifAbsentPut:[(Depth2Image new) width: 13; height: 11; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@NAUUU0@R??8@GO?>@A0@C @\??88G@@N@A3?? @^@@8@N***@@@@@C b') ; colorMapFromArray:#[0 0 0 255 255 255 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]!
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   252
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   253
imageIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   254
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   255
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   256
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   257
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   258
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   259
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   260
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   261
     ImageEditor openOnClass:self andSelector:#imageIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   262
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   263
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   264
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   265
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   266
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   267
        constantNamed:#'BrowserView imageIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   268
        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
   269
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   270
menuIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   271
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   272
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   273
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   274
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   275
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   276
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   277
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   278
     ImageEditor openOnClass:self andSelector:#menuIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   279
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   280
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   281
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   282
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   283
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   284
        constantNamed:#'BrowserView menuIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   285
        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
   286
1126
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   287
stopIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   288
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   289
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   290
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   291
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   292
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   293
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   294
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   295
     ImageEditor openOnClass:self andSelector:#stopIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   296
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   297
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   298
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   299
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   300
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   301
        constantNamed:#'BrowserView stopIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   302
        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
   303
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   304
tabListIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   305
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   306
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   307
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   308
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   309
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   310
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   311
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   312
     ImageEditor openOnClass:self andSelector:#tabListIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   313
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   314
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   315
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   316
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   317
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   318
        constantNamed:#'BrowserView tabListIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   319
        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
   320
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   321
tableColumnsIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   322
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   323
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   324
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   325
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   326
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   327
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   328
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   329
     ImageEditor openOnClass:self andSelector:#tableColumnsIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   330
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   331
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   332
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   333
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   334
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   335
        constantNamed:#'BrowserView tableColumnsIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   336
        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
   337
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
   338
timeIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   339
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   340
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   341
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   342
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   343
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   344
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   345
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   346
     ImageEditor openOnClass:self andSelector:#timeIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   347
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   348
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   349
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   350
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   351
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   352
        constantNamed:#'BrowserView timeIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   353
        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
   354
1126
eb49503214f8 moved isBreakPointed / isTrapped queries into method
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
   355
traceIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   356
    "This resource specification was automatically generated
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   357
     by the ImageEditor of ST/X."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   358
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   359
    "Do not manually edit this!! If it is corrupted,
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   360
     the ImageEditor may not be able to read the specification."
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   361
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   362
    "
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
   363
     ImageEditor openOnClass:self andSelector:#traceIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   364
    "
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   365
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   366
    <resource: #image>
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   367
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   368
    ^Icon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   369
        constantNamed:#'BrowserView traceIcon'
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
   370
        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
   371
132
claus
parents: 131
diff changeset
   372
!BrowserView methodsFor:'change & update'!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   373
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   374
delayedUpdate:something with:someArgument from:changedObject
273
0fc84937f240 check oldMethod in method-update notification
Claus Gittinger <cg@exept.de>
parents: 264
diff changeset
   375
    |list selector oldMethod|
93
claus
parents: 92
diff changeset
   376
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   377
    (changedObject == Smalltalk) ifTrue:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   378
        something == #methodInClassRemoved ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   379
            "/ ignored; I am dependent of individual class update messages
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   380
            ^ self
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
        something == #methodInClass ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   383
            "/ ignored; I am dependent of individual class update messages
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   384
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   385
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   386
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   387
        self updateNamespaceList.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   388
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   389
        something == #newClass ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   390
            (currentClass notNil
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   391
            and:[someArgument name = currentClass name]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   392
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   393
                 the current class has changed
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   394
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   395
                (aspect == #definition
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   396
                and:[codeView modified not]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   397
                    self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   398
                    self classSelectionChanged.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   399
                ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   400
                    self updateClassListWithScroll:false.
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
                currentClass wasAutoloaded ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   403
                    self warnLabel:'the selected class has changed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   404
                ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   405
            ].
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
            ((someArgument category = currentClassCategory)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   408
            or:[currentClassCategory notNil
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   409
                and:[currentClassCategory startsWith:$*]]) ifTrue:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   410
                self updateClassListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   411
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   412
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   413
            someArgument category ~= currentClassCategory ifTrue:[
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
                 category new ?
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   416
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   417
                (classCategoryListView notNil 
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   418
                and:[(list := classCategoryListView list) notNil
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   419
                and:[(list includes:someArgument category) not]])
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   420
                ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   421
                    self updateClassCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   422
                ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   423
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   424
            ^ self
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
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   427
        something == #classRemove ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   428
            someArgument == currentClass ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   429
                self warnLabel:'the selected class was removed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   430
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   431
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   432
            " fall into general update "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   433
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   434
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
         any other (unknown) change 
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   437
         with the Smalltalk dictionary ...
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   438
        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   439
        self updateClassCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   440
        self updateClassListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   441
        ^ self
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   442
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   443
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   444
    changedObject isBehavior ifTrue:[
1502
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
        "/ its a class, that has changed
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
        fullClass ifTrue:[
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
            "/ full-class browser ...
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   451
            "/ (must check for both class and metaclass changes)
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
            (currentClass == changedObject
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   454
            or:[currentClass class == changedObject]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   455
                self warnLabel:'class was changed - the code shown may be obsolete'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   456
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   457
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   458
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   459
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   460
        (currentClass notNil 
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   461
        and:[changedObject name = currentClass name]) ifTrue:[
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
            "/ its the current class that has changed
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   464
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   465
            ((something == #methodDictionary)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   466
            or:[something == #methodTrap
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   467
            or:[something == #methodPrivacy]]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   468
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   469
                "/ new feature: changeArg may be an array consisting of
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   470
                "/ the selector and the oldMethod
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   471
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   472
                someArgument isArray ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   473
                    oldMethod := someArgument at:2.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   474
                    selector := someArgument at:1.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   475
                ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   476
                    selector := someArgument
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   477
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   478
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   479
                (selector isSymbol) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   480
                    |changedMethod s1 s2 oldMethodSelection oldMethodCategorySelection|
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
                     the method with selector was changed or removed
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
                    methodListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   486
                        oldMethodSelection := methodListView selection.
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
                    (something ~~ #methodTrap
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   489
                    and:[something ~~ #methodPrivacy]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   490
                        methodCategoryListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   491
                            oldMethodCategorySelection := methodCategoryListView selection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   492
                            self updateMethodCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   493
                            methodCategoryListView selection:oldMethodCategorySelection.
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
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   496
                    self updateMethodListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   497
                    methodListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   498
                        methodListView setSelection:oldMethodSelection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   499
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   500
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   501
                    classMethodListView notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   502
                        oldMethodSelection := classMethodListView selection.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   503
                        self updateMethodCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   504
                        classMethodListView selection:oldMethodSelection.
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
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   507
                    selector == currentSelector ifTrue:[
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
                         special care here: the currently shown method has been
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   510
                         changed somehow in another browser (or via fileIn)
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
                        changedMethod := currentClass compiledMethodAt:currentSelector.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   513
                        changedMethod isNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   514
                            self warnLabel:'the method shown was removed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   515
                            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   516
                        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   517
                        "compare the source codes"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   518
                        currentMethod notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   519
                            s1 := changedMethod source asString asCollectionOfLines copy.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   520
                            [s1 last isEmpty] whileTrue:[s1 removeLast].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   521
                            s2 := codeView contents  asCollectionOfLines copy.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   522
                            [s2 last isEmpty] whileTrue:[s2 removeLast].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   523
                            s1 = s2 ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   524
                                self warnLabel:'method has changed - the code shown may be obsolete'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   525
                            ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   526
                        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   527
                        ^ self    
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
            something == #comment ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   533
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   534
                 the class has changed its comment; we dont care, except if
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   535
                 currently showing the comment
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   536
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   537
                aspect == #comment ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   538
                    codeView modified ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   539
                        self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   540
                        self updateCodeView
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   541
                    ] ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   542
                        self warnLabel:'the comment has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   543
                    ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   544
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   545
                self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   546
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   547
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   548
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   549
            something == #definition ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   550
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   551
                 the class has changed its definition.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   552
                 Warn, except if showing a method.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   553
                "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   554
                aspect notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   555
                    codeView modified ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   556
                        self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   557
                        self updateCodeView
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   558
                    ] ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   559
                        self warnLabel:'the classes definition has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   560
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   561
                    ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   562
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   563
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   564
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   565
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   566
            "/ if I am not showing code update if unmodified,
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   567
            "/ warn if modified
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   568
            "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   569
            aspect notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   570
                codeView modified ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   571
                    self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   572
                    self updateCodeView
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   573
                ] ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   574
                    self warnLabel:'the classes has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   575
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   576
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   577
            ].
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
   578
        
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   579
            "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   580
             get the class again - in case of a changed class definition,
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   581
             we are otherwise refering to the obsolete old class
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   582
            "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   583
            self refetchClass.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   584
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   585
            self updateMethodCategoryListWithScroll:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   586
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   587
            "dont update codeView ...."
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   588
            "self update"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   589
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   590
            self warnLabel:'the class has changed'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   591
            ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   592
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   593
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   594
        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   595
         any other class has changed (but not its organization, since
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   596
         that is caught in the above case).
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   597
         We are not interested in it - except, if showing fullProtocol
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   598
         or hierarchy ...
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   599
        "
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   600
        currentClassHierarchy notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   601
            fullProtocol ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   602
                (currentClass isSubclassOf:changedObject) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   603
                    self warnLabel:'some superclass has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   604
                ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   605
            ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   606
                ((currentClass isSubclassOf:changedObject)
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   607
                or:[changedObject isSubclassOf:currentClass]) ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   608
                    self warnLabel:'some superclass has changed - reselect to update'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   609
                ]                
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   610
            ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   611
        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   612
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   613
        ^ self
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   614
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   615
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   616
    (changedObject isMethod) ifTrue:[
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   617
    ]
236
d94505a6f697 release currentMethod when compiling or change notification arrives
Claus Gittinger <cg@exept.de>
parents: 229
diff changeset
   618
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
   619
    "Created: / 4.1.1997 / 13:54:00 / cg"
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   620
    "Modified: / 5.3.1998 / 02:46:01 / cg"
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   621
!
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   622
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   623
refetchClass
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   624
    "after a class definition change in another browser,
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   625
     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
   626
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   627
"/    currentClass := Smalltalk at:(currentClass name asSymbol).
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   628
    self changeCurrentClass:(Smalltalk at:(currentClass name asSymbol)).
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   629
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   630
"/    showInstance ifTrue:[
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   631
"/        actualClass := currentClass
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   632
"/    ] ifFalse:[
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   633
"/        actualClass := currentClass class
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   634
"/    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   635
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   636
    "Created: / 8.2.1996 / 13:22:27 / cg"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   637
    "Modified: / 10.4.1998 / 12:25:49 / cg"
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   638
!
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   639
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   640
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
   641
    |argList sensor|
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   642
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   643
    (changedObject == ObjectMemory) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   644
	(something == #earlyRestart 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   645
	or:[something == #restarted
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   646
	or:[something == #returnFromSnapshot]]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   647
	    "/ those are to be ignored.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   648
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   649
	]
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   650
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   651
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   652
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   653
    "/ avoid update/warn after my own changes
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   654
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   655
    lockUpdates == true ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   656
	^ self
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   657
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   658
927
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   659
    "/
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   660
    "/ quick hack: delayed update fails, if I autoload
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   661
    "/ LabelAndIcon in the update, and another browser
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   662
    "/ gets a chance to do an update as well, trying to
3b32af3cf5a6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 926
diff changeset
   663
    "/ access the (temporarily nil) LabelAndIcon.
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   664
    "/ To get that beast out, do it synchronous for now.
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   665
    "/ also do it immediately, if not yet realized (no sensor)
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   666
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   667
    (LabelAndIcon isLoaded not
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   668
    or:[(sensor := self sensor) isNil]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   669
	^ 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
   670
    ].
ccbc84af922c oops - dont delay update if occurring during startup;
Claus Gittinger <cg@exept.de>
parents: 908
diff changeset
   671
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   672
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   673
    "/ if such an update is already in the queue, ignore it.
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   674
    "/ 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
   675
    "/
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   676
    argList := Array with:something 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   677
		     with:someArgument 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   678
		     with:changedObject.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   679
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   680
    (sensor 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   681
	hasEvent:#delayedUpdate:with:from:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   682
	for:self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   683
	withArguments:argList) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   684
	^ self
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   685
    ].
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   686
    sensor
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   687
	pushUserEvent:#delayedUpdate:with:from:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   688
	for:self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   689
	withArguments:argList
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
   690
1098
5901d464a960 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1097
diff changeset
   691
    "Modified: 26.3.1997 / 18:29:51 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   692
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
   693
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   694
!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
   695
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   696
classCategoryClone
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   697
    "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
   698
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   699
    SystemBrowser openInClass:actualClass selector:currentSelector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   700
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   701
    "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
   702
    "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
   703
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   704
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   705
classCategoryFileOut
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   706
    "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
   707
     into the current projects defaultDirectory."
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   708
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   709
    self classCategoryFileOutAsk:false
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
    "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
   712
!
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   713
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   714
classCategoryFileOutAs
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   715
    "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
   716
     into a file as user-specified."
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   717
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   718
    self classCategoryFileOutAsk:true
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   719
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   720
    "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
   721
    "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
   722
!
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   723
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   724
classCategoryFileOutAsk:doAsk
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   725
    "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
   726
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   727
    |aStream fileName classesToInitialize|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   728
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   729
    self checkClassCategorySelected ifFalse:[^ self].
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   730
    (currentClassCategory startsWith:$*) ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   731
        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
   732
        ^ self
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   733
    ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   734
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   735
    fileName := currentClassCategory asString , '.st'.
1316
3fefcc2e9b16 mostly filename changes
Claus Gittinger <cg@exept.de>
parents: 1313
diff changeset
   736
    fileName replaceAll:Character space with:$_.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   737
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   738
    self withBusyCursorDo:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   739
        |saveName fileBox dir|
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   740
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   741
        doAsk ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   742
            fileBox := FileSelectionBox
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   743
                            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
   744
                            okText:(resources string:'fileOut')
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   745
                            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
   746
                            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
   747
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   748
            fileBox initialText:fileName.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   749
            dir := FileSelectionBox lastFileSelectionDirectory.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   750
            dir isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   751
                "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   752
                 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
   753
                "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   754
                Project notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   755
                    dir := Project currentProjectDirectory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   756
                ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   757
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   758
            dir notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   759
                fileBox directory:dir.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   760
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   761
            fileBox showAtPointer.
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   762
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   763
            fileBox destroy.
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   764
            fileBox := nil.
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   765
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   766
            saveName isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   767
                ^ self
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   768
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   769
            saveName isEmpty ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   770
                self warn:'bad name given'.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   771
                ^ self
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   772
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   773
            FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   774
            fileName := saveName.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   775
        ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   776
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   777
             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
   778
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   779
            Project notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   780
                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
   781
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   782
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   783
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   784
        "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   785
         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
   786
        "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   787
        fileName asFilename exists ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   788
            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
   789
            fileName asFilename copyTo:(fileName , '.sav')
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   790
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   791
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   792
        aStream := FileStream newFileNamed:fileName.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   793
        aStream isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   794
            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
   795
        ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   796
            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
   797
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   798
            classesToInitialize := OrderedCollection new.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   799
            self allClassesInCategory:currentClassCategory inOrderDo:[:aClass |
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   800
                aClass isPrivate ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   801
                    (self listOfNamespaces includesIdentical:aClass nameSpace)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   802
                    ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   803
                        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
   804
                        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
   805
                        (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
   806
                            classesToInitialize add:aClass
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   807
                        ].
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   808
                        aStream cr.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   809
                    ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   810
                ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   811
            ].
1510
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   812
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   813
            "/ 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
   814
            "/ (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
   815
            "/  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
   816
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   817
            classesToInitialize do:[:aClass |
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   818
                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
   819
                aStream nextPutChunkSeparator.
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   820
                aStream cr
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   821
            ].
ec5dd071b570 when filing out a class category, place all class-init expressions
Claus Gittinger <cg@exept.de>
parents: 1506
diff changeset
   822
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   823
            aStream close.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   824
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   825
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   826
    self normalLabel.
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
   827
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   828
    "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
   829
    "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
   830
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   831
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   832
classCategoryFileOutBinaryEach
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   833
    "fileOut each class in the current category as binary bytecode."
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   834
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   835
    |mode|
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   836
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   837
    (currentClassCategory startsWith:$*) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   838
        self warn:(resources string:'try a real category').
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   839
        ^ self
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   840
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   841
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   842
    mode := Dialog choose:(resources string:'save including sources ?')
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   843
                   labels:(resources array:#('cancel' 'discard' 'by file reference' 'include source'))
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   844
                   values:#(nil #discard #reference #keep)
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   845
                   default:#keep.
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   846
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   847
    mode isNil ifTrue:[^ self].
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   848
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   849
    self withBusyCursorDo:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   850
        self allClassesInCategory:currentClassCategory do:[:aClass |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   851
            aClass isPrivate ifFalse:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   852
                (self listOfNamespaces includesIdentical:aClass nameSpace)
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   853
                ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   854
                    self busyLabel:'saving binary of: %1' with:aClass name.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   855
                    Class fileOutErrorSignal handle:[:ex |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   856
                        self warn:'cannot create: %1' with:ex parameter.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   857
                        ex return.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   858
                    ] do:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   859
                        aClass binaryFileOutWithSourceMode:mode.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   860
                    ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   861
                ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   862
            ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   863
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   864
        self normalLabel.
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   865
    ]
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   866
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   867
    "Created: / 25.1.1996 / 17:27:45 / cg"
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   868
    "Modified: / 5.3.1998 / 02:45:30 / cg"
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   869
!
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   870
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   871
classCategoryFileOutEach
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   872
    (currentClassCategory startsWith:$*) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   873
        self warn:(resources string:'try a real category').
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   874
        ^ self
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   875
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
   876
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   877
    self withBusyCursorDo:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   878
        self allClassesInCategory:currentClassCategory do:[:aClass |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   879
            aClass isPrivate ifFalse:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   880
                (self listOfNamespaces includesIdentical:aClass nameSpace)
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   881
                ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   882
                    self busyLabel:'saving: %1' with:aClass name.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   883
                    Class fileOutErrorSignal handle:[:ex |
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   884
                        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
   885
                        ex return.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   886
                    ] do:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   887
                        aClass fileOut
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   888
                    ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   889
                ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   890
            ]
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   891
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   892
        self normalLabel.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   893
    ]
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
   894
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
   895
    "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
   896
!
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
classCategoryFindClass
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   899
    "find a class - and switch by default"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   900
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
   901
    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
   902
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   903
    "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
   904
!
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
   905
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
   906
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
   907
    "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
   908
     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
   909
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   910
    |box openButton title open okText okText2 className brwsr|
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
   911
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
   912
    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
   913
    open ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   914
        title := 'class to browse:'.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   915
        okText := 'open'.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   916
        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
   917
    ] ifFalse:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   918
        title := 'class to find:'.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   919
        okText := 'find'.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   920
        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
   921
    ].
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
   922
    box := self enterBoxForCodeSelectionTitle:title okText:okText.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   923
    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
   924
    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
   925
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
   926
    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
   927
       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
   928
       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
   929
       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
   930
    ].
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
   931
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   932
    box entryCompletionBlock:[:contents |
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   933
        |s what m|
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   934
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   935
        s := contents withoutSpaces.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   936
        what := Smalltalk classnameCompletion:s.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   937
        box contents:what first.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   938
        (what at:2) size ~~ 1 ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   939
            self beep
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   940
        ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   941
    ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   942
    box action:[:aString | className := aString].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   943
    box showAtPointer.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   944
1550
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   945
    className notNil ifTrue:[
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   946
        open ifTrue:[
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   947
            brwsr := SystemBrowser open.
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   948
            "/ brwsr topView waitUntilVisible.
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   949
        ] ifFalse:[
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   950
            brwsr := self
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   951
        ].
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   952
        brwsr switchToClassNameMatching:className.
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   953
        brwsr classSelectionChanged.
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   954
    ]
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   955
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
   956
    "Created: / 1.6.1996 / 16:03:15 / cg"
1550
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
   957
    "Modified: / 16.4.1998 / 18:39:15 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   958
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   959
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   960
classCategoryFindMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   961
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   962
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   963
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   964
		listBoxForCodeSelectionTitle:'selector to find:' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   965
		okText:'find'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   966
    box label:(resources string:'find method').
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   967
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   968
    box entryCompletionBlock:[:contents |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   969
	|s what m|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   970
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   971
	s := contents withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   972
	box topView withWaitCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   973
	    what := Smalltalk selectorCompletion:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   974
	    box list:(what at:2).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   975
	    box contents:what first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   976
	    (what at:2) size ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   977
		self beep
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   978
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
   979
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   980
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   981
    box action:[:aString | self switchToAnyMethod:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   982
    box showAtPointer
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   983
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   984
    "Modified: 30.8.1995 / 22:49:49 / claus"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
   985
    "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
   986
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   987
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
   988
classCategoryMenu
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   989
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
   990
    <resource: #keyboard ( #Find #Cmdn) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
   991
    <resource: #programMenu >
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   992
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
   993
    |specialMenu m labels selectors shorties|
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   994
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   995
    currentClassCategory notNil ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   996
        labels :=  #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   997
                        'fileOut each binary ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   998
                        '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
   999
                        'repository history ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1000
                        'validate class revisions'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1001
                        '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1002
                        'checkin each ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1003
                    ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1004
        selectors := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1005
                        classCategoryFileOutBinaryEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1006
                        nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1007
                        classCategoryRepositoryHistory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1008
                        classCategoryValidateClassRevisions
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1009
                        nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1010
                        classCategoryCheckinEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1011
                     ).
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1012
    ] ifFalse:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1013
        labels :=  #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1014
                        'repository history ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1015
                    ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1016
        selectors := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1017
                        classCategoryRepositoryHistory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1018
                     ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1019
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1020
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1021
    specialMenu := PopUpMenu 
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1022
                        labels:(resources array:labels)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1023
                        selectors:selectors
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1024
                        receiver:self.
338
1d4a76bf6e8f added binaryFileOutCategoryEach
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
  1025
710
fbf71e0089eb only show sourceCodeManager items, if its present
Claus Gittinger <cg@exept.de>
parents: 706
diff changeset
  1026
    Smalltalk sourceCodeManager isNil ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1027
        specialMenu disableAll:#(classCategoryRepositoryHistory  
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1028
                                 classCategoryCheckinEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1029
                                 classCategoryValidateClassRevisions).
710
fbf71e0089eb only show sourceCodeManager items, if its present
Claus Gittinger <cg@exept.de>
parents: 706
diff changeset
  1030
    ].
fbf71e0089eb only show sourceCodeManager items, if its present
Claus Gittinger <cg@exept.de>
parents: 706
diff changeset
  1031
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1032
    device ctrlDown ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1033
        ^ specialMenu
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1034
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1035
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1036
    currentClassCategory isNil ifTrue:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1037
        labels := #(
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1038
"/                    'namespace ...'
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1039
"/                    '-'
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1040
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1041
                    'clone'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1042
                    'open for class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1043
                    'spawn full class'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1044
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1045
                    'update'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1046
                    'find class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1047
                    'find method ...'
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1048
                    'class history'
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1049
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1050
                    'new class category ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1051
                    '='
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1052
                    'others'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1053
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1054
        selectors := #(
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1055
"/                    namespaceDialog    
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1056
"/                    nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1057
                    classCategoryClone
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1058
                    classCategoryOpenInClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1059
                    classCategorySpawnFullClass
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
                    classCategoryUpdate
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1062
                    classCategoryFindClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1063
                    classCategoryFindMethod
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1064
                    classHistoryMenu
1344
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
                    classCategoryNewCategory
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
                    otherMenu
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1069
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1070
        shorties := #(
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1071
"/                    nil
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1072
"/                    nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1073
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1074
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1075
                    nil
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1076
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1077
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1078
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1079
                    Find
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1080
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1081
                    nil
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1082
                    nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1083
                    Cmdn
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1084
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1085
                    #'Ctrl'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1086
                   ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1087
    ] ifFalse:[
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1088
        labels := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1089
                    'fileOut'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1090
                    'fileOut as ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1091
                    'fileOut each'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1092
                    'printOut' 
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1093
                    'printOut protocol'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1094
                    '-'
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1095
"/                    'namespace ...'
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1096
"/                    '-'
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1097
                    'clone'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1098
                    'open for class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1099
                    'SPAWN_CATEGORY'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1100
                    'spawn full class'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1101
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1102
                    'update'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1103
                    'find class ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1104
                    'find method ...'
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1105
                    'class history'
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1106
                    '-'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1107
                    'new class category ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1108
                    'rename ...'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1109
                    'remove'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1110
                    '='
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1111
                    'others'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1112
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1113
        selectors := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1114
                   classCategoryFileOut
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1115
                   classCategoryFileOutAs
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1116
                   classCategoryFileOutEach
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1117
                   classCategoryPrintOut
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1118
                   classCategoryPrintOutProtocol
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1119
                   nil
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1120
"/                   namespaceDialog    
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1121
"/                   nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1122
                   classCategoryClone
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1123
                    classCategoryOpenInClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1124
                   classCategorySpawn
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1125
                   classCategorySpawnFullClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1126
                   nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1127
                   classCategoryUpdate
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1128
                   classCategoryFindClass
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1129
                   classCategoryFindMethod
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1130
                   classHistoryMenu
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1131
                   nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1132
                   classCategoryNewCategory
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1133
                   classCategoryRename
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1134
                   classCategoryRemove
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1135
                   nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1136
                   otherMenu
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1137
                   ).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1138
        shorties := #(
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1139
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1140
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1141
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1142
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1143
                    nil
1345
767926e950e1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1344
diff changeset
  1144
                    nil
809
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1145
"/                    nil
f333068dc7cf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 805
diff changeset
  1146
"/                    nil
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1147
                    Cmdc
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1148
                    Cmdo
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1149
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1150
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1151
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1152
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1153
                    Find
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1154
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1155
                    nil
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1156
                    nil
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1157
                    Cmdn
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1158
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1159
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1160
                    nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1161
                    #'Ctrl'
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1162
                   ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1163
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1164
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1165
    m := PopUpMenu 
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1166
                labels:(resources array:labels)
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1167
                selectors:selectors
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  1168
                accelerators:shorties.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  1169
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1170
    m subMenuAt:#otherMenu put:specialMenu.
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1171
    m subMenuAt:#classHistoryMenu put:self classHistoryMenu.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  1172
    ^ m
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1173
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1174
    "Created: / 14.9.1995 / 10:50:17 / claus"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  1175
    "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
  1176
    "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
  1177
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1178
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1179
classCategoryNewCategory
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1180
    |box|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1181
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1182
    box := self 
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1183
                enterBoxTitle:'name of new class category:' 
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1184
                okText:'create'
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1185
                label:'create category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1186
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1187
    box action:[:aString |
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1188
        |categories|
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1189
        categories := classCategoryListView list.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1190
        (categories includes:aString) ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1191
            categories add:aString.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1192
            categories sort.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1193
            classCategoryListView setContents:categories.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1194
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1195
        currentClassCategory := aString.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1196
        classCategoryListView setSelectElement:aString.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1197
        self changeCurrentClass:nil.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1198
        actualClass := acceptClass := nil.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1199
        self classCategorySelectionChanged
79
d78f92a07d5d *** empty log message ***
claus
parents: 74
diff changeset
  1200
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1201
    box showAtPointer
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1202
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1203
    "Modified: / 19.8.1996 / 18:25:41 / stefan"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1204
    "Modified: / 10.4.1998 / 12:25:29 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1205
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1206
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  1207
classCategoryOpenInClass
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1208
    "find a class - and open a browser (by default)"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1209
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
  1210
    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
  1211
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1212
    "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
  1213
!
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  1214
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1215
classCategoryPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1216
    |printStream|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1217
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  1218
    self allClassesInCategory:currentClassCategory inOrderDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1219
	(self listOfNamespaces includesIdentical:aClass nameSpace)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1220
	ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1221
	    printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1222
	    aClass printOutOn:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1223
	    printStream close
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1224
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1225
    ]
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  1226
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1227
    "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
  1228
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1229
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1230
classCategoryPrintOutProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1231
    |printStream|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1232
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1233
    Smalltalk allClassesInCategory:currentClassCategory inOrderDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1234
	(self listOfNamespaces includesIdentical:aClass nameSpace)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1235
	ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1236
	    printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1237
	    aClass printOutProtocolOn:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1238
	    printStream close
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1239
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1240
    ]
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1241
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1242
    "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
  1243
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1244
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1245
classCategoryRemove
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1246
    "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
  1247
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1248
    |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
  1249
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1250
    self checkClassCategorySelected ifFalse:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1251
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1252
    classesToRemove := IdentitySet new.
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1253
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1254
    self allClassesInSelectedNamespacesDo:[:aClass |
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1255
        aClass category = currentClassCategory ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1256
            classesToRemove add:aClass
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1257
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1258
    ].
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1259
    subclassesRemoved := IdentitySet new.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1260
    classesToRemove do:[:aClass |
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1261
        aClass allSubclassesDo:[:aSubclass |
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1262
            (classesToRemove includes:aSubclass) ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1263
                (subclassesRemoved includes:aSubclass) ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1264
                    subclassesRemoved add:aSubclass
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1265
                ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1266
            ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1267
        ]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1268
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1269
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1270
    count := overallCount := classesToRemove size.
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1271
    t := resources string:'remove "%1" ?' with:currentClassCategory.
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1272
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1273
    count ~~ 0 ifTrue:[
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1274
       count == 1 ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1275
           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
  1276
       ] ifFalse:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1277
           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
  1278
       ].
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1279
       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
  1280
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1281
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1282
    count := subclassesRemoved size.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1283
    overallCount := overallCount + count.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1284
    count ~~ 0 ifTrue:[
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1285
       count == 1 ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1286
           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
  1287
       ] ifFalse:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1288
           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
  1289
       ].
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1290
       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
  1291
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1292
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1293
    t := t withCRs.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1294
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1295
    box := YesNoBox 
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1296
               title:t
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1297
               yesText:(resources at:'remove')
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1298
               noText:(resources at:'abort').
333
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1299
    box label:(resources at:'remove category').
245f0a972fc9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 324
diff changeset
  1300
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1301
    overallCount ~~ 0 ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1302
        "/ should we disable the returnDefault here ?
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1303
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1304
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1305
    box confirm ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1306
        "after querying user - do really remove classes in list1 and list2"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1307
        |keep idx|
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1308
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1309
        keep := false.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1310
        (subclassesRemoved asOrderedCollection
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1311
         , classesToRemove asOrderedCollection) do:[:aClassToRemove |
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1312
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1313
            (CheckForInstancesWhenRemovingClasses not
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1314
             or:[aClassToRemove hasInstances not
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1315
             or:[self confirm:(resources string:'%1 has instances - remove anyway ?' with:aClassToRemove name)]] 
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1316
            ) ifTrue:[   
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1317
                aClassToRemove removeFromSystem
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1318
            ] ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1319
                keep := true.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1320
            ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1321
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1322
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1323
        self updateClassCategoryList.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1324
        (classCategoryListView list includes:currentClassCategory) ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1325
            currentClassCategory := nil.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1326
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1327
        self classCategorySelectionChanged.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1328
        
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1329
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1330
        self changeCurrentClass:nil.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1331
"/        keep ifFalse:[
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1332
"/            idx := classCategoryListView list indexOf:currentClassCategory.
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1333
"/            currentClassCategory := nil.
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1334
"/            idx ~= 0 ifTrue:[
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1335
"/                classCategoryListView removeIndex:idx.
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1336
"/            ].
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  1337
"/        ].
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  1338
    ].
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  1339
    box destroy
694
af82075139a1 Fix #classCategoryNewCategory and #classCategoryRemove.
Stefan Vogel <sv@exept.de>
parents: 677
diff changeset
  1340
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1341
    "Modified: / 19.8.1996 / 23:22:35 / stefan"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1342
    "Modified: / 10.4.1998 / 12:25:32 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1343
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1344
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1345
classCategoryRename
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1346
    "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
  1347
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1348
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1349
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1350
    self checkClassCategorySelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1351
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1352
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1353
		enterBoxTitle:(resources string:'rename category ''%1'' to:' with:currentClassCategory) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1354
		okText:'rename'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1355
		label:'rename category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1356
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1357
    box initialText:currentClassCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1358
    box action:[:aString | self renameCurrentClassCategoryTo:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1359
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1360
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1361
    "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
  1362
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1363
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1364
classCategorySpawn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1365
    "create a new SystemBrowser browsing current classCategory"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1366
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1367
    currentClassCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1368
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1369
	    SystemBrowser browseClassCategory:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1370
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1371
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1372
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1373
    "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
  1374
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1375
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1376
classCategorySpawnFullClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1377
    "create a new SystemBrowser browsing full class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1378
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1379
    |newBrowser|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1380
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1381
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1382
	newBrowser := SystemBrowser browseFullClasses
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1383
" "
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1384
	.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1385
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1386
	    newBrowser switchToClassNamed:(currentClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1387
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1388
" "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1389
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1390
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1391
    "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
  1392
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1393
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1394
classCategoryUpdate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1395
    "update class category list and dependants"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1396
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1397
    |oldClassName oldMethodCategory|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1398
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1399
    classCategoryListView notNil ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1400
        self setListOfNamespaces.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1401
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1402
        currentClass notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1403
            oldClassName := currentClass name.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1404
            (oldClassName endsWith:'-old') ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1405
                oldClassName := oldClassName copyWithoutLast:4 "copyTo:(oldClassName size - 4)"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1406
            ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1407
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1408
        oldMethodCategory := currentMethodCategory.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1409
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1410
        classCategoryListView setContents:(self listOfAllClassCategories).
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1411
        currentClassCategory notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1412
            classCategoryListView setSelectElement:currentClassCategory.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1413
            self classCategorySelectionChanged.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1414
            oldClassName notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1415
                classListView setSelectElement:oldClassName.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1416
                self changeCurrentClass:(Smalltalk at:oldClassName asSymbol).
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1417
                self classSelectionChanged.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1418
                oldMethodCategory notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1419
                    methodCategoryListView setSelectElement:oldMethodCategory.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1420
                    currentMethodCategory := oldMethodCategory.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1421
                    self methodCategorySelectionChanged
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1422
                ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1423
            ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1424
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1425
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1426
        self updateNamespaceList
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1427
    ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1428
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1429
    "Modified: / 10.4.1998 / 12:25:38 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1430
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1431
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1432
!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
  1433
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1434
classCategoryCheckinEach
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1435
    (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
  1436
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1437
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1438
	|logMessage classes|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1439
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1440
	logMessage := self getLogMessageFor:'(any in classCategory ', currentClassCategory, ')'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1441
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1442
	logMessage notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1443
	    (currentClassCategory = '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1444
	    or:[currentClassCategory = '* hierarchy *']) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1445
		classes := self allClasses
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1446
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1447
		classes := self allClassesInCategory:currentClassCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1448
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1449
	    "/ ignore private classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1450
	    classes := classes select:[:aClass | aClass owningClass isNil].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1451
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1452
	    lastSourceLogMessage := logMessage.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1453
	    classes do:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1454
		self busyLabel:'checking in %1' with:aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1455
		"/ ca does not want boxes to pop up all over ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1456
		InformationSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1457
		    Transcript showCR:ex errorString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1458
		] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1459
		    self classCheckin:aClass withLog:logMessage
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  1460
"/                    (aClass sourceCodeManager) 
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  1461
"/                        checkinClass:aClass 
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  1462
"/                        logMessage:logMessage.
1330
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
		self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1465
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1466
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1467
	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
  1468
    ]
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1469
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1470
    "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
  1471
    "Modified: 15.6.1996 / 00:25:58 / stefan"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1472
    "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
  1473
!
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1474
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1475
classCategoryRepositoryHistory
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1476
    (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
  1477
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1478
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1479
	|timeGoal aStream box y component timeGoalListPop|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1480
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1481
	box := Dialog new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1482
	(box addTextLabel:(resources string:'repository change report')) adjust:#left.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1483
	box addVerticalSpace:20.
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
	timeGoal := 'yesterday' asValue. 
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
	y := box yPosition.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1488
	component := box addTextLabel:(resources string:'list changes since (mm/dd):').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1489
	component width:0.5; adjust:#right; borderWidth:0.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1490
	box yPosition:y.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1491
	timeGoalListPop := box addComboBoxOn:timeGoal tabable:true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1492
	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
  1493
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1494
	timeGoalListPop list:#('yesterday'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1495
			       'a week ago'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1496
			       'a month ago'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1497
			       'a year ago'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1498
			       'all'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1499
			      ).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1500
	box addAbortButton; addOkButton.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1501
	box open.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1502
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1503
	box accepted ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1504
	    timeGoal := timeGoal value.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1505
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1506
"/        timeGoal := Dialog 
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1507
"/                         request:'list changed repository containers since (mm/dd):
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1508
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1509
"/You can also specify the date as 
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1510
"/''yesterday'', ''a week ago'' or ''a month ago''
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1511
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1512
"/'
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1513
"/                         initialAnswer:'yesterday'  
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1514
"/                         onCancel:nil.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1515
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1516
"/        timeGoal notNil ifTrue:[
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1517
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  1518
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1519
	    self busyLabel:'extracting history ...' with:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1520
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1521
	    aStream := WriteStream on:(String new:200).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1522
	    Processor activeProcess withLowerPriorityDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1523
		SourceCodeManager notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1524
		    SourceCodeManager
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1525
			writeHistoryLogSince:timeGoal
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1526
			to:aStream.
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
		    aStream nextPutLine:'no history available (no SourceCodeManagement installed)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1529
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1530
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1531
	    codeView contents:(aStream contents).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1532
	    codeView modified:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1533
	    codeView acceptAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1534
	    codeView explainAction:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1535
	    methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1536
		methodListView setSelection:nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1537
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1538
	    aspect := nil.      
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1539
	    self normalLabel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1540
	].
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1541
    ]
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1542
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1543
    "Created: 23.11.1995 / 11:41:38 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1544
    "Modified: 18.8.1997 / 15:42:46 / cg"
818
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1545
!
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1546
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1547
classCategoryValidateClassRevisions
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1548
    "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
  1549
     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
  1550
     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
  1551
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1552
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1553
	|logMessage classes repVersion clsVersion binVersion
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1554
	 count unloadedCount badCount cat needCheckIn|
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
	cat := currentClassCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1557
	(cat = '* hierarchy *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1558
	    cat := '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1559
	].
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
	classes := self listOfAllClassesInCategory:cat names:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1562
	classes isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1563
	    Transcript showCR:'no classes to validate'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1564
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1565
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1566
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1567
	count := unloadedCount := badCount := needCheckIn := 0.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1568
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1569
	Transcript cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1570
	Transcript showCR:'-------------------------------------------------'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1571
	Transcript showCR:'checking class revisions vs. repository ...'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1572
	Transcript cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1573
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1574
	classes do:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1575
	    |clsName msg sourceCodeManager repSource currentSource aStream|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1576
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1577
	    count := count + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1578
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1579
	    "/ 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
  1580
                
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1581
	    clsName := aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1582
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1583
	    aClass isLoaded ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1584
		unloadedCount := unloadedCount + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1585
		(currentClassCategory ~= '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1586
		and:[currentClassCategory ~= '* hierarchy *']) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1587
		    msg := '?? ''' , clsName , ''' is not loaded - skipped check'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1588
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1589
	    ] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1590
		((aClass isNamespace not or:[aClass == Smalltalk])
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1591
		and:[aClass topOwningClass isNil]) ifTrue:[
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1592
                
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  1593
"/                    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
  1594
                
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1595
		    sourceCodeManager := aClass sourceCodeManager.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1596
		    sourceCodeManager isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1597
			msg := '?? ''' , clsName , ''' has no sourceCodeManager - skipped check'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1598
		    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1599
			repVersion := sourceCodeManager newestRevisionOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1600
			repVersion isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1601
			    msg := '-- ' , clsName 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1602
				    , ' not in repository'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1603
			] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1604
			    clsVersion := aClass revision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1605
			    binVersion := aClass binaryRevision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1606
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1607
			    clsName := aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1608
			    msg := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1609
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1610
			    clsVersion ~= repVersion ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1611
				badCount := badCount + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1612
				msg := '** ' , clsName 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1613
					, ' is not up-to-date (this: '
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1614
					, clsVersion printString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1615
					, ' repository: '
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1616
					, repVersion printString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1617
					, ').'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1618
				msg := msg asText allBold.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1619
			    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1620
				clsVersion ~= binVersion ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1621
				    binVersion notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1622
					msg := clsName
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1623
					       , ' up-to-date (but should be stc-recompiled)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1624
				    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1625
				] ifFalse:[
1096
3e3af3c70de1 handle no-sourceCodeManager case when validating classes.
Claus Gittinger <cg@exept.de>
parents: 1095
diff changeset
  1626
    "/                              msg := clsName , ' is up-to-date.'
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1627
				].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1628
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1629
				"/ compare the sources;
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1630
				"/ to find classes which need a checkin.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1631
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1632
				aStream := sourceCodeManager getMostRecentSourceStreamForClassNamed:aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1633
				repSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1634
				aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1635
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1636
				aStream := '' writeStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1637
				Method flushSourceStreamCache.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1638
				aClass fileOutOn:aStream withTimeStamp:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1639
				currentSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1640
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1641
				repSource ~= currentSource ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1642
				    msg := '-- ' , clsName , ' should be checked into the repository'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1643
				    needCheckIn := needCheckIn + 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1644
				].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1645
			    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1646
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1647
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1648
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1649
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1650
	    msg notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1651
		Transcript showCR:msg
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1652
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1653
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1654
	Transcript cr.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1655
	Transcript showCR:'----------------------------------------------------------'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1656
	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
  1657
			   bindWith:count with:unloadedCount with:badCount with:needCheckIn).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1658
	Transcript showCR:'----------------------------------------------------------'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1659
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1660
	self normalLabel.
818
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1661
    ]
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1662
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1663
    "Modified: 15.6.1996 / 00:25:58 / stefan"
b6ab52f835f1 added validate-revisions menu item
Claus Gittinger <cg@exept.de>
parents: 814
diff changeset
  1664
    "Created: 29.10.1996 / 13:21:08 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1665
    "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
  1666
! !
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  1667
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1668
!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
  1669
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1670
checkClassCategorySelected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1671
    currentClassCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1672
	self warn:'select a class category first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1673
	^ false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1674
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1675
    ^ true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1676
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1677
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1678
classCategorySelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1679
    "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
  1680
     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
  1681
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  1682
    |newCategory oldClass oldName classIndex list|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1683
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1684
    newCategory := classCategoryListView selectionValue.
1267
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  1685
    (newCategory = '* all *'
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1686
     or:[newCategory = '* hierarchy *'
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1687
     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
  1688
    ) ifTrue:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1689
        "switch to all or hierarchy:
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1690
         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
  1691
         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
  1692
        "
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1693
        oldClass := currentClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1694
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1695
    currentClassCategory := newCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1696
    oldClass isNil ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1697
        self classCategorySelectionChanged
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1698
    ] ifFalse:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1699
        oldName := oldClass name.
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1700
        self withBusyCursorDo:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1701
            self updateClassList
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1702
        ].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1703
        "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
  1704
        list := classListView list.
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1705
        list notNil ifTrue:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1706
            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
  1707
        ] ifFalse:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1708
            classIndex := 0
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1709
        ].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1710
        classIndex ~~ 0 ifTrue:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1711
            classListView setSelection:classIndex.
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1712
            self changeCurrentClass:(Smalltalk at:(oldName asSymbol))
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1713
        ] ifFalse:[
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1714
            self normalLabel.
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1715
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1716
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  1717
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  1718
    "Modified: / 16.1.1998 / 17:12:24 / stefan"
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1719
    "Modified: / 10.4.1998 / 12:25:34 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1720
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1721
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1722
classCategorySelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1723
    "class category has changed - update dependent views"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1724
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  1725
    self withBusyCursorDo:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1726
        self changeCurrentClass:nil.
1363
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1727
        aspect := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1728
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1729
        actualClass := acceptClass := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1730
        currentMethodCategory := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1731
        currentMethod := currentSelector := nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1732
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1733
        self updateClassList.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1734
        self updateMethodCategoryList.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1735
        self updateMethodList.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1736
        self updateCodeView.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1737
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1738
        codeView explainAction:nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1739
        codeView acceptAction:nil.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1740
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1741
        (currentClassCategory = '* removed *') ifTrue:[
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1742
            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
  1743
but there are still referenced instances of them around.
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1744
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1745
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
  1746
'
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1747
        ]
aca9cc3e7f09 note when selecting removed category
Claus Gittinger <cg@exept.de>
parents: 1362
diff changeset
  1748
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1749
    ]
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  1750
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  1751
    "Modified: / 10.4.1998 / 12:25:36 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1752
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1753
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1754
listOfAllClassCategories
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1755
    "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
  1756
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1757
    |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
  1758
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  1759
    newList := Set new.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1760
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1761
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1762
	nameSpaceList := Array with:Smalltalk.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1763
	allNameSpaces := true.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1764
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1765
	nameSpaceList := self listOfNamespaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1766
	allNameSpaces := false.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1767
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1768
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1769
    nameSpaceList do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1770
	aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1771
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1772
		(aClass isNamespace not 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1773
		or:[aClass == Namespace 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1774
		or:[aClass == Smalltalk]]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1775
		    (allNameSpaces or:[aClass nameSpace == aNamespace]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1776
			cat := aClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1777
			cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1778
			    cat := '* no category *'
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
			cat ~= 'obsolete' ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1781
			    newList add:cat
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1782
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1783
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1784
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1785
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1786
	]
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1787
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1788
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  1789
    newList notEmpty ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1790
	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
  1791
    ].
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
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
    ^ newList asOrderedCollection sort.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  1794
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  1795
    "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
  1796
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1797
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1798
renameCurrentClassCategoryTo:aString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1799
    "helper - do the rename"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1800
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1801
    |any categories|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1802
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1803
    currentClassCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1804
	any := false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1805
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1806
	self allClassesInSelectedNamespacesDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1807
	    aClass category = currentClassCategory ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1808
		aClass category:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1809
		any := true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1810
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1811
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1812
	any ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1813
	    categories := classCategoryListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1814
	    categories remove:currentClassCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1815
	    categories add:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1816
	    categories sort.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1817
	    classCategoryListView setContents:categories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1818
	    currentClassCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1819
	    classCategoryListView setSelectElement:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1820
	] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1821
	    currentClassCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1822
	    self updateClassCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1823
	    self updateClassListWithScroll:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1824
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1825
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1826
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  1827
    "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
  1828
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1829
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1830
switchToAnyMethod:aSelectorString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1831
    "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
  1832
     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
  1833
     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
  1834
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1835
    |classes sel box theClassName|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1836
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1837
    classes := OrderedCollection new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1838
    aSelectorString knownAsSymbol ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1839
	sel := aSelectorString asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1840
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1841
	Smalltalk allClassesDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1842
	    (aClass includesSelector:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1843
		classes add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1844
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1845
	    (aClass class includesSelector:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1846
		classes add:aClass class.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1847
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1848
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1849
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1850
    classes size == 0 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1851
	SystemBrowser showNoneFound.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1852
	^ self
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1853
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1854
    classes size > 1 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1855
	box := ListSelectionBox 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1856
		    title:(resources string:'#%1\\in which class ?' with:aSelectorString) withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1857
	box label:'find method'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1858
	box okText:(resources string:'show').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1859
	box list:(classes collect:[:aClass | aClass name]) asSortedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1860
	box action:[:aString | theClassName := aString].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1861
	box entryCompletionBlock:[:contents |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1862
	    |s l what m|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1863
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1864
	    s := contents withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1865
	    l := classes select:[:cls | cls name startsWith:s].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1866
	    l size > 0 ifTrue:[    
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1867
		box list:(l collect:[:aClass | aClass name]) asSortedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1868
		box contents:l first name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1869
		l size ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1870
		    self beep
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
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1874
	box showAtPointer.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1875
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1876
	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
  1877
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1878
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1879
    theClassName notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1880
	self switchToClassNamed:theClassName. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1881
	self updateMethodCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1882
	self switchToMethodNamed:aSelectorString.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1883
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1884
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1885
    "Modified: 1.9.1995 / 01:39:58 / claus"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  1886
    "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
  1887
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1888
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  1889
updateClassCategoryList
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  1890
    self updateClassCategoryListWithScroll:true.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  1891
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  1892
    "Modified: 8.1.1997 / 10:58:06 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1893
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1894
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1895
updateClassCategoryListWithScroll:scroll
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1896
    |oldClassCategory oldClass oldMethodCategory oldMethod
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1897
     oldSelector newCategoryList|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1898
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1899
    classMethodListView notNil ifTrue:[ ^ self ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1900
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1901
    oldClassCategory := currentClassCategory.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1902
    oldClass := currentClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1903
    oldMethodCategory := currentMethodCategory.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1904
    oldMethod := currentMethod.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1905
    oldMethod notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1906
	oldSelector := currentSelector
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1907
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1908
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1909
    classCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1910
	newCategoryList := self listOfAllClassCategories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1911
	newCategoryList = classCategoryListView list ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1912
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1913
		classCategoryListView contents:newCategoryList
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1914
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1915
		classCategoryListView setContents:newCategoryList
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1916
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1917
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1918
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1919
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1920
    oldClassCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1921
	classCategoryListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1922
	    classCategoryListView setSelectElement:oldClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1923
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1924
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1925
    classListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1926
	oldClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1927
	    classListView setSelectElement:(oldClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1928
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1929
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1930
    oldMethodCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1931
	methodCategoryListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1932
	    methodCategoryListView setSelectElement:oldMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1933
	].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1934
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  1935
    oldSelector notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1936
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1937
	    methodListView setSelectElement:oldSelector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  1938
	].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1939
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1940
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  1941
    "Modified: 26.5.1996 / 15:04:25 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1942
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  1943
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1944
!BrowserView methodsFor:'class history'!
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1945
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1946
addToClassHistory: aHistoryEntry
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1947
    "adds aHistoryEntry to the class history; aHistoryEntry consists of the class name and the selector name"
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1948
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1949
    ClassHistory remove: (ClassHistory detect: [:histEntry| (histEntry upTo: $ ) = (aHistoryEntry upTo: $ )] ifNone: nil) ifAbsent: nil.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1950
    ClassHistory addFirst: aHistoryEntry.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1951
    [ClassHistory size > self class classHistoryMaxSize] whileTrue: [ClassHistory removeLast]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1952
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1953
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1954
!
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1955
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1956
checkClassHistory
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1957
    "checks the class history on non-existing classes"
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1958
1529
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  1959
    ClassHistory reverseDo:
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1960
    [:histEntry|
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1961
        (Smalltalk at: (histEntry upTo: $ ) asSymbol) isNil
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1962
        ifTrue:
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1963
        [
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1964
            ClassHistory remove: histEntry
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1965
        ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1966
    ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1967
!
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1968
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1969
classHistoryMenu
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1970
    "returns a popup menu containing the history of the classes"
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1971
1528
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1972
    |labels selectors args|
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1973
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1974
    self checkClassHistory.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1975
1529
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  1976
    ClassHistory isEmpty
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1977
    ifFalse: 
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1978
    [
1528
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1979
        labels := ClassHistory collect: [:clsName| clsName upTo: $ ].
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1980
        labels add: '-';add:'empty history'.
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1981
        selectors := Array new: ClassHistory size.
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1982
        selectors atAllPut: #loadFromMessage:.
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1983
        selectors := selectors asOrderedCollection.
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1984
        selectors add: nil; add:#emptyClassHistory.
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1985
        args := ClassHistory copy.
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1986
        args add: nil; add: nil.
1529
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  1987
        ^PopUpMenu 
1528
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1988
            labels:labels
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1989
            selectors:selectors
c9e0c25f38dd no complicated cascades for the stc
tz
parents: 1524
diff changeset
  1990
            args:args
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1991
            receiver:self.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1992
    ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1993
    ifTrue: 
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1994
    [
1529
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  1995
        ^PopUpMenu 
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1996
            labels:#('empty history')
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1997
            selectors:nil
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1998
            args:nil
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  1999
            receiver:self.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2000
    ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2001
!
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2002
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2003
emptyClassHistory
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2004
    "removes all class history entries"
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2005
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2006
    ClassHistory removeAll
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2007
!
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2008
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2009
loadFromMessage: aMessage
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2010
    "switch to the class and selector by evaluating aMessage"
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2011
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2012
    |selector|
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2013
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2014
    self switchToClassNamed: (aMessage upTo: $ ).
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2015
    self instanceProtocol:   (aMessage includesString: ' class ') not.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2016
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2017
    (actualClass implements: (selector := (aMessage copy reverse upTo: $ ) reverse asSymbol))
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2018
    ifTrue:
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2019
    [
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2020
        self switchToMethodNamed: selector
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2021
    ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2022
! !
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  2023
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2024
!BrowserView methodsFor:'class list menu'!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2025
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2026
classClassInstVars
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2027
    "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
  2028
     for a class-instvar-definition change"
187
781f0c88e196 compare revision added
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
  2029
781f0c88e196 compare revision added
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
  2030
    self doClassMenu:[:currentClass |
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2031
        |s|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2032
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2033
        s := WriteStream on:(String new).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2034
        currentClass fileOutClassInstVarDefinitionOn:s.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2035
        codeView contents:(s contents).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2036
        codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2037
        codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2038
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2039
        codeView acceptAction:[:theCode |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2040
            codeView cursor:Cursor execute.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2041
            Object abortSignal catch:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2042
                Class nameSpaceQuerySignal answer:Smalltalk
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2043
                do:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2044
                    Compiler evaluate:theCode asString notifying:codeView compile:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2045
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2046
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2047
                codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2048
                codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2049
                self normalLabel.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2050
                self updateClassList.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2051
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2052
            codeView cursor:Cursor normal.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2053
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2054
        codeView explainAction:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2055
        methodListView notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2056
            methodListView setSelection:nil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2057
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2058
        aspect := #classInstVars.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2059
        self normalLabel
187
781f0c88e196 compare revision added
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
  2060
    ]
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  2061
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2062
    "Modified: / 31.3.1998 / 23:37:34 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2063
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2064
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2065
classComment
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2066
    "show the classes comment in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2067
     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
  2068
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2069
    self classShowFrom:#comment 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2070
		   set:#comment: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2071
		aspect:#comment 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2072
	       default:nil
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2073
!
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2074
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2075
classDefinition
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2076
    "show class definition in View and setup accept-action for
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2077
     a class-definition change.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2078
     Extract documentation either from a documentation method or
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2079
     from the comment - not a biggy, but beginners will like
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2080
     it when exploring the system."
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2081
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2082
    self doClassMenu:[:currentClass |
1541
dfba9ea7c221 also color classDefinition.
Claus Gittinger <cg@exept.de>
parents: 1540
diff changeset
  2083
        |m s aStream isComment src|
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2084
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2085
        aStream := TextStream on:(String new:200).
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2086
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2087
        "/
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2088
        "/ 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
  2089
        "/ and prefer short names.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2090
        "/
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2091
        currentClass 
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2092
            basicFileOutDefinitionOn:aStream 
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2093
            withNameSpace:true.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2094
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2095
        currentClass isLoaded ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2096
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2097
             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
  2098
            "
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2099
            m := currentClass class compiledMethodAt:#documentation.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2100
            m notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2101
                s := m comment.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2102
                isComment := false.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2103
            ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2104
                "try comment"
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2105
                s := currentClass comment.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2106
                s isString ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2107
                    s isEmpty ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2108
                        s := nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2109
                    ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2110
                        (s includes:$") ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2111
                            s := s copy replaceAll:$" with:$'.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2112
                        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2113
                        isComment := true
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2114
                    ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2115
                ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2116
                    "/ class redefines comment ?
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2117
                    s := nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2118
                ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2119
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2120
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2121
        aStream cr; cr; cr; cr; cr.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2122
        aStream emphasis:(self commentEmphasis).
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2123
        s isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2124
            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
  2125
        ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2126
            aStream nextPut:$" ; cr; nextPutLine:' Documentation:'.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2127
            aStream cr; nextPutLine:s; cr.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2128
            aStream nextPutLine:' Notice: '.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2129
            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
  2130
            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
  2131
            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
  2132
            aStream nextPutAll:'   To change the '.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2133
            aStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation']).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2134
            aStream nextPutAll:', switch to the '.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2135
            aStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation method']).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2136
            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
  2137
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2138
        aStream nextPut:$".
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2139
        aStream emphasis:nil.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2140
1541
dfba9ea7c221 also color classDefinition.
Claus Gittinger <cg@exept.de>
parents: 1540
diff changeset
  2141
        src := aStream contents.
dfba9ea7c221 also color classDefinition.
Claus Gittinger <cg@exept.de>
parents: 1540
diff changeset
  2142
        src := SyntaxHighlighter formatExpression:src in:nil.
dfba9ea7c221 also color classDefinition.
Claus Gittinger <cg@exept.de>
parents: 1540
diff changeset
  2143
dfba9ea7c221 also color classDefinition.
Claus Gittinger <cg@exept.de>
parents: 1540
diff changeset
  2144
        codeView contents:src.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2145
        codeView modified:false.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2146
        codeModified := false.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2147
        codeView acceptAction:[:theCode |
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2148
            |ns|
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2149
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2150
            currentClass notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2151
                ns := currentClass nameSpace
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2152
            ] ifFalse:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2153
                ns := nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2154
            ].
953
5460c08843e5 provide the current classes nameSpace
Claus Gittinger <cg@exept.de>
parents: 946
diff changeset
  2155
        
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2156
            codeView cursor:Cursor execute.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2157
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2158
            Class nameSpaceQuerySignal handle:[:ex |
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2159
                ns isNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2160
                    ex reject
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2161
                ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2162
                ex proceedWith:ns
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2163
            ] do:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2164
                Object abortSignal catch:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2165
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2166
                    Class nameSpaceQuerySignal answer:Smalltalk
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2167
                    do:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2168
                        (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
  2169
                        isBehavior ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2170
                            codeView modified:false.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2171
                            codeModified := false.
1344
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2172
                            self classCategoryUpdate.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2173
                            self updateClassListWithScroll:false.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2174
                        ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2175
                    ]
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2176
                ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2177
            ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2178
            codeView cursor:Cursor normal.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2179
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2180
        codeView explainAction:nil.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2181
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2182
        methodListView notNil ifTrue:[
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2183
            methodListView setSelection:nil
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2184
        ].
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2185
        aspect := #definition.
b85865124251 added fileOutAs in class category menu (for tz)
Claus Gittinger <cg@exept.de>
parents: 1342
diff changeset
  2186
        self normalLabel
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2187
    ]
371
f28c97e821c4 handle comments with d'quotes when showing classes definition
Claus Gittinger <cg@exept.de>
parents: 369
diff changeset
  2188
1541
dfba9ea7c221 also color classDefinition.
Claus Gittinger <cg@exept.de>
parents: 1540
diff changeset
  2189
    "Modified: / 9.4.1998 / 17:00:08 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2190
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2191
546
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2192
classDocumentation
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2193
    "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
  2194
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2195
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2196
	Autoload autoloadFailedSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2197
	    self warn:'autoload failed.
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2198
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2199
Check your source directory and/or 
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2200
the abbreviation file for the classes (correct) shortened name.'.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2201
	    ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2202
	] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2203
	    |text v|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2204
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2205
	    text := currentClass htmlDocumentation.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2206
	    text notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2207
		v := HTMLDocumentView
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2208
			openFullOnText:text 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2209
			inDirectory:(Smalltalk getSystemFileName:'doc/online/english/classDoc').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2210
		v nameSpaceForExecution:(currentClass nameSpace).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2211
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2212
	]
546
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2213
    ]
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2214
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2215
    "Created: 18.5.1996 / 12:12:20 / cg"
1188
3805f78caf95 documentationViews currentDirectory ...
Claus Gittinger <cg@exept.de>
parents: 1186
diff changeset
  2216
    "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
  2217
!
d41abf9483e2 added doc-view-open in class menu
Claus Gittinger <cg@exept.de>
parents: 543
diff changeset
  2218
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2219
classDocumentationAs
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2220
    "as for a fileName & save a classes documentation html doc into it"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2221
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2222
    |fileBox dir saveName|
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2223
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2224
    fileBox := FileSelectionBox
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2225
                    title:(resources string:'save HTML doc for %1 as:' with:currentClass name)
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2226
                    okText:(resources string:'save')
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2227
                    abortText:(resources string:'cancel')
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2228
                    action:[:fileName | saveName := fileName].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2229
    fileBox initialText:((Smalltalk fileNameForClass:currentClass) , '.html').
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2230
    dir := FileSelectionBox lastFileSelectionDirectory.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2231
    dir notNil ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2232
        fileBox directory:dir.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2233
    ].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2234
    fileBox showAtPointer.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2235
    fileBox destroy.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2236
    saveName isNil ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2237
        ^ self
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2238
    ].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2239
    saveName isEmpty ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2240
        self warn:'bad name given'.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2241
        ^ self
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2242
    ].
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2243
    FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2244
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2245
    self classDocumentationToFile:saveName
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2246
!
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2247
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2248
classDocumentationToFile:aFilename
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2249
    "save a classes documentation html doc into a file"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2250
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2251
    self doClassMenu:[:currentClass |
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2252
        Autoload autoloadFailedSignal handle:[:ex |
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2253
            self warn:'autoload failed.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2254
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2255
Check your source directory and/or 
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2256
the abbreviation file for the classes (correct) shortened name.'.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2257
            ex return.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2258
        ] do:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2259
            |text v f|
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2260
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2261
            text := currentClass htmlDocumentation.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2262
            text notNil ifTrue:[
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2263
                f := aFilename asFilename writeStream.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2264
                f nextPutAll:text asString.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2265
                f close.
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2266
            ]
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2267
        ]
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2268
    ]
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2269
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2270
    "Created: 18.5.1996 / 12:12:20 / cg"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2271
    "Modified: 17.6.1997 / 13:32:40 / cg"
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2272
!
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2273
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2274
classFileOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2275
    "fileOut the current class.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2276
     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
  2277
     warn if any)"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2278
1139
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2279
    self classFileOutAsk:false
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2280
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2281
    "Modified: 16.4.1997 / 20:55:13 / cg"
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2282
!
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2283
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2284
classFileOutAs
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2285
    "fileOut the current class, asking for a filename."
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2286
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2287
    self classFileOutAsk:true
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2288
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2289
    "Modified: 16.4.1997 / 20:55:31 / cg"
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2290
!
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2291
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2292
classFileOutAsk:ask
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2293
    "fileOut the current class, possibly asking for a filename.
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2294
     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
  2295
     warn if any)"
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2296
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2297
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2298
	|msg fileBox saveName dir|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2299
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2300
	currentClass isPrivate ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2301
	    self warn:'You must fileOut the owning class: ' , currentClass owningClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2302
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2303
	    ask ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2304
		fileBox := FileSelectionBox
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2305
				title:(resources string:'fileOut %1 as:' with:currentClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2306
				okText:(resources string:'fileOut')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2307
				abortText:(resources string:'cancel')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2308
				action:[:fileName | saveName := fileName].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2309
		fileBox initialText:((Smalltalk fileNameForClass:currentClass) , '.st').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2310
		dir := FileSelectionBox lastFileSelectionDirectory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2311
		dir notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2312
		    fileBox directory:dir.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2313
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2314
		fileBox showAtPointer.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2315
		fileBox destroy.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2316
		saveName isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2317
		    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2318
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2319
		saveName isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2320
		    self warn:'bad name given'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2321
		    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2322
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2323
		FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2324
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2325
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2326
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2327
	    self busyLabel:'saving %1' with:currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2328
	    Class fileOutErrorSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2329
		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
  2330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2331
		ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2332
	    ] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2333
		saveName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2334
		    currentClass fileOutAs:saveName.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2335
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2336
		    currentClass fileOut.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2337
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2338
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2339
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2340
	self normalLabel.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2341
    ]
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
  2342
1139
746f9459e234 added 'fileOut as' menu item
Claus Gittinger <cg@exept.de>
parents: 1137
diff changeset
  2343
    "Created: 16.4.1997 / 20:55:01 / cg"
1313
a287a275aaef remember last 'fileout as...' directory.
Claus Gittinger <cg@exept.de>
parents: 1308
diff changeset
  2344
    "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
  2345
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2346
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2347
classFileOutBinary
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2348
    "fileOut the current class as binary bytecode."
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2349
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2350
    |mode|
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2351
337
da49a43210e8 added cancel to fileOutBinary sourceMode-query
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  2352
    mode := Dialog choose:(resources string:'save including sources ?')
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2353
		   labels:(resources array:#('cancel' 'discard' 'by file reference' 'include source'))
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2354
		   values:#(nil #discard #reference #keep)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2355
		   default:#keep.
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2356
337
da49a43210e8 added cancel to fileOutBinary sourceMode-query
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  2357
    mode isNil ifTrue:[^ self].   "/ cancelled
da49a43210e8 added cancel to fileOutBinary sourceMode-query
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  2358
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2359
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2360
	|msg|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2361
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2362
	currentClass isPrivate ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2363
	    self warn:'You must fileOut the owning class: ' , currentClass owningClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2364
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2365
	    self busyLabel:'saving binary of %1' with:currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2366
	    Class fileOutErrorSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2367
		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
  2368
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2369
		ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2370
	    ] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2371
		currentClass binaryFileOutWithSourceMode:mode.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2372
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2373
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2374
	self normalLabel.
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2375
    ]
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2376
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2377
    "Created: 24.1.1996 / 21:11:03 / cg"
762
754eee5d2bdb more stuff for private classes
Claus Gittinger <cg@exept.de>
parents: 759
diff changeset
  2378
    "Modified: 14.10.1996 / 20:12:46 / cg"
336
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2379
!
94bcf2e93ad7 added binaryFileOut
Claus Gittinger <cg@exept.de>
parents: 333
diff changeset
  2380
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2381
classHierarchy
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2382
    "show current classes hierarchy in codeView"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2383
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2384
    self doClassMenu:[:currentClass |
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2385
        |aStream|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2386
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2387
        aStream := WriteStream on:(String new:200).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2388
        actualClass printHierarchyOn:aStream.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2389
        codeView contents:(aStream contents).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2390
        codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2391
        codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2392
        codeView acceptAction:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2393
        codeView explainAction:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2394
        methodListView notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2395
            methodListView setSelection:nil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2396
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2397
        aspect := #hierarchy. 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2398
        self normalLabel
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2399
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  2400
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2401
    "Modified: / 31.3.1998 / 23:37:54 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2402
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2403
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2404
classInspect
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2405
    "inspect the current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2406
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2407
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2408
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2409
    currentClass inspect.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2410
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2411
393
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2412
classInstancesInspect
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2413
    "inspect the current classes instances"
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2414
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2415
    self checkClassSelected ifFalse:[^ self].
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2416
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2417
    currentClass allInstances inspect.
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2418
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2419
    "Created: 24.2.1996 / 16:12:14 / cg"
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2420
!
f77385d5fcb6 added insspectInstances
Claus Gittinger <cg@exept.de>
parents: 387
diff changeset
  2421
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2422
classLoad
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2423
    "load an autoloaded class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2424
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
  2425
    |nm nameShown|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2426
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2427
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2428
    nm := currentClass name.
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
  2429
    nameShown := self displayedClassNameOf:currentClass.
987
e24e45bd126a dont update while loading
Claus Gittinger <cg@exept.de>
parents: 985
diff changeset
  2430
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2431
    Autoload autoloadFailedSignal handle:[:ex |
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2432
        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
  2433
1313
a287a275aaef remember last 'fileout as...' directory.
Claus Gittinger <cg@exept.de>
parents: 1308
diff changeset
  2434
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
  2435
and/or the abbreviation file for its (correct) shortened name.') 
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2436
                with:nm with:(Smalltalk fileNameForClass:currentClass).
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2437
        ex return.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2438
    ] do:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2439
        self withBusyCursorDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2440
            self busyLabel:'loading %1 ...' with:currentClass name.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2441
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2442
            lockUpdates := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2443
            [
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2444
                currentClass autoload.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2445
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2446
                currentClass := actualClass := nil.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2447
                "/ reselect the current class
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2448
                showInstance ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2449
                    nameShown := nameShown , ' class'
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2450
                ].
1534
732894b5cf2a update codeView after autoload
Claus Gittinger <cg@exept.de>
parents: 1529
diff changeset
  2451
                self switchToClassNamed:nameShown.
1540
227095c5d657 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1539
diff changeset
  2452
                self classSelectionChanged.
227095c5d657 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1539
diff changeset
  2453
"/                self classDefinition
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2454
            ] valueNowOrOnUnwindDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2455
                lockUpdates := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2456
                self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2457
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  2458
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2459
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2460
1540
227095c5d657 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1539
diff changeset
  2461
    "Modified: / 9.4.1998 / 13:58:52 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2462
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2463
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2464
classMakePrivate
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2465
    "change a class from public to private;
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2466
     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
  2467
     before doing this."
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2468
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2469
    |ownerName owner sel newClass|
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2470
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2471
    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
  2472
    ownerName size == 0 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2473
	"/ cancelled
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2474
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2475
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2476
    owner := Smalltalk classNamed:ownerName.
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2477
    owner isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2478
	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
  2479
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2480
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2481
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2482
    (owner privateClassesAt:currentClass name) notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2483
	self warn:(resources 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2484
			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
  2485
			with:currentClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2486
			with:ownerName)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2487
		    withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2488
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2489
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2490
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2491
    currentClass makePrivateIn:owner
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2492
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2493
    "Modified: 3.7.1997 / 13:26:16 / cg"
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2494
!
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2495
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2496
classMakePublic
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2497
    "change a class from private to public;
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2498
     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
  2499
     before doing this."
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2500
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2501
    (Smalltalk classNamed:(currentClass nameWithoutPrefix)) notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2502
	self warn:(resources
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2503
			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
  2504
			with:currentClass nameWithoutPrefix) withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2505
	^ self
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2506
    ].
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2507
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2508
    currentClass makePublic
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2509
1232
0fa4ace4c46e fixed check for existing class in make-public;
Claus Gittinger <cg@exept.de>
parents: 1230
diff changeset
  2510
    "Modified: 3.7.1997 / 13:26:21 / cg"
1195
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2511
!
4ace0b600739 added make-class-private/public
Claus Gittinger <cg@exept.de>
parents: 1194
diff changeset
  2512
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2513
classMenu
926
a7c7814c9426 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 925
diff changeset
  2514
    "sent by classListView to ask for the menu"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2515
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2516
    <resource: #keyboard ( #Cmdl #Cmdn #Cmdd) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2517
    <resource: #programMenu >
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2518
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2519
    |specialMenu labels selectors shorties m newClassMenu spawnMenu idx|
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2520
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2521
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2522
        labels :=  #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2523
                       'fileIn new from repository ...' 
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
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2526
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2527
                       classLoadNewRevision
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2528
                      ).
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2529
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2530
        labels :=  #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2531
                       'fileOut binary'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2532
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2533
                       'inspect class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2534
                       'inspect instances'
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
                       'make private class ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2537
                       'make public class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2538
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2539
                       'primitive definitions'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2540
                       'primitive variables'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2541
                       'primitive functions'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2542
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2543
                       'source container ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2544
                       'remove source container ...'
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
                       'revision log' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2547
                       'compare with repository ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2548
                       '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2549
                       'check into source repository'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2550
                       'fileIn from repository ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2551
                    ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2552
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2553
                       classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2554
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2555
                       classInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2556
                       classInstancesInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2557
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2558
                       classMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2559
                       classMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2560
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2561
                       classPrimitiveDefinitions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2562
                       classPrimitiveVariables
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2563
                       classPrimitiveFunctions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2564
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2565
                       classModifyContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2566
                       classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2567
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2568
                       classRevisionInfo
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2569
                       classCompareWithRepository
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2570
                       nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2571
                       classCheckin
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2572
                       classLoadRevision
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2573
                      ).
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2574
    ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2575
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2576
    specialMenu := PopUpMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2577
                        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2578
                        selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2579
                        receiver:self.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2580
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2581
    currentClass notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2582
        currentClass sourceCodeManager isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2583
            specialMenu disableAll:#(classModifyContainer classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2584
                                     classRevisionInfo 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2585
                                     classLoadRevision classCheckin 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2586
                                     classCompareWithRepository).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2587
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2588
        currentClass isPrivate ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2589
            specialMenu disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2590
                                     classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2591
                                     classMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2592
                                     classModifyContainer 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2593
                                     classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2594
                                     classRevisionInfo 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2595
                                     classLoadRevision classCheckin
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2596
                                     classCompareWithRepository
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2597
                                     classPrimitiveDefinitions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2598
                                     classPrimitiveVariables
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2599
                                     classPrimitiveFunctions).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2600
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2601
            specialMenu disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2602
                                     classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2603
                                     classMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2604
                                    )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2605
        ]
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  2606
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2607
        SourceCodeManager isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2608
            specialMenu disableAll:#(classLoadNewRevision)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2609
        ]
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2610
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2611
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2612
    (currentClass notNil
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2613
    and:[currentClass isLoaded not]) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2614
        specialMenu disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2615
                                     classInstancesInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2616
                                     classFileOutBinary
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2617
                                     classMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2618
                                     classMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2619
                                     classModifyContainer 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2620
                                     classRemoveContainer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2621
                                     classRevisionInfo 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2622
                                     classLoadRevision 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2623
                                     classCheckin
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2624
                                     classCompareWithRepository
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2625
                                     classPrimitiveDefinitions
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2626
                                     classPrimitiveVariables
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2627
                                     classPrimitiveFunctions).
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2628
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  2629
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2630
    device ctrlDown ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2631
        ^ specialMenu
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2632
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2633
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2634
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2635
        labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2636
                       'new class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2637
                     ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2638
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2639
                       classNewClass
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2640
                     ).
246
9f1583be2b81 ask class for its SourceCodeManager
Claus Gittinger <cg@exept.de>
parents: 244
diff changeset
  2641
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2642
        currentClass isLoaded ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2643
            labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2644
                           'documentation'
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2645
                           'save documentation as ...'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2646
                           '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2647
                           'class refs'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2648
                           '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2649
                           'new class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2650
                           '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2651
                           'load'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2652
                         ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2653
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2654
                           classDocumentation
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2655
                           classDocumentationAs
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2656
                           nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2657
                           classRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2658
                           nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2659
                           classNewClass
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2660
                           nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2661
                           classLoad
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2662
                         ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2663
        ] ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2664
            fullProtocol ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2665
                labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2666
                               'hierarchy' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2667
                               'definition' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2668
                               'documentation'
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2669
                               'save documentation as ...'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2670
                               'comment' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2671
                               'class instvars' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2672
                             ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2673
                selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2674
                               classHierarchy
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2675
                               classDefinition
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2676
                               classDocumentation
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2677
                               classDocumentationAs
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2678
                               classComment
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2679
                               classClassInstVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2680
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2681
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2682
                labels :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2683
                               'fileOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2684
                               'fileOut as ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2685
                               'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2686
                               'printOut protocol'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2687
                             " 'printOut full protocol' "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2688
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2689
                               'spawn ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2690
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2691
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2692
                selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2693
                               classFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2694
                               classFileOutAs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2695
                               classPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2696
                               classPrintOutProtocol
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2697
                            "  classPrintOutFullProtocol "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2698
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2699
                               spawnMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2700
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2701
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2702
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2703
                spawnMenu := PopUpMenu 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2704
                            labels:(resources array:#('class' 'full protocol' 'hierarchy' 'subclasses'))
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2705
                            selectors:#(classSpawn classSpawnFullProtocol classSpawnHierarchy classSpawnSubclasses).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2706
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2707
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2708
                fullClass ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2709
                    labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2710
                               'hierarchy' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2711
                               'definition' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2712
                               'documentation'
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2713
                               'save documentation as ...'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2714
                               'comment' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2715
                               'class instvars' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2716
               "/              'protocols' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2717
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2718
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2719
                    selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2720
                               classHierarchy
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2721
                               classDefinition
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2722
                               classDocumentation
1407
f6e8c04acff0 added save-documentation as ... menu item
dq
parents: 1391
diff changeset
  2723
                               classDocumentationAs
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2724
                               classComment
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2725
                               classClassInstVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2726
               "/              classProtocols 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2727
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2728
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2729
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2730
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2731
                labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2732
                               'class refs'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2733
                               '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2734
                               'new ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2735
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2736
                selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2737
                               classRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2738
                               nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2739
                               newClassMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2740
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2741
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2742
                newClassMenu := PopUpMenu 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2743
                            labels:(resources array:#('class' 'subclass' 'private class'))
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2744
                            selectors:#(classNewClass classNewSubclass classNewPrivateClass).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2745
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2746
                labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2747
                               'rename ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2748
                               'remove'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2749
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2750
                selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2751
                               classRename
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2752
                               classRemove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2753
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2754
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2755
                currentClass wasAutoloaded ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2756
                    labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2757
                               'unload'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2758
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2759
                    selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2760
                               classUnload
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2761
                              ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2762
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2763
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2764
        ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2765
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2766
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  2767
    shorties := (Array new:labels size) , #(nil #'Ctrl').
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2768
    (idx := selectors identityIndexOf:#classNewClass) ~~ 0 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2769
        shorties at:idx put:#Cmdn
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2770
    ].
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2771
    (idx := selectors identityIndexOf:#classLoad) ~~ 0 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2772
        shorties at:idx put:#Cmdl
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2773
    ].
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  2774
    (idx := selectors identityIndexOf:#classDocumentation) ~~ 0 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2775
        shorties at:idx put:#Cmdd
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  2776
    ].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  2777
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2778
    labels := labels , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2779
                          '='
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2780
                          'others'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2781
                        ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2782
    selectors := selectors , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2783
                          nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2784
                          otherMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2785
                        ).
180
b1dfe27837fa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  2786
    m := PopUpMenu 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2787
            labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2788
            selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2789
            accelerators:shorties.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2790
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2791
    newClassMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2792
        m subMenuAt:#newClassMenu put:newClassMenu.
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2793
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2794
    spawnMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2795
        m subMenuAt:#spawnMenu put:spawnMenu.
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  2796
    ].
768
c74bce2106ae checkin from browser
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
  2797
c74bce2106ae checkin from browser
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
  2798
    (currentClass notNil
c74bce2106ae checkin from browser
Claus Gittinger <cg@exept.de>
parents: 767
diff changeset
  2799
    and:[currentClass isPrivate]) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2800
        m disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2801
                       classFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2802
                      )
767
f92a7f3dc2aa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 766
diff changeset
  2803
    ].
f92a7f3dc2aa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 766
diff changeset
  2804
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  2805
    m subMenuAt:#otherMenu put:specialMenu.
180
b1dfe27837fa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  2806
    ^ m
b1dfe27837fa *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
  2807
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  2808
    "Modified: / 27.10.1997 / 20:45:56 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2809
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2810
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2811
classNewClass
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2812
    "create a class-definition prototype in codeview"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2813
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2814
    |theClass cls|
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2815
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2816
    theClass := Object.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2817
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2818
	(cls := currentClass superclass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2819
	    theClass := cls 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2820
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2821
    ].
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  2822
    self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2823
	classClassDefinitionTemplateFor:theClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2824
	in:currentClassCategory 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2825
	namespace:false 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2826
	private:false.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2827
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2828
    aspect := nil.
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2829
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2830
    "Modified: 4.1.1997 / 14:52:16 / cg"
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2831
!
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2832
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2833
classNewPrivateClass
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2834
    "create a class-definition prototype in codeview"
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2835
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  2836
    self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2837
	classClassDefinitionTemplateFor:Object 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2838
	in:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2839
	namespace:false 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2840
	private:true.
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2841
    aspect := nil.
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2842
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2843
    "Created: 11.10.1996 / 16:01:20 / cg"
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2844
    "Modified: 4.1.1997 / 14:51:49 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2845
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2846
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2847
classNewSubclass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2848
    "create a subclass-definition prototype in codeview"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2849
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2850
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2851
	self classClassDefinitionTemplateFor:currentClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2852
					  in:(currentClass category)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2853
					  namespace:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2854
					  private:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2855
	aspect := nil
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2856
    ]
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  2857
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  2858
    "Modified: 4.1.1997 / 14:51:44 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2859
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2860
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2861
classPrimitiveDefinitions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2862
    "show the classes primitiveDefinition in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2863
     Also, set accept action to change it."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2864
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2865
    self classShowFrom:#primitiveDefinitionsString 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2866
		   set:#primitiveDefinitions: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2867
		aspect:#primitiveDefinitions 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2868
	       default:'%{
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2869
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2870
/*
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2871
 * includes, defines, structure definitions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2872
 * and typedefs come here.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2873
 */
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2874
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2875
%}'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2876
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2877
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2878
classPrimitiveFunctions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2879
    "show the classes primitiveFunctions in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2880
     Also, set accept action to change it."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2881
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2882
    self classShowFrom:#primitiveFunctionsString 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2883
		   set:#primitiveFunctions: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2884
		aspect:#primitiveFunctions 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2885
	       default:'%{
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2886
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2887
/* 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2888
 * any local C (helper) functions
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2889
 * come here (please, define as static)
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2890
 */
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2891
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2892
%}'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2893
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2894
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2895
classPrimitiveVariables
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2896
    "show the classes primitiveVariables in the codeView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2897
     Also, set accept action to change it."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2898
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2899
    self classShowFrom:#primitiveVariablesString 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2900
		   set:#primitiveVariables: 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2901
		aspect:#primitiveVariables 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2902
	       default:'%{
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2903
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2904
/* 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2905
 * any local C variables
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2906
 * come here (please, define as static)
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2907
 */
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2908
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2909
%}'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2910
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2911
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2912
classPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2913
    self classPrintOutWith:#printOutOn:
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2914
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2915
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2916
classPrintOutFullProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2917
    self classPrintOutWith:#printOutFullProtocolOn:
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2918
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2919
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2920
classPrintOutProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2921
    self classPrintOutWith:#printOutProtocolOn:
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2922
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2923
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2924
classPrintOutWith:aSelector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2925
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2926
	|printStream|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2927
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2928
	printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2929
	currentClass perform:aSelector with:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2930
	printStream close
152
d03618e99b3c show warnbox when autoload fails (instead of running into the debugger)
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
  2931
    ]
105
claus
parents: 98
diff changeset
  2932
!
claus
parents: 98
diff changeset
  2933
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2934
classProtocols
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2935
     ^ self
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2936
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2937
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2938
classRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2939
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2940
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2941
	    SystemBrowser browseReferendsOf:currentClass name asSymbol
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  2942
	]
199
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
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2945
    "Created: 23.11.1995 / 14:11:43 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  2946
    "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
  2947
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  2948
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2949
classRemove
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2950
    "user requested remove of current class and all subclasses -
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2951
     count subclasses and let user confirm removal."
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2952
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2953
    |count t box|
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2954
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  2955
    currentClass notNil ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2956
        count := currentClass allSubclasses size.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2957
        t := 'remove %1'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2958
        count ~~ 0 ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2959
           t := t , '\(with %2 subclass'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2960
           count ~~ 1 ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2961
                t := t , 'es'
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2962
           ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2963
           t := (t , ')') 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2964
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2965
        t := t , ' ?'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2966
        t := (resources string:t with:currentClass name with:count) withCRs.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2967
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2968
        box := YesNoBox 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2969
                   title:t
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2970
                   yesText:(resources at:'remove')
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2971
                   noText:(resources at:'abort').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2972
        box label:(resources string:'remove class').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2973
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2974
        box confirm ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2975
            "after querying user - do really remove current class
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2976
             and all subclasses
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2977
            "
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2978
            self doClassMenu:[:currentClass |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2979
                |didRemove|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2980
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2981
                didRemove := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2982
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2983
                "
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2984
                 query ?
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2985
                "
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2986
                currentClass allSubclassesDo:[:aSubClass |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2987
                    (CheckForInstancesWhenRemovingClasses not
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2988
                    or:[aSubClass hasInstances not
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2989
                    or:[self confirm:(resources string:'''%1'' has instances - remove anyway ?' with:aSubClass name)]])
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2990
                        ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2991
                            aSubClass removeFromSystem
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2992
                    ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2993
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2994
                (CheckForInstancesWhenRemovingClasses not
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2995
                or:[currentClass hasInstances not
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2996
                or:[self confirm:(resources string:'''%1'' has instances - remove anyway ?' with:currentClass name)]])
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2997
                    ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2998
                        didRemove := true.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  2999
                        currentClass removeFromSystem.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3000
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3001
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3002
                didRemove ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  3003
                    self changeCurrentClass:nil.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3004
                    Smalltalk changed.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3005
                    self updateClassList.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3006
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3007
                    "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
  3008
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3009
"/                    classListView numberOfLines == 0 ifTrue:[
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3010
"/                        self updateClassCategoryListWithScroll:false
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3011
"/                    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3012
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3013
                    methodCategoryListView notNil ifTrue:[methodCategoryListView contents:nil].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3014
                    methodListView notNil ifTrue:[methodListView contents:nil].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3015
                    codeView contents:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3016
                    codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3017
                    codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3018
                ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3019
            ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3020
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3021
        box destroy.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3022
    ]
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  3023
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  3024
    "Modified: / 10.4.1998 / 12:25:43 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3025
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3026
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3027
classRename
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3028
    "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
  3029
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3030
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3031
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3032
    self checkClassSelected ifFalse:[^ self].
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3033
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3034
		enterBoxTitle:(resources string:'rename %1 to:' with:currentClass name) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3035
		okText:'rename'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3036
		label:'rename class'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3037
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3038
    box initialText:(currentClass name).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3039
    box action:[:aString | self renameCurrentClassTo:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3040
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3041
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3042
    "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
  3043
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3044
107
claus
parents: 106
diff changeset
  3045
classShowFrom:getSelector set:setSelector aspect:aspectSymbol default:default
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3046
    "common helper for comment, primitive-stuff etc.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3047
     show the string returned from the classes getSelector-method,
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3048
     Set acceptaction to change it via setSelector."
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3049
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3050
    self doClassMenu:[:currentClass |
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3051
        |text|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3052
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3053
        text := currentClass perform:getSelector.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3054
        text isNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3055
            text := default
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3056
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3057
        codeView contents:text.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3058
        codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3059
        codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3060
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3061
        codeView acceptAction:[:theCode |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3062
            Object abortSignal catch:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3063
                lockUpdates := true.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3064
                currentClass perform:setSelector with:theCode asString.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3065
                codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3066
                codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3067
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3068
            lockUpdates := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3069
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3070
        codeView explainAction:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3071
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3072
        methodListView notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3073
            methodListView setSelection:nil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3074
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3075
        aspect := aspectSymbol.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3076
        self normalLabel
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3077
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  3078
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  3079
    "Modified: / 31.3.1998 / 23:38:36 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3080
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3081
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3082
classSpawn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3083
    "create a new SystemBrowser browsing current class,
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3084
     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
  3085
     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
  3086
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3087
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3088
	|browser|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3089
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3090
	cls isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3091
	    self listOfNamespaces do:[:aNamespace |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3092
		aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3093
		    aClass class == cls ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3094
			browser := SystemBrowser browseClass:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3095
			browser instanceProtocol:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3096
			sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3097
			    browser switchToMethodNamed:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3098
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3099
			^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3100
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3101
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3102
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3103
	    self warn:'oops, no class for this metaclass'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3104
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3105
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3106
	browser := SystemBrowser browseClass:cls. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3107
	cls hasMethods ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3108
	    browser instanceProtocol:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3109
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3110
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3111
	    browser switchToMethodNamed:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3112
	].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3113
    ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3114
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3115
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3116
     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
  3117
     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
  3118
    "
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  3119
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  3120
    "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
  3121
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3122
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3123
classSpawnFullProtocol
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3124
    "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
  3125
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3126
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3127
	SystemBrowser browseFullClassProtocol:cls 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3128
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3129
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3130
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3131
classSpawnHierarchy
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3132
    "create a new HierarchyBrowser browsing current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3133
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3134
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3135
	SystemBrowser browseClassHierarchy:cls 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3136
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3137
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3138
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3139
classSpawnSubclasses
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3140
    "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
  3141
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3142
    self doClassMenuWithSelection:[:cls :sel |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3143
	|subs|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3144
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3145
	subs := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3146
	self classHierarchyOf:cls withAutoloaded:false do:[:aClass :lvl |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3147
	    subs add:(String new:lvl*2) , aClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3148
	].
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  3149
"/        subs := cls allSubclasses.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3150
	(subs notNil and:[subs size ~~ 0]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3151
	    SystemBrowser browseClasses:subs 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3152
				  title:('subclasses of ' , cls name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3153
				   sort:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3154
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3155
    ]
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  3156
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  3157
    "Modified: 4.1.1997 / 13:35:55 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3158
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3159
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3160
classUnload
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3161
    "unload an autoloaded class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3162
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3163
    |nm|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3164
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3165
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3166
    nm := currentClass name.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3167
    currentClass unload.
1540
227095c5d657 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1539
diff changeset
  3168
    self switchToClassNamed:nm.
227095c5d657 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1539
diff changeset
  3169
    self classSelectionChanged.
227095c5d657 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1539
diff changeset
  3170
227095c5d657 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1539
diff changeset
  3171
    "Modified: / 9.4.1998 / 13:59:07 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3172
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3173
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3174
classUses
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3175
    "a powerful tool, when trying to learn more about where
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3176
     a class is used. This one searches all uses of a class,
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3177
     and shows a list of uses - try it and like it"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3178
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  3179
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3180
	self withSearchCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3181
	    SystemBrowser browseUsesOf:currentClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3182
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3183
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3184
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3185
    "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
  3186
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3187
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3188
doClassMenuWithSelection:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3189
    "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
  3190
     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
  3191
     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
  3192
     current class."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3193
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3194
    |string words clsName cls sel isMeta|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3195
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3196
    string := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3197
    string notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3198
	self extractClassAndSelectorFromSelectionInto:[:c :s :m |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3199
	    clsName := c.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3200
	    sel := s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3201
	    isMeta := m.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3202
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3203
	clsName isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3204
	    string := string asString withoutSeparators.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3205
	    words := string asCollectionOfWords.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3206
	    words notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3207
		clsName := words first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3208
		(clsName endsWith:' class') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3209
		    isMeta := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3210
		    clsName := clsName copyWithoutLast:6 "copyTo:(clsName size - 5)"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3211
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3212
		    isMeta := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3213
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3214
		sel := Parser selectorInExpression:string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3215
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3216
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3217
	clsName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3218
	    (cls := Smalltalk classNamed:clsName) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3219
		isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3220
		    cls := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3221
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3222
		self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3223
		    aBlock value:cls value:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3224
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3225
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3226
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3227
		self warn:'no class named: %1 - spawning current' with:clsName
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3228
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3229
	].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3230
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3231
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3232
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3233
	sel := classMethodListView selectionValue string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3234
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3235
	    sel := self selectorFromClassMethodString:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3236
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3237
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3238
    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
  3239
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  3240
    "Modified: 17.6.1996 / 16:51:49 / stefan"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  3241
    "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
  3242
! !
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3243
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3244
!BrowserView methodsFor:'class list source administration'!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  3245
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3246
classCheckin
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3247
    "check a class into the source repository"
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3248
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3249
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3250
	self warn:'cannot checkin unloaded classes.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3251
	^ 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
  3252
    ].
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3253
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3254
	self classCheckin:currentClass withLog:nil
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3255
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3256
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3257
    "Created: 23.11.1995 / 11:41:38 / cg"
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3258
    "Modified: 15.4.1996 / 17:07:07 / cg"
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3259
!
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3260
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3261
classCheckin:aClass withLog:aLogMessage
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3262
    "check a class into the source repository"
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3263
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3264
    |logMessage info mgr|
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3265
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3266
    aClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3267
	self information:'cannot checkin unloaded classes (' , aClass name , ').'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3268
	^ self.
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3269
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3270
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3271
    aLogMessage isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3272
	logMessage := self getLogMessageFor:aClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3273
	logMessage isNil ifTrue:[^ self].
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3274
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3275
	logMessage := aLogMessage
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3276
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3277
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3278
    mgr := (aClass sourceCodeManager).
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3279
    info := mgr sourceInfoOfClass:aClass.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3280
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3281
    (info isNil 
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3282
    or:[(info at:#fileName ifAbsent:nil) isNil
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3283
    or:[(info at:#module ifAbsent:nil) isNil
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3284
    or:[(info at:#directory ifAbsent:nil) isNil]]]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3285
	(self classCreateSourceContainerFor:aClass) ifFalse:[^ self]. 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3286
	^ self.
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3287
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3288
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3289
    lastSourceLogMessage := logMessage.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3290
    self busyLabel:'checking in %1' with:aClass name.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3291
    Processor activeProcess withLowerPriorityDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3292
	(mgr checkinClass:aClass logMessage:logMessage) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3293
	    self warn:'checkin failed'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3294
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3295
	aspect == #revisionInfo ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3296
	    self classListUpdate
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3297
	].
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3298
    ].
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3299
    self normalLabel.
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3300
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3301
    "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
  3302
    "Modified: 15.6.1996 / 00:22:49 / stefan"
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  3303
    "Modified: 21.12.1996 / 19:01:06 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3304
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3305
903
843c830fa921 show repositories version when comparing with newest
Claus Gittinger <cg@exept.de>
parents: 902
diff changeset
  3306
classCompareWithRepository
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3307
    "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
  3308
     with the some version found in the repository."
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3309
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3310
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3311
	self warn:'cannot compare unloaded classes.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3312
	^ 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
  3313
    ].
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3314
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3315
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3316
	|aStream comparedSource currentSource v rev revString thisRevString mgr
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3317
	 nm msg|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3318
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3319
	nm := currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3320
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3321
	rev := currentClass binaryRevision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3322
	mgr := currentClass sourceCodeManager.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3323
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3324
	msg := resources string:'compare to revision: (empty for newest)'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3325
	rev notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3326
	    msg := msg , '\\' , (resources string:'(%1 is based upon rev %2)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3327
					   with:nm with:rev)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3328
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3329
	rev := Dialog request:msg withCRs onCancel:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3331
	rev notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3332
	    rev withoutSpaces isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3333
		msg := 'extracting newest %1'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3334
		aStream := mgr getMostRecentSourceStreamForClassNamed:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3335
		revString := '(newest)'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3336
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3337
		msg := 'extracting previous %1'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3338
		aStream := mgr getSourceStreamFor:currentClass revision:rev.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3339
		revString := rev
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3340
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3341
	    self busyLabel:msg with:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3342
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3343
	    aStream isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3344
		self warn:'could not extract source from repository'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3345
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3346
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3347
	    comparedSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3348
	    aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3349
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3350
	    self busyLabel:'generating current source ...' with:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3351
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3352
	    aStream := '' writeStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3353
	    Method flushSourceStreamCache.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3354
	    currentClass fileOutOn:aStream withTimeStamp:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3355
	    currentSource := aStream contents asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3356
	    aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3357
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3358
	    self busyLabel:'comparing  ...' with:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3359
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3360
	    comparedSource = currentSource ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3361
		self information:'versions are identical'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3362
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3363
		thisRevString := currentClass revision.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3364
		thisRevString isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3365
		    thisRevString := 'no revision'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3366
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3367
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3368
		revString = '(newest)' ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3369
		    (rev := mgr newestRevisionOf:currentClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3370
			revString := '(newest is' , rev , ')'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3371
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3372
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3373
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3374
		v := DiffTextView 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3375
		    openOn:currentSource label:'current: (based on: ' , thisRevString , ')'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3376
		    and:comparedSource label:'repository: ' , revString.      
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3377
		v label:'comparing ' , nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3378
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3379
	    self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3380
	]
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3381
    ]
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3382
903
843c830fa921 show repositories version when comparing with newest
Claus Gittinger <cg@exept.de>
parents: 902
diff changeset
  3383
    "Created: 4.1.1997 / 15:48:20 / cg"
1046
e5f4d06007c6 resource strings
Claus Gittinger <cg@exept.de>
parents: 1043
diff changeset
  3384
    "Modified: 28.2.1997 / 11:44:15 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3385
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3386
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3387
classCreateSourceContainerFor:aClass
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3388
    "let user specify the source-repository values for aClass"
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3389
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
  3390
    ^ self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3391
	classDefineSourceContainerFor:aClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3392
	title:(resources string:'Repository information for %1' with:aClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3393
	text:(resources string:'CREATE_REPOSITORY' with:aClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3394
	createDirectories:true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3395
	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
  3396
479
ad4d7b705747 better checkin-each for new classes
Claus Gittinger <cg@exept.de>
parents: 474
diff changeset
  3397
    "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
  3398
!
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3399
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3400
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
  3401
    "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
  3402
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3403
    |box className
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3404
     moduleHolder packageHolder fileNameHolder
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3405
     oldModule oldPackage oldFileName
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3406
     module package fileName nameSpace nameSpacePrefix
847
6666c82b9a82 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 846
diff changeset
  3407
     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
  3408
260
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3409
    aClass isLoaded ifFalse:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3410
        self warn:'please load the class first'.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3411
        ^ 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
  3412
    ].
9b5aa1495864 dont do sourcecode stuff on autoloaded classes; interface to create new modules/packages
Claus Gittinger <cg@exept.de>
parents: 257
diff changeset
  3413
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3414
    className := aClass name.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3415
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3416
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3417
    "/ defaults, if nothing at all is known
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3418
    "/
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
  3419
    (module := lastModule) isNil ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3420
        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
  3421
    ].
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
  3422
    (package := lastPackage) isNil ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3423
        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
  3424
    ].
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3425
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3426
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3427
    "/ 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
  3428
    "/
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3429
    (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
  3430
        package isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3431
            (nm := project repositoryDirectory) isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3432
                nm := project name
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3433
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3434
            package := nm.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3435
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3436
        module isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3437
            (nm := project repositoryModule) notNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3438
                module := nm
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
        ].
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3441
    ].
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3442
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3443
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3444
    "/ 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
  3445
    "/ if so, take that as a default.
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3446
    "/
263
7b9622ce4fcc more protocol to create containers for new classes
Claus Gittinger <cg@exept.de>
parents: 261
diff changeset
  3447
    info := (mgr := aClass sourceCodeManager) sourceInfoOfClass:aClass.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3448
    info notNil ifTrue:[
1482
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3449
        module ~= lastModule ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3450
            (info includesKey:#module) ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3451
                module := (info at:#module).
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3452
            ].
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3453
        ].
1482
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3454
        package ~= lastPackage ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3455
            (info includesKey:#directory) ifTrue:[
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3456
                package := (info at:#directory).
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3457
            ].
1446
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
        fileName := mgr containerFromSourceInfo:info.
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3460
        (nameSpace := aClass nameSpace) ~~ Smalltalk ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3461
            nameSpacePrefix := nameSpace name , '::'.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3462
            (fileName startsWith:nameSpacePrefix) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3463
                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
  3464
            ]
92159db41f9a remember last package/module when checking in new classes.
Claus Gittinger <cg@exept.de>
parents: 1478
diff changeset
  3465
        ].
349
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3466
"/        (info includesKey:#fileName) ifTrue:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3467
"/            fileName := (info at:#fileName).
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3468
"/        ] ifFalse:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3469
"/            (info includesKey:#expectedFileName) ifTrue:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3470
"/                fileName := (info at:#expectedFileName).
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3471
"/            ] ifFalse:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3472
"/                (info includesKey:#classFileNameBase) ifTrue:[
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3473
"/                    fileName := (info at:#classFileNameBase) , '.st'.
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3474
"/                ]
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3475
"/            ]
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3476
"/        ]
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3477
    ].
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3478
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3479
    fileName isNil ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3480
        aClass nameSpace ~~ Smalltalk ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3481
             fileName := aClass nameWithoutPrefix , '.st'.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3482
        ] ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3483
             fileName := (Smalltalk fileNameForClass:aClass) , '.st'.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3484
        ]
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3485
    ].
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3486
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3487
    fileNameHolder := fileName asValue.
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3488
    moduleHolder := module asValue.
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3489
    packageHolder := package asValue.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3490
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3491
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3492
    "/ 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
  3493
    "/
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3494
    (mgr checkForExistingContainerInModule:module 
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3495
                                   package:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3496
                                 container:fileName) ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3497
        "/ for now - this needs more work.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3498
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3499
"/        self information:(resources 
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3500
"/                            string:'%1 is already contained in the container:
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3501
"/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3502
"/    %2 / %3 / %4'
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3503
"/                            with:className
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3504
"/                            with:module
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3505
"/                            with:package
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3506
"/                            with:fileName).
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3507
"/        ^ false.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3508
"/
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3509
        (Dialog confirm:(resources 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3510
                            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
  3511
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3512
    %2 / %3 / %4
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3513
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3514
To change it, press continue.'
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3515
                            with:className
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3516
                            with:module
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3517
                            with:package
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3518
                            with:fileName)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3519
                yesLabel:(resources string:'continue')
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3520
                noLabel:(resources string:'cancel'))
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3521
        ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3522
            ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3523
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3524
        oldModule := module.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3525
        oldPackage := package.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3526
        oldFileName := fileName
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3527
    ].
257
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3528
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3529
    "/
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3530
    "/ open a dialog for this
ae35f9ab8f11 more on source-code container creation
Claus Gittinger <cg@exept.de>
parents: 253
diff changeset
  3531
    "/
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3532
    box := DialogBox new.
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3533
    box label:title.
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3534
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3535
    component := box addTextLabel:boxText withCRs.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3536
    component adjust:#left; borderWidth:0.
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3537
    box addVerticalSpace.
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3538
    box addVerticalSpace.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3539
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3540
    y := box yPosition.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3541
    component := box addTextLabel:(resources string:'Module:').
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3542
    component width:0.4; adjust:#right.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3543
    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
  3544
    component := box addInputFieldOn:moduleHolder tabable:true.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3545
    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
  3546
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3547
    box addVerticalSpace.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3548
    y := box yPosition.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3549
    component := box addTextLabel:'Package:'.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3550
    component width:0.4; adjust:#right.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3551
    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
  3552
    component := box addInputFieldOn:packageHolder tabable:true.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3553
    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
  3554
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3555
    box addVerticalSpace.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3556
    y := box yPosition.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3557
    component := box addTextLabel:'Filename:'.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3558
    component width:0.4; adjust:#right.
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3559
    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
  3560
    component := box addInputFieldOn:fileNameHolder tabable:true.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3561
    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
  3562
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3563
    box addVerticalSpace.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3564
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3565
    (mgr checkForExistingContainerInModule:module 
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3566
                                   package:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3567
                                 container:fileName) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3568
        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
  3569
        component adjust:#left; borderWidth:0.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3570
        creatingNew := true.
349
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3571
    ] ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3572
        creatingNew := false.
339
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3573
    ].
43d8b6158ec6 checkin from browser
ah
parents: 338
diff changeset
  3574
218
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3575
    box addVerticalSpace.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3576
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3577
    box addAbortButton; addOkButton.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3578
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3579
    box showAtPointer.
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3580
22e66c597205 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 216
diff changeset
  3581
    box accepted ifTrue:[
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3582
        module := moduleHolder value withoutSpaces.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3583
        package := packageHolder value withoutSpaces.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3584
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3585
        fileName := fileNameHolder value withoutSpaces.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3586
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3587
        (fileName endsWith:',v') ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3588
            fileName := fileName copyWithoutLast:2
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3589
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3590
        (fileName endsWith:'.st') ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3591
            fileName := fileName , '.st'
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3592
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3593
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3594
        info := aClass revisionInfo.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3595
        info notNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3596
            (info includesKey:#repositoryPathName) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3597
                info := nil
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3598
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3599
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3600
        info isNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3601
            creatingNew ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3602
                (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
  3603
                         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
  3604
                    ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3605
                        ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3606
                    ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3607
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3608
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3609
            (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
  3610
                ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3611
                    ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3612
                ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3613
            aClass updateVersionMethodFor:(mgr initialRevisionStringFor:aClass 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3614
                                               inModule:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3615
                                               package:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3616
                                               container:fileName).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3617
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3618
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3619
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3620
        "/ check for the module
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3621
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3622
        (mgr checkForExistingModule:module) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3623
            (createDirs or:[creatingNew]) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3624
                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
  3625
                ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3626
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3627
            (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
  3628
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3629
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3630
            (mgr createModule:module) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3631
                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
  3632
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3633
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3634
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3635
        lastModule := module.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3636
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3637
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3638
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3639
        "/ check for the package
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3640
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3641
        (mgr checkForExistingModule:module package:package) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3642
            (createDirs or:[creatingNew]) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3643
                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
  3644
                ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3645
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3646
            (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
  3647
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3648
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3649
            (mgr createModule:module package:package) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3650
                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
  3651
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3652
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3653
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3654
        lastPackage := package.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3655
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3656
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3657
        "/ check for the container itself
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3658
        "/
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3659
        (mgr checkForExistingContainerInModule:module package:package container:fileName) ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3660
            creatingNew ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3661
                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
  3662
            ].
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3663
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3664
"/            (oldModule notNil
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3665
"/            and:[(oldModule ~= module)
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3666
"/                 or:[oldPackage ~= package
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3667
"/                 or:[oldFileName ~= fileName]]])
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3668
"/            ifFalse:[
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3669
"/                self warn:(resources string:'no change').
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3670
"/                ^ false.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3671
"/            ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3672
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3673
            (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
  3674
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3675
    %2 / %3 / %4  ?'
1446
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3676
                                with:className
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3677
                                with:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3678
                                with:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3679
                                with:fileName) withCRs) 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3680
            ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3681
                ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3682
            ].  
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3683
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3684
            aClass updateVersionMethodFor:'$' , 'Header' , '$'. "/ concatenated to avoid RCS-expansion
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3685
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3686
            oldFileName notNil ifTrue:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3687
                msg := ('forced checkin / source container change from ' , oldFileName).
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3688
            ] ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3689
                msg := 'defined source container'
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3690
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3691
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3692
            (mgr
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3693
                checkinClass:aClass 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3694
                fileName:fileName 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3695
                directory:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3696
                module:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3697
                logMessage:msg)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3698
            ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3699
                (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
  3700
                    self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3701
                    ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3702
                ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3703
                (mgr
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3704
                    checkinClass:aClass 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3705
                    fileName:fileName 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3706
                    directory:package 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3707
                    module:module 
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3708
                    logMessage:msg
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3709
                    force:true)
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3710
                ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3711
                    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
  3712
                    self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3713
                    ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3714
                ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3715
            ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3716
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3717
            self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3718
            ^ true
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3719
        ] ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3720
            (createContainer or:[creatingNew]) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3721
                (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
  3722
                                          with:fileName with:module with:package) withCRs) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3723
                    ^ false
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3724
                ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3725
            ]
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3726
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3727
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3728
        (mgr
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3729
                createContainerFor:aClass
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3730
                inModule:module
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3731
                package:package
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3732
                container:fileName) ifFalse:[
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3733
            self warn:(resources string:'failed to create container.').
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3734
            self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3735
            ^ false.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3736
        ].
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3737
        self normalLabel.
3598b28d8af9 care to not include nameSpace-prefix
Claus Gittinger <cg@exept.de>
parents: 1444
diff changeset
  3738
        ^ 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
  3739
    ].
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
  3740
    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
  3741
    ^ 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
  3742
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  3743
    "Modified: / 5.3.1998 / 02:44:45 / cg"
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3744
!
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3745
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3746
classLoadNewRevision
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3747
    "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
  3748
741
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  3749
    |box
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3750
     moduleHolder packageHolder fileNameHolder
741
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  3751
     module package fileName aStream
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  3752
     y component mgr|
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3753
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3754
    mgr := SourceCodeManager.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3755
    mgr isNil ifTrue:[^ false].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3756
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3757
    fileNameHolder := ValueHolder newString.
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3758
    moduleHolder := (OperatingSystem getLoginName) asValue.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3759
    packageHolder := 'private' asValue.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3760
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3761
    "/
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3762
    "/ 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
  3763
    "/
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3764
    box := DialogBox new.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3765
    box label:'container fileIn'.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3766
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3767
    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
  3768
    component adjust:#left; borderWidth:0.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3769
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3770
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3771
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3772
    y := box yPosition.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3773
    component := box addTextLabel:(resources string:'Module:').
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3774
    component width:0.4; adjust:#right.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3775
    box yPosition:y.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3776
    component := box addInputFieldOn:moduleHolder tabable:true.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3777
    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
  3778
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3779
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3780
    y := box yPosition.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3781
    component := box addTextLabel:'Package:'.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3782
    component width:0.4; adjust:#right.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3783
    box yPosition:y.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3784
    component := box addInputFieldOn:packageHolder tabable:true.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3785
    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
  3786
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3787
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3788
    y := box yPosition.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3789
    component := box addTextLabel:'Filename:'.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3790
    component width:0.4; adjust:#right.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3791
    box yPosition:y.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3792
    component := box addInputFieldOn:fileNameHolder tabable:true.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3793
    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
  3794
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3795
    box addVerticalSpace.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3796
    box addAbortButton; addOkButton.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3797
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3798
    box showAtPointer.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3799
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3800
    box destroy.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3801
    box accepted ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3802
	^ false
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3803
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3804
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3805
    module := moduleHolder value withoutSpaces.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3806
    package := packageHolder value withoutSpaces.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3807
    fileName := fileNameHolder value withoutSpaces.
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3808
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3809
    (fileName endsWith:',v') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3810
	fileName := fileName copyWithoutLast:2
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3811
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3812
    (fileName endsWith:'.st') ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3813
	fileName := fileName , '.st'
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3814
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3815
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3816
    (mgr checkForExistingContainerInModule:module 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3817
				   package:package 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3818
				 container:fileName) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3819
	self warn:'no such container'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3820
	^ false
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3821
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3822
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3823
    aStream := mgr 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3824
	    streamForClass:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3825
	    fileName:fileName 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3826
	    revision:#newest
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3827
	    directory:package
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3828
	    module:module
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3829
	    cache:false.
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3830
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3831
    aStream isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3832
	self warn:'could not fileIn from repository'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3833
	^ false.
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3834
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3835
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3836
    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
  3837
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3838
    Class withoutUpdatingChangesDo:[
1330
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
	    aStream fileIn.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3841
	] valueNowOrOnUnwindDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3842
	    aStream close.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3843
	    self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3844
	    Smalltalk changed.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3845
	].
730
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3846
    ].
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3847
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3848
    ^ false
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3849
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3850
    "Created: 13.9.1996 / 09:27:09 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  3851
    "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
  3852
!
bde80e7b2de0 allow loading of new classes from repository
Claus Gittinger <cg@exept.de>
parents: 725
diff changeset
  3853
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3854
classLoadRevision
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3855
    "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
  3856
     upgrade a class to the newest revision"
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3857
264
621107e65e1e dont allow loading old revisions of autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
  3858
    currentClass isLoaded ifFalse:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3859
        self warn:'cannot load specific releases of autoloaded classes.'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3860
        ^ self.
264
621107e65e1e dont allow loading old revisions of autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
  3861
    ].
621107e65e1e dont allow loading old revisions of autoloaded classes
Claus Gittinger <cg@exept.de>
parents: 263
diff changeset
  3862
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3863
    self doClassMenu:[:currentClass |
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3864
        |aStream comparedSource currentSource v rev revString what mgr keep className
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3865
         newClass prevCategory ok|
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3866
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3867
        rev := Dialog request:'load which revision: (empty for newest)' onCancel:nil.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3868
        rev notNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3869
            className := currentClass name.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3870
            (className includesString:'_rev_') ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3871
                self warn:'select the original class and try again.'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3872
                ^ self
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3873
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3874
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3875
            mgr := currentClass sourceCodeManager.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3876
            ok := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3877
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3878
            rev withoutSpaces isEmpty ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3879
                what := className , '(newest)'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3880
                self busyLabel:'extracting %1' with:what.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3881
                aStream := mgr getMostRecentSourceStreamForClassNamed:className.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3882
                revString := 'newest'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3883
                keep := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3884
            ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3885
                what := className , '(' , rev , ')'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3886
                self busyLabel:'extracting %1' with:what.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3887
                aStream := mgr getSourceStreamFor:currentClass revision:rev.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3888
                revString := rev.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3889
                keep := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3890
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3891
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3892
            aStream isNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3893
                self warn:'cannot find classes source.'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3894
                ^ self.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3895
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3896
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3897
            self busyLabel:'loading %1' with:what .
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3898
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3899
            [
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3900
                Class withoutUpdatingChangesDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3901
                    |saveIt prevSkip|
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3902
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3903
                    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
  3904
fe5a3c210282 when loading a revision from the repository,
ca
parents: 1029
diff changeset
  3905
(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
  3906
                    saveIt isNil ifTrue:[^ self].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3907
                    saveIt ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3908
                        "/ rename the current class - for backup
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3909
                        prevCategory := currentClass category.    
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3910
                        currentClass category:'* obsolete *'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3911
                        Smalltalk renameClass:currentClass to:className , '_saved'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3912
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3913
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3914
                    prevSkip := ClassCategoryReader skipUnchangedMethods.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3915
                    ClassCategoryReader skipUnchangedMethods:false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3916
                    lockUpdates := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3917
                    [
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3918
                        aStream fileIn.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3919
                    ] valueNowOrOnUnwindDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3920
                        ClassCategoryReader skipUnchangedMethods:prevSkip.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3921
                        lockUpdates := false.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3922
                    ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3923
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3924
                    "/ did that work ?
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3925
                    newClass := Smalltalk at:className ifAbsent:nil.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3926
                    newClass isNil ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3927
                        saveIt ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3928
                            self warn:'fileIn failed - undoing changes ...'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3929
                            Smalltalk renameClass:currentClass to:className.                        
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3930
                            currentClass category:prevCategory.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3931
                        ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3932
                            self warn:'fileIn failed - cannot recover class'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3933
                        ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3934
                    ] ifFalse:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3935
                        "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3936
                        "/ 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
  3937
                        "/ current class
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3938
                        "/
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3939
                        keep ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3940
                            saveIt ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3941
                                Smalltalk renameClass:newClass to:(className , '_rev_' , rev).
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3942
                                newClass category:'* old versions *'.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3943
                                Smalltalk renameClass:currentClass to:className.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3944
                                currentClass category:prevCategory.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3945
                            ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3946
                        ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3947
                        ok := true.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3948
                    ]
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3949
                ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3950
            ] valueNowOrOnUnwindDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3951
                aStream close.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3952
                self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3953
                Smalltalk changed.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3954
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3955
            ok ifTrue:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3956
                self switchToClassNamed:newClass name.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3957
            ]    
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3958
        ]
213
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3959
    ]
4b8b25b6baa1 niver revision info; added loadRevision
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
  3960
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3961
    "Created: / 14.11.1995 / 16:43:15 / cg"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  3962
    "Modified: / 4.3.1998 / 14:49:22 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3963
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  3964
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3965
classModifyContainer
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3966
    "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
  3967
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3968
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3969
	self warn:'dont know anything about unloaded classes.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3970
	^ self.
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3971
    ].
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3972
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3973
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3974
	self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3975
	    classDefineSourceContainerFor:currentClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3976
	    title:(resources string:'Repository information for %1' with:currentClass name)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3977
	    text:'defining/changing the source code container'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3978
	    createDirectories:true createContainer:true. 
283
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3979
    ]
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3980
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3981
    "Created: 23.11.1995 / 11:41:38 / cg"
349
a927f39271d5 fixes for new containers
Claus Gittinger <cg@exept.de>
parents: 348
diff changeset
  3982
    "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
  3983
!
159098ddc555 allow definition/change of container (without actually creating)
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
  3984
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3985
classRemoveContainer
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3986
    "remove a container from the source repository"
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3987
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3988
    currentClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3989
	self warn:'please load the class first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3990
	^ self.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3991
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3992
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3993
    self doClassMenu:[:currentClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3994
	self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  3995
	    classRemoveSourceContainerFor:currentClass
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3996
    ]
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3997
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3998
    "Created: 23.11.1995 / 11:41:38 / cg"
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  3999
    "Modified: 11.9.1996 / 12:55:42 / cg"
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4000
!
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4001
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4002
classRemoveSourceContainerFor:aClass
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4003
    "show container & let user confirm twice."
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4004
741
d0dc66cf7499 code cleanup (unused vars eliminated)
Claus Gittinger <cg@exept.de>
parents: 731
diff changeset
  4005
    |module package fileName info mgr|
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4006
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4007
    aClass isLoaded ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4008
	self warn:'please load the class first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4009
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4010
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4011
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4012
    "/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4013
    "/ 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
  4014
    "/ if so, take that as a default.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4015
    "/
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4016
    mgr := aClass sourceCodeManager.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4017
    mgr isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4018
	self warn:'No sourceCodeManagement.'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4019
	^ false
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4020
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4021
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4022
    info := mgr sourceInfoOfClass:aClass.
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4023
    info notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4024
	(info includesKey:#module) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4025
	    module := (info at:#module).
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
	(info includesKey:#directory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4028
	    package := (info at:#directory).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4029
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4030
	fileName := mgr containerFromSourceInfo:info.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4031
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4032
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4033
    module isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4034
	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
  4035
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4036
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4037
    package isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4038
	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
  4039
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4040
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4041
    fileName isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4042
	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
  4043
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4044
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4045
        
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4046
    (mgr checkForExistingContainerInModule:module 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4047
				   package:package 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4048
				 container:fileName) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4049
	self warn:'Class has no source container.' withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4050
	^ false.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4051
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4052
731
6889fc8ebac5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
  4053
    (Dialog
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4054
	choose:(resources 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4055
		    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
  4056
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4057
container:    %2 / %3 / %4
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4058
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4059
Really remove ?' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4060
		    with:aClass name 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4061
		    with:module 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4062
		    with:package 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4063
		    with:fileName) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4064
	labels:(Array 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4065
		    with:(resources string:'no') 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4066
		    with:(resources string:'remove'))
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4067
	values:#(false true)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4068
	default:false) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4069
	^ self.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4070
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4071
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4072
    (mgr removeContainerFor:aClass
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4073
		   inModule:module
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4074
		    package:package
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4075
		  container:fileName) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4076
	self warn:(resources string:'failed to remove container.').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4077
	self normalLabel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4078
	^ true.
725
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4079
    ].
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4080
    ^ false
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4081
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4082
    "Created: 11.9.1996 / 13:06:14 / cg"
731
6889fc8ebac5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
  4083
    "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
  4084
!
b2877d3000e7 added interface to remove a container;
Claus Gittinger <cg@exept.de>
parents: 723
diff changeset
  4085
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  4086
classRevisionInfo
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  4087
    "show current classes revision info in codeView"
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  4088
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  4089
    self doClassMenu:[:currentClass |
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4090
        |aStream info info2 s rv mgr fn msg|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4091
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4092
        aStream := WriteStream on:(String new:200).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4093
        currentClass notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4094
            Processor activeProcess withLowerPriorityDo:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4095
                self busyLabel:'extracting revision info' with:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4096
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4097
                info := currentClass revisionInfo.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4098
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4099
                rv := currentClass binaryRevision.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4100
                rv notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4101
                    aStream nextPutLine:'**** Loaded classes binary information ****'; cr.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4102
                    aStream nextPutLine:'  Binary based upon : ' , rv.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4103
                    aStream cr.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4104
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4105
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4106
                info notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4107
                    (info includesKey:#revision) ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4108
                        aStream nextPutLine:'WARNING:'; cr.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4109
                        aStream nextPutLine:'  The class seems not to be loaded from the repository.'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4110
                        aStream nextPutLine:'  Check carefully before checking anything in.'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4111
                        aStream nextPutLine:'  (i.e. compare with repository for renamed class(es), same-name but unrelated etc.)'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4112
                        aStream cr.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4113
                    ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4114
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4115
                    aStream nextPutLine:'**** Classes source information ****'; cr.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4116
                    s := info at:#repositoryPath ifAbsent:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4117
                    s notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4118
                        aStream nextPutLine:'  Source repository : ' , s
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4119
                    ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4120
                    aStream nextPutLine:'  Filename ........ : ' , (info at:#fileName ifAbsent:'?').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4121
                    aStream nextPutLine:'  Revision ........ : ' , (info at:#revision ifAbsent:'?').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4122
                    aStream nextPutLine:'  Checkin date .... : ' , (info at:#date ifAbsent:'?') , ' ' , (info at:#time ifAbsent:'?').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4123
                    aStream nextPutLine:'  Checkin user .... : ' , (info at:#user ifAbsent:'?').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4124
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4125
                    (info2 := currentClass packageSourceCodeInfo) notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4126
                        aStream nextPutLine:'  Repository: ..... : ' , (info2 at:#module ifAbsent:'?').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4127
                        aStream nextPutLine:'  Directory: ...... : ' , (info2 at:#directory ifAbsent:'?').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4128
                    ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4129
                    aStream nextPutLine:'  Container ....... : ' , (info at:#repositoryPathName ifAbsent:'?').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4130
                    aStream cr.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4131
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4132
                    (mgr := currentClass sourceCodeManager) notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4133
                        aStream nextPutLine:'**** Repository information ****'; cr.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4134
                        mgr writeRevisionLogOf:currentClass to:aStream.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4135
                    ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4136
                ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4137
                    aStream nextPutLine:'No revision info found'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4138
                    currentClass isLoaded ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4139
                        aStream cr; nextPutAll:'This is an autoloaded class - you may see more after its loaded.'
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4140
                    ] ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4141
                        fn := currentClass classFilename.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4142
                        currentClass wasAutoloaded ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4143
                            msg := 'This class was autoloaded.'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4144
                            fn notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4145
                                msg := msg , ' (from ''' , fn , ''')'.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4146
                            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4147
                        ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4148
                            fn notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4149
                                msg := 'This class was loaded from ''' , fn , '''.'
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4150
                            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4151
                        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4152
                        msg notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4153
                            aStream cr; nextPutAll:msg.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4154
                        ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4155
                    ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4156
                ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4157
            ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4158
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4159
        codeView contents:(aStream contents).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4160
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4161
        codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4162
        codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4163
        codeView acceptAction:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4164
        codeView explainAction:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4165
        methodListView notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4166
            methodListView setSelection:nil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4167
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4168
        aspect := #revisionInfo. 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4169
        self normalLabel
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  4170
    ]
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  4171
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4172
    "Created: / 14.11.1995 / 16:43:15 / cg"
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4173
    "Modified: / 31.3.1998 / 23:38:10 / cg"
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4174
!
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4175
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4176
getLogMessageFor:aString
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4177
    "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
  4178
     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
  4179
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4180
    |dialog textView|
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4181
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4182
    dialog := Dialog new.
1046
e5f4d06007c6 resource strings
Claus Gittinger <cg@exept.de>
parents: 1043
diff changeset
  4183
    (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
  4184
    textView := dialog addTextBoxOn:nil 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4185
			class:EditTextView
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4186
			withNumberOfLines:10 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4187
			hScrollable:true 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4188
			vScrollable:true.
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4189
    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
  4190
    textView contents:lastSourceLogMessage.
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4191
    dialog addAbortButton; addOkButton.
1043
01edbc67e510 ok button in log-message box is no return button
Claus Gittinger <cg@exept.de>
parents: 1042
diff changeset
  4192
    dialog okButton isReturnButton:false.
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4193
    dialog open.
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4194
    dialog accepted ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4195
	^ textView contents
626
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4196
    ].
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4197
    ^ nil
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4198
d81ad641d1d9 Use text box in dialog for revision log.
Stefan Vogel <sv@exept.de>
parents: 625
diff changeset
  4199
    "Created: 15.6.1996 / 00:20:46 / stefan"
1046
e5f4d06007c6 resource strings
Claus Gittinger <cg@exept.de>
parents: 1043
diff changeset
  4200
    "Modified: 28.2.1997 / 11:47:33 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  4201
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  4202
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4203
!BrowserView methodsFor:'class stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4204
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4205
allClassesInCategory:aCategory
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4206
    |classes|
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4207
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4208
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4209
	^ Smalltalk allClassesInCategory:currentClassCategory
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4210
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4211
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4212
    classes := Set new.
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4213
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4214
    (self listOfNamespaces) do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4215
	aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4216
	    |actualNamespace nm|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4217
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4218
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4219
		(aCategory = '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4220
		or:[aClass category = aCategory]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4221
		    (aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4222
		    or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4223
			actualNamespace := aClass nameSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4224
			(actualNamespace isNamespace not "/ a private class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4225
			or:[actualNamespace == aNamespace]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4226
			    classes add:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4227
			]
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
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4230
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4231
	]
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4232
    ].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4233
    ^ classes
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4234
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4235
    "Created: 23.12.1996 / 10:26:28 / cg"
887
ad1d6b0ed970 namespace fixes
Claus Gittinger <cg@exept.de>
parents: 886
diff changeset
  4236
    "Modified: 23.12.1996 / 11:33:13 / cg"
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4237
!
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4238
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4239
allClassesInCategory:aCategory do:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4240
    |classes|
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4241
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4242
    classes := self allClassesInCategory:aCategory.
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4243
    classes do:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4244
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4245
    "Modified: 23.12.1996 / 10:30:00 / cg"
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4246
!
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4247
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4248
allClassesInCategory:aCategory inOrderDo:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4249
    "evaluate the argument, aBlock for all classes in aCategory;
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4250
     superclasses come first - then subclasses"
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4251
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4252
    |classes|
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4253
1079
513fda872db0 oops - need an OC for sorting
Claus Gittinger <cg@exept.de>
parents: 1075
diff changeset
  4254
    classes := (self allClassesInCategory:aCategory) asOrderedCollection.
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4255
    classes topologicalSort:[:a :b | b isSubclassOf:a].
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4256
    classes do:aBlock
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4257
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4258
    "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
  4259
    "Modified: 19.3.1997 / 12:48:28 / cg"
886
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4260
!
4e6918aaa19e namespace fixes
Claus Gittinger <cg@exept.de>
parents: 885
diff changeset
  4261
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4262
allClassesInSelectedNamespacesDo:aBlock
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4263
    |nameSpacesConsidered|
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4264
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4265
    nameSpacesConsidered := self listOfNamespaces asIdentitySet.
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4266
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4267
    Smalltalk allBehaviorsDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4268
	(nameSpacesConsidered includes:aClass nameSpace)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4269
	ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4270
	    aBlock value:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4271
	]
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4272
    ]
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4273
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4274
    "Created: 16.1.1997 / 20:18:47 / cg"
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4275
    "Modified: 16.1.1997 / 20:20:24 / cg"
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4276
!
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
  4277
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4278
changeCurrentClass:newClass
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4279
    "change the current class to some other class;
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4280
     keep instance protocol as it was.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4281
     This does not update any views."
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4282
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4283
    |cls meta|
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4284
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4285
"/    fullProtocol ifTrue:[^ self].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4286
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4287
    self releaseClass.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4288
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4289
    cls := newClass.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4290
    cls isMeta ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4291
        meta := cls.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4292
        cls := meta soleInstance
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4293
    ] ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4294
        meta := cls class
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4295
    ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4296
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4297
    currentClass := cls.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4298
    showInstance ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4299
       actualClass := acceptClass := cls.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4300
    ] ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4301
       actualClass := acceptClass := meta.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4302
    ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4303
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4304
    currentClass notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4305
        cls addDependent:self.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4306
        meta addDependent:self.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4307
    ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4308
    self normalLabel.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4309
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4310
    "Modified: / 1.9.1995 / 01:04:05 / claus"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4311
    "Modified: / 13.12.1995 / 15:32:49 / cg"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4312
    "Created: / 10.4.1998 / 12:25:16 / cg"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4313
!
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4314
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4315
checkClassSelected
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4316
    "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
  4317
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4318
    currentClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4319
	self warn:'select a class first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4320
	^ false
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  4321
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4322
    ^ true
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4323
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4324
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4325
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
  4326
    "common helper for newClass and newSubclass
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4327
     - 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
  4328
     Also, set acceptaction to install the class."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4329
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4330
    |theSuperClass|
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4331
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4332
    currentMethodCategory := nil.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4333
    currentMethod := currentSelector := nil.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4334
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  4335
    classListView setSelection:nil.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4336
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4337
    fullClass ifFalse:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4338
        methodCategoryListView contents:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4339
        methodListView contents:nil
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4340
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4341
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4342
    (aClass == Autoload
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4343
    or:[aClass isNil or:[aClass isLoaded not]]) ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4344
        theSuperClass := Object
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4345
    ] ifFalse:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4346
        theSuperClass := aClass
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4347
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4348
    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
  4349
    codeView modified:false.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4350
    codeModified := false.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4351
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4352
    codeView acceptAction:[:theCode |
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4353
        codeView cursor:Cursor execute.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4354
        Object abortSignal catch:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4355
            |cls|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4356
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4357
            Object errorSignal handle:[:ex |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4358
                codeView error:ex errorString
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4359
                         position:1 to:nil from:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4360
            ] do:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4361
                Class nameSpaceQuerySignal answer:Smalltalk
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4362
                do:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4363
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4364
                    cls := (Compiler evaluate:theCode asString notifying:codeView compile:false).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4365
                    cls isBehavior ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4366
                        codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4367
                        self classCategoryUpdate.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4368
                        self updateClassListWithScroll:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4369
                        cls isNamespace ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4370
                            self switchToClassNamed:(cls name).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4371
                        ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4372
                    ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4373
                ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4374
            ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4375
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4376
        codeView cursor:(Cursor normal).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4377
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4378
    codeView explainAction:nil.
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4379
    self changeCurrentClass:nil
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4380
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4381
    "Created: / 23.12.1996 / 12:45:43 / cg"
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4382
    "Modified: / 10.4.1998 / 12:25:39 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4383
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4384
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4385
classDoubleClick:lineNr
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4386
    "double click on a class;
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4387
     if its unloaded, load it.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4388
     if its an application-class, start the app"
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4389
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4390
    currentClass notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4391
        currentClass isVisualStartable ifTrue:[
1500
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  4392
            self withWaitCursorDo:[
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  4393
                self busyLabel:'starting application %1' with:currentClass name.
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4394
                currentClass open.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4395
                self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4396
            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4397
            ^ self
1478
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4398
        ].
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4399
        currentClass isLoaded ifFalse:[
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4400
            self classLoad.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4401
"/            self withWaitCursorDo:[
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4402
"/                currentClass autoload.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4403
"/            ].
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4404
            self normalLabel.
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4405
            ^ self
1478
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4406
        ].
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4407
    ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4408
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4409
    "Created: / 29.10.1997 / 15:50:26 / cg"
1478
852defc72eca Load autoloaded classes with doubleclick.
Stefan Vogel <sv@exept.de>
parents: 1451
diff changeset
  4410
    "Modified: / 16.2.1998 / 11:55:25 / stefan"
1502
1d24cc59be77 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1501
diff changeset
  4411
    "Modified: / 4.3.1998 / 14:58:35 / cg"
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4412
!
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  4413
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4414
classListUpdate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4415
    RememberAspect ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4416
	aspect == #hierarchy ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4417
	    ^ self classHierarchy
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4418
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4419
	aspect == #classInstVars ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4420
	    ^ self classClassInstVars
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4421
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4422
	aspect == #comment ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4423
	    ^ self classComment
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4424
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4425
	aspect == #primitiveDefinitions ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4426
	    ^ self classPrimitiveDefinitions
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4427
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4428
	aspect == #primitiveFunctions ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4429
	    ^ self classPrimitiveFunctions
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4430
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4431
	aspect == #primitiveVariables ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4432
	    ^ self classPrimitiveVariables
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4433
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4434
	aspect == #revisionInfo ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4435
	    ^ self classRevisionInfo
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4436
	].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4437
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4438
    self classDefinition
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4439
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4440
    "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
  4441
    "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
  4442
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4443
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4444
classSelection:lineNr
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4445
    "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
  4446
991
893a4dc659af added mechanism to reconnect a class (in case its removed from
Claus Gittinger <cg@exept.de>
parents: 990
diff changeset
  4447
    |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
  4448
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4449
    (currentClassHierarchy notNil
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4450
     and:[fullProtocol]) ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4451
        oldSelector := currentSelector.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4452
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4453
        self updateMethodCategoryListWithScroll:false.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4454
        self updateMethodListWithScroll:false.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4455
        fullProtocol ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4456
            self updateVariableList.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4457
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4458
        oldSelector notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4459
            self switchToMethod:oldSelector.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4460
            currentMethod notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4461
                self switchToMethodCategory:(currentMethod category).
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4462
            ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4463
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4464
        ^ self
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4465
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4466
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4467
    (sel := classListView selectionValue) isNil ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4468
        self classCategorySelectionChanged. 
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4469
        aspect := nil.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4470
        currentClass := actualClass := nil.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4471
        self updateCodeView.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4472
        ^ self
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4473
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  4474
    nm := sel withoutSpaces.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  4475
    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
  4476
    cls notNil ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4477
        self changeCurrentClass:cls.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4478
        self classSelectionChanged
836
22cdfaaf87fc namespace fixes & another check
Claus Gittinger <cg@exept.de>
parents: 834
diff changeset
  4479
    ] ifFalse:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4480
        (self confirm:('oops - no class named: ' , nm , ' found in selected namespace(s)\\Try to reconnect ?') withCRs)
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4481
        ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4482
            "/ search for all classes by that name ...
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4483
            classes := IdentitySet new.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4484
            Class allSubInstancesDo:[:aClass |
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4485
                aClass name = nm ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4486
                    classes add:aClass
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4487
                ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4488
            ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4489
            classes notEmpty ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4490
                classes size == 1 ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4491
                    cls := classes first.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4492
                    Smalltalk 
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4493
                        keysAndValuesDo:[:key :aClass |
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4494
                                (Smalltalk at:key) == cls ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4495
                                    globlName := key
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4496
                                ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4497
                        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4498
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4499
                    msg := 'found ' , cls name , ' in category ''' , cls category , '''.\'.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4500
                    globlName notNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4501
                        msg := msg , '(known as ' , globlName , ')\'.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4502
                    ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4503
                    (self confirm:(msg , '\rebind in Smalltalk as ''' , cls name , '''?') withCRs)
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4504
                    ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4505
                        Smalltalk at:cls name asSymbol put:cls
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4506
                    ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4507
                ] ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4508
                    self warn:('found multiple classes with a name of ' , nm , '.\\Select and rename as required') withCRs.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4509
                     SystemBrowser browseClasses:classes asOrderedCollection
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4510
                                           title:'choose and rename as required'
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4511
                ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4512
            ] ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4513
                self warn:'oops - could not find that class'
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4514
            ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4515
        ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4516
    ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4517
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  4518
    "Modified: / 10.4.1998 / 12:25:45 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4519
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4520
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4521
classSelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4522
    |oldMethodCategory oldMethod oldSelector|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4523
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  4524
    self withBusyCursorDo:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4525
        "/ alien classes have no methodCategories; hide that list ...
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4526
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4527
        currentClass notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4528
            currentClass supportsMethodCategories ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4529
                self hideMethodCategoryList
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4530
            ] ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4531
                self showMethodCategoryList
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4532
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4533
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4534
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  4535
        "/ temporarily nil the aspect, to avoid
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  4536
        "/ double redraw.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  4537
        aspect := nil. "/ #definition.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4538
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4539
        oldMethodCategory := currentMethodCategory.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4540
        oldMethod := currentMethod.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4541
        oldSelector := currentSelector.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4542
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4543
        showInstance ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4544
            actualClass := acceptClass := currentClass
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4545
        ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4546
            actualClass := acceptClass := currentClass class
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4547
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4548
        currentMethodCategory := nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4549
        currentMethod := nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4550
        currentSelector := nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4551
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4552
        self updateMethodCategoryList.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4553
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4554
        oldMethodCategory notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4555
            methodCategoryListView setSelectElement:oldMethodCategory.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4556
            methodCategoryListView hasSelection ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4557
                currentMethodCategory := oldMethodCategory.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4558
                self methodCategorySelectionChanged
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4559
            ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4560
        ].
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  4561
        aspect := #definition.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  4562
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4563
        self updateMethodList.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4564
        "/ self updateCodeView.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4565
        self updateVariableList.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4566
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4567
        fullClass ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4568
            self updateCodeView.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4569
            codeView acceptAction:[:theCode |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4570
                codeView cursor:Cursor execute.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4571
                Object abortSignal catch:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4572
                    self compileCode:theCode asString.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4573
                    codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4574
                    codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4575
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4576
                codeView cursor:Cursor normal.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4577
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4578
        ] ifFalse:[
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4579
"/            self classDefinition.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4580
            self classListUpdate.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4581
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4582
            codeView acceptAction:[:theCode |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4583
                |ns|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4584
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4585
                currentClass notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4586
                    ns := currentClass nameSpace
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4587
                ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4588
                    ns := nil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4589
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4590
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4591
                codeView cursor:Cursor execute.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4592
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4593
                Class nameSpaceQuerySignal handle:[:ex |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4594
                    ns isNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4595
                        ex reject
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4596
                    ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4597
                    ex proceedWith:ns
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4598
                ] do:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4599
                    Object abortSignal catch:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4600
                        UndefinedObject createMinimumProtocolInNewSubclassQuery
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4601
                        answer:true
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4602
                        do:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4603
                            (Compiler 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4604
                                evaluate:theCode asString 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4605
                                notifying:codeView 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4606
                                compile:false)
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4607
                            isBehavior ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4608
                                self classCategoryUpdate.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4609
                                self updateClassListWithScroll:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4610
                                codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4611
                                codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4612
                            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4613
                        ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4614
                    ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4615
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4616
                codeView cursor:Cursor normal.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4617
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4618
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4619
        codeView explainAction:nil.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4620
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4621
        (classCategoryListView notNil and:[currentClass notNil]) ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4622
            (currentClassCategory = currentClass category) ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4623
                currentClassCategory := currentClass category.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4624
                (classCategoryListView list includes:currentClassCategory) ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4625
                    classCategoryListView setSelectElement:currentClassCategory
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4626
                ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4627
                    classCategoryListView setSelection:nil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4628
                ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4629
            ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4630
        ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4631
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4632
        self setDoitActionForClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4633
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4634
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  4635
    "Created: / 23.11.1995 / 11:32:03 / cg"
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  4636
    "Modified: / 2.4.1998 / 13:18:39 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4637
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4638
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4639
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
  4640
    "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
  4641
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4642
    |cat aString name nameProto namePrefix i existingNames withNameSpaceDirective
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4643
     className ownerName s|
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4644
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4645
    s := TextStream on:''.
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4646
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4647
    isNameSpace ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4648
        s nextPutAll:'Namespace name:''NewNameSpace'''.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4649
        s cr; cr.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4650
        s emphasis:(self commentEmphasis).
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4651
        s nextPutAll:'"
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4652
 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
  4653
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  4654
 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
  4655
 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
  4656
"
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4657
'.
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4658
        ^ s contents.
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4659
    ].
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4660
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4661
    withNameSpaceDirective :=
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4662
        currentNamespace notNil 
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4663
        and:[currentNamespace ~= '* all *'
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4664
        and:[currentNamespace ~= Smalltalk]].
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4665
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4666
    withNameSpaceDirective ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4667
        className := aSuperClass nameWithoutNameSpacePrefix.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4668
        s nextPutAll:('"{ Namespace: ''' , currentNamespace name , ''' }"').
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4669
        s cr; cr.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4670
    ] ifFalse:[    
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4671
        className := aSuperClass name.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4672
    ].
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4673
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4674
    cat := categoryString.
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4675
    (cat isNil or:[cat startsWith:$*]) ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4676
        cat := '* no category *'
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4677
    ].
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4678
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4679
    nameProto := 'NewClass'.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4680
    i := 1.
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4681
    isPrivate ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4682
        namePrefix := currentClass name , '::'.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4683
        existingNames := currentClass privateClasses.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4684
        existingNames size > 0 ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4685
            existingNames := existingNames collect:[:cls | cls name].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4686
        ]
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4687
    ] ifFalse:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4688
        namePrefix := ''.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4689
        existingNames := Smalltalk keys
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4690
    ].
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4691
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4692
    name := 'NewClass' , i printString.
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4693
    existingNames notNil ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4694
        nameProto := namePrefix , name.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4695
        [nameProto knownAsSymbol and:[existingNames includes:nameProto asSymbol]] whileTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4696
            i := i + 1.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4697
            name := 'NewClass' , i printString.
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4698
            nameProto := namePrefix , name
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4699
        ].
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4700
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4701
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4702
    s nextPutAll:className.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4703
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4704
    isPrivate ifTrue:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4705
        withNameSpaceDirective ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4706
            ownerName := currentClass nameWithoutNameSpacePrefix
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4707
        ] ifFalse:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4708
            ownerName := currentClass name
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4709
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4710
        s nextPutAll:(' subclass:#' , name  , '
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4711
' , '    instanceVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4712
' , '    classVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4713
' , '    poolDictionaries: ''''
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4714
' , '    privateIn:' , ownerName)
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4715
    ] ifFalse:[
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4716
        s nextPutAll:(' subclass:#' , name , '
752
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4717
' , '    instanceVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4718
' , '    classVariableNames: ''''
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4719
' , '    poolDictionaries: ''''
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4720
' , '    category: ''').
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4721
        cat notNil ifTrue:[
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4722
            s nextPutAll: cat
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4723
        ].
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4724
        s nextPutAll: ''''
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4725
    ].
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4726
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4727
    s cr; cr.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4728
    s emphasis:(self commentEmphasis).
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4729
    s nextPutAll:'
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4730
"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4731
 Replace ''' , className , ''', ''', name , ''' and
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4732
 the empty string arguments by true values.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4733
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4734
 Install (or change) the class by ''accepting'',
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4735
 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
  4736
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4737
 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
  4738
 add some documentation; preferably under the classes documentation
2bfe2b7e572a prepare for private classes
Claus Gittinger <cg@exept.de>
parents: 751
diff changeset
  4739
 protocol.
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4740
 (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
  4741
"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4742
'.
889
1d4a318a6eff checkin from browser
Claus Gittinger <cg@exept.de>
parents: 888
diff changeset
  4743
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  4744
    ^ s contents
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4745
1506
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4746
    "Created: / 23.12.1996 / 12:46:31 / cg"
c41c71b6bf2b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1503
diff changeset
  4747
    "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
  4748
!
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  4749
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4750
doClassMenu:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4751
    "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
  4752
     while showing waitCursor"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4753
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4754
    self checkClassSelected ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4755
	self withBusyCursorDo:[aBlock value:currentClass]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4756
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  4757
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  4758
    "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
  4759
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4760
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4761
listOfAllClassNamesInCategory:aCategory
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4762
    "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
  4763
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4764
    ^ self listOfAllClassesInCategory:aCategory names:true
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4765
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4766
    "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
  4767
!
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4768
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4769
listOfAllClassesInCategory:aCategory names:namesFlag
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4770
    "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
  4771
     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
  4772
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4773
    |nameSpaces listOfClassNames listOfClasses classesPresent namesPresent searchCategory 
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4774
     match anyCategory nm owner allNameSpaces|
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4775
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4776
    allNameSpaces := (currentNamespace = '* all *').
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4777
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4778
    "/ keep track of added names (care for obsolete classes)
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
  4779
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4780
    namesPresent := Set new.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4781
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  4782
    (aCategory = '* hierarchy *') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4783
	listOfClassNames := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4784
	listOfClasses := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4785
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4786
	self classHierarchyOf:Object withAutoloaded:true do:[:aClass :lvl|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4787
	    |indent|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4788
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4789
	    (aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4790
	    or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4791
		nm := self displayedClassNameOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4792
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4793
		(namesPresent includes:nm) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4794
		    indent := String new:lvl*2.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4795
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4796
		    "/ show classes from other nameSpaces in italic
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4797
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4798
		    (allNameSpaces not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4799
		     and:[(self findClassNamedInNameSpace:nm) isNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4800
			nm := nm asText emphasizeAllWith:#italic.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4801
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4802
		    nm := indent , nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4803
		    namesPresent add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4804
		    listOfClassNames add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4805
		    listOfClasses add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4806
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4807
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4808
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4809
	namesFlag ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4810
	    ^ listOfClasses
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4811
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4812
	^ listOfClassNames
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4813
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4814
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4815
    (aCategory = '* all *') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4816
	anyCategory := true
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4817
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4818
	anyCategory := false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4819
	(aCategory = '* no category *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4820
	    searchCategory := nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4821
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4822
	    searchCategory := aCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4823
	].
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4824
    ].
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4825
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4826
    allNameSpaces ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4827
	nameSpaces := Array with:Smalltalk.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4828
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4829
	nameSpaces := self listOfNamespaces.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4830
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4831
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4832
    listOfClasses := OrderedCollection new.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4833
    listOfClassNames := OrderedCollection new.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4834
    classesPresent := IdentitySet new.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4835
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4836
    nameSpaces do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4837
	aNamespace allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4838
	    |thisCategory actualNamespace nm owner|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4839
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4840
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4841
		(aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4842
		or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4843
		    (classesPresent includes:aClass) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4844
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4845
			match := anyCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4846
			match ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4847
			    thisCategory := aClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4848
			    match := ((thisCategory = searchCategory) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4849
				     or:[thisCategory = aCategory]).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4850
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4851
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4852
			match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4853
			    fullClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4854
				aClass owningClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4855
				    match := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4856
				]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4857
			    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4858
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4859
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4860
			match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4861
			    nm := self displayedClassNameOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4862
			    (namesPresent includes:nm) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4863
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4864
				allNameSpaces ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4865
				    (owner := aClass topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4866
					actualNamespace := owner nameSpace
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4867
				    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4868
					actualNamespace := aClass nameSpace.
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
				    match := actualNamespace isNamespace not "/ a private class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4871
					     or:[actualNamespace == aNamespace].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4872
				].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4873
				match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4874
				    namesPresent add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4875
				    classesPresent add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4876
				    listOfClasses add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4877
				    listOfClassNames add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4878
				]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4879
			    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4880
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4881
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4882
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4883
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4884
	]
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4885
    ].
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4886
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
  4887
    fullClass ifFalse:[
1330
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
	"/ mhm - must search through private classes of those
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4890
	"/ in smalltalk (they are not visible in the nameSpace,
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4891
	"/ but should also be displayed)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4892
	"/
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4893
	Smalltalk allBehaviorsDo:[:aClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4894
	    |actualNamespace owner|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4895
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4896
	    aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4897
		(classesPresent includes:aClass) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4898
		    (owner := aClass topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4899
			(classesPresent includes:owner) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4900
			    nm := self displayedClassNameOf:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4901
			    (namesPresent includes:nm) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4902
				namesPresent add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4903
				listOfClasses add:aClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4904
				listOfClassNames add:nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4905
			    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4906
			]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4907
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4908
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4909
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4910
	].
898
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4911
    ].
feb5df135b32 subclasses in nameSpaces, again
Claus Gittinger <cg@exept.de>
parents: 897
diff changeset
  4912
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4913
    (listOfClasses size == 0) ifTrue:[^ nil].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4914
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4915
    "/ sort by name
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4916
    listOfClassNames sortWith:listOfClasses.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4917
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4918
    namesFlag ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4919
	^ listOfClasses
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4920
    ].
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4921
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4922
    "/ indent after sorting
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4923
    1 to:listOfClassNames size do:[:index |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4924
	|nm cls owner s|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4925
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4926
	cls := listOfClasses at:index.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4927
	owner := cls.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4928
	(owner := owner owningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4929
	    nm := listOfClassNames at:index.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4930
	    s := nm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4931
	    [owner notNil] whileTrue:[    
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4932
		s := '  ' , s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4933
		owner := owner owningClass
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
	    listOfClassNames at:index put:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4936
	].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4937
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4938
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4939
    ^ listOfClassNames
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  4940
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4941
    "Created: 10.1.1997 / 13:57:34 / cg"
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  4942
    "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
  4943
!
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4944
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4945
listOfClassNameHierarchyOf:aClass
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4946
    "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
  4947
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4948
    |startClass classes thisOne|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4949
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4950
    showInstance ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4951
	startClass := aClass
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4952
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4953
	startClass := aClass class.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4954
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4955
    classes := startClass allSuperclasses.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4956
    thisOne := Array with:startClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4957
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4958
    classes notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4959
	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
  4960
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4961
	classes := thisOne
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4962
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4963
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4964
    fullProtocol ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  4965
	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
  4966
    ].
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  4967
    ^ classes collect:[:c | self displayedClassNameOf:c "c name"]
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  4968
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  4969
    "Created: 10.1.1997 / 14:01:06 / cg"
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
  4970
    "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
  4971
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  4972
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4973
renameCurrentClassTo:aString
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4974
    "helper - do the class-rename"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4975
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  4976
    self doClassMenu:[:currentClass |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4977
        |oldSym cls|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4978
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4979
        "/ 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
  4980
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4981
        (cls := Smalltalk classNamed:aString) notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4982
            (self confirm:(resources string:'WARN_RENAME' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4983
                                     with:aString 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4984
                                     with:cls category) withCRs)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4985
                ifFalse:[^ self]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4986
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4987
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4988
        oldSym := currentClass name asSymbol.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4989
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4990
        "/
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4991
        "/ renaming is actually more complicated as one might
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4992
        "/ think (care for classVariables, privateClasses etc.)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4993
        "/ Smalltalk knows all about that ...
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4994
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4995
        Smalltalk renameClass:currentClass to:aString.
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 updateClassList.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4998
        self updateMethodCategoryListWithScroll:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  4999
        self updateMethodListWithScroll:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5000
        self withBusyCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5001
            Transcript showCR:('searching for users of ' , oldSym); endEntry.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5002
            SystemBrowser browseReferendsOf:oldSym warnIfNone:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5003
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5004
    ]
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
  5005
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5006
    "Created: / 25.11.1995 / 13:02:53 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5007
    "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
  5008
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5009
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5010
switchToClassNameMatching:aMatchString
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5011
    |classNames thisName box className|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5012
607
96781ad00fdb ignore obsoletes (in classNamesMatching)
Claus Gittinger <cg@exept.de>
parents: 606
diff changeset
  5013
    classNames := Set new.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5014
    Smalltalk allBehaviorsDo:[:aClass |
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5015
        thisName := aClass name.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5016
        (aMatchString match:thisName) ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5017
            classNames add:thisName
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5018
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5019
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5020
    (classNames size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5021
    (classNames size == 1) ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5022
        className := classNames first
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5023
    ] ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5024
        classNames := classNames asArray sort.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5025
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5026
        box := self listBoxTitle:'select class to switch to:'
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5027
                          okText:'ok'
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5028
                            list:classNames.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5029
        box action:[:aString | className := aString].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5030
        box showAtPointer
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5031
    ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5032
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5033
    self switchToClassNamed:className
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5034
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5035
    "Modified: / 10.4.1998 / 12:19:12 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5036
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5037
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5038
switchToClassNamed:aString
839
b3ddd53c2791 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 838
diff changeset
  5039
    |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
  5040
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5041
    meta := false.
885
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  5042
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5043
    str := aString.
885
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  5044
    (aString endsWith:' class') ifTrue:[
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5045
        str := aString copyWithoutLast:6.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5046
        meta := true
885
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  5047
    ].
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  5048
73f73666c7aa preserve class/instance setting in load function.
Claus Gittinger <cg@exept.de>
parents: 884
diff changeset
  5049
    theClass := self findClassNamed:str.
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  5050
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  5051
    classCategoryListView notNil ifTrue:[
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5052
        classCategoryListView list size == 0 ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5053
            classCategoryListView list:(self listOfAllClassCategories).
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5054
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5055
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5056
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5057
    theClass == currentClass ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5058
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5059
    theClass isBehavior ifTrue:[
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5060
        classCategoryListView notNil ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5061
            currentClassHierarchy isNil ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5062
                ((newCat := theClass category) ~= currentClassCategory) ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5063
                    currentClassCategory := newCat.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5064
                    newCat isNil ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5065
                        element := '* no category *'
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5066
                    ] ifFalse:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5067
                        element := newCat.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5068
                    ].
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5069
                    classCategoryListView setSelectElement:element.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5070
                    "/ classCategoryListView makeSelectionVisible.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5071
                ]
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5072
            ]
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5073
        ].
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5074
        self updateClassList.
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5075
        self changeCurrentClass:theClass.
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  5076
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  5077
"/        (currentNamespace = '* all *'
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  5078
"/        or:[currentNamespace ~= theClass nameSpace]) ifTrue:[
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  5079
"/            str := theClass name
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  5080
"/        ] ifFalse:[
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  5081
"/            str := theClass nameWithoutPrefix
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  5082
"/        ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  5083
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5084
        l := classListView list.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5085
        l notNil ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5086
            idx := l findFirst:[:line | line withoutSpaces = str].
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5087
            classListView selection:idx.
839
b3ddd53c2791 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 838
diff changeset
  5088
b3ddd53c2791 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 838
diff changeset
  5089
"/            classListView setSelectElement:str.
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5090
        ].
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5091
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5092
        self instanceProtocol:meta not.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5093
        idx ~~ 0 ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5094
"/            self classSelectionChanged.
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5095
            classCategoryListView notNil ifTrue:[
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5096
                classCategoryListView setSelectElement:theClass category
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5097
            ]
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5098
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5099
    ]
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5100
1522
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5101
    "Modified: / 1.9.1995 / 01:41:35 / claus"
6a0cf0f9b393 avoid double redraw when selecting a class
Claus Gittinger <cg@exept.de>
parents: 1521
diff changeset
  5102
    "Modified: / 17.6.1996 / 16:54:55 / stefan"
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5103
    "Modified: / 10.4.1998 / 12:25:57 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5104
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5105
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5106
updateClassList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5107
    self updateClassListWithScroll:true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5108
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5109
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5110
updateClassListWithScroll:scroll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5111
    |classes oldClassName|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5112
905
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  5113
    gotClassList == true ifTrue:[^ self].
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  5114
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5115
    classListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5116
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5117
	 refetch in case we are not up to date
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5118
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5119
	(currentClass notNil and:[fullProtocol not]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5120
	    oldClassName := currentClass name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5121
	    currentClass := self findClassNamed:oldClassName.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5122
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5123
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5124
	currentClassCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5125
	    classes := self listOfAllClassNamesInCategory:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5126
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5127
	    currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5128
		classes := self listOfClassNameHierarchyOf:currentClassHierarchy
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5129
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5130
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5131
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5132
	classListView list = classes ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5133
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5134
		classListView contents:classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5135
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5136
		classListView setContents:classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5137
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5138
	    oldClassName notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5139
		classListView setContents:classes.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5140
		classListView setSelectElement:oldClassName
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5141
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5142
		variableListView notNil ifTrue:[variableListView contents:nil]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5143
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5144
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5145
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5146
		fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5147
		    classListView scrollToBottom
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5148
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5149
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5150
	].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5151
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  5152
933
6fb063972a63 in validate-versions: only validate from current nameSpace
Claus Gittinger <cg@exept.de>
parents: 931
diff changeset
  5153
    "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
  5154
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5155
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5156
!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
  5157
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
  5158
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
  5159
    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
  5160
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
  5161
    "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
  5162
    "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
  5163
!
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
  5164
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5165
classMethodFileOutAll
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5166
    "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
  5167
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5168
    |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
  5169
     fileBox f|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5170
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5171
    append := false.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5172
    fileBox := FileSaveBox
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5173
                        title:(resources string:'save methods in:')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5174
                        okText:(resources string:'save')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5175
                        abortText:(resources string:'cancel')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5176
                        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
  5177
    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
  5178
    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
  5179
    Project notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5180
        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
  5181
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5182
    fileBox showAtPointer.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5183
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5184
    fileName isNil ifTrue:[^ self].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5185
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5186
    "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5187
     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
  5188
    "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5189
    (f := fileName asFilename) exists ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5190
        f copyTo:(f withSuffix: 'sav')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5191
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5192
    append ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5193
        outStream := FileStream appendingOldFileNamed:fileName
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5194
    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5195
        outStream := FileStream newFileNamed:fileName.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5196
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5197
    outStream isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5198
        ^ self warn:'cannot create: %1' with:fileName
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5199
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5200
    self withBusyCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5201
        list := classMethodListView list.
1375
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5202
        list do:[:l |
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5203
            |line|
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5204
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5205
            line := l asString.
f9488662030a fileOutAll in class-method list (icons)
Claus Gittinger <cg@exept.de>
parents: 1373
diff changeset
  5206
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5207
            self busyLabel:'writing: ' with:line.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5208
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5209
            classString := self classNameFromClassMethodString:line.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5210
            selectorString := self selectorFromClassMethodString:line.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5211
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5212
            cls := self findClassNamed:classString.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5213
            cls isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5214
                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
  5215
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5216
                mth := cls compiledMethodAt:(selectorString asSymbol).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5217
                Class fileOutErrorSignal handle:[:ex |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5218
                    |box answer|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5219
                    box := YesNoBox 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5220
                                title:('fileOut error: ' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5221
                                       , ex errorString 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5222
                                       , '\\continue anyway ?') withCRs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5223
                                yesText:'continue' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5224
                                noText:'abort'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5225
                    answer := box confirm.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5226
                    box destroy.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5227
                    answer ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5228
                        ex proceed
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5229
                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5230
                    self normalLabel.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5231
                    ^ self
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5232
                ] do:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5233
                    cls fileOutMethod:mth on:outStream.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5234
                ]    
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5235
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5236
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5237
        outStream close.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5238
        self normalLabel.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5239
    ]
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
  5240
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5241
    "Modified: / 17.6.1996 / 16:51:11 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5242
    "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
  5243
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5244
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5245
classMethodMenu
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  5246
    <resource: #keyboard ( #Cmds #Cmdi #Cmdg ) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5247
    <resource: #programMenu >
587
74d27450aa79 added resource info
Claus Gittinger <cg@exept.de>
parents: 578
diff changeset
  5248
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5249
    |labels selectors shorties m specialMenu|
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
    (currentMethod notNil
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5252
    and:[currentMethod isWrapped]) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5253
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5254
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5255
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5256
                            'remove break/trace' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5257
                      ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5258
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5259
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5260
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5261
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5262
                            methodRemoveBreakOrTrace
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5263
                         ).
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5264
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5265
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5266
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5267
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5268
                            'breakpoint' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5269
                            'breakpoint in ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5270
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5271
                            'trace' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5272
                            'trace sender' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5273
                            'trace full walkback' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5274
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5275
                            'start timing'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5276
                            'start counting'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5277
                            'start mem usage'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5278
                      ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5279
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5280
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5281
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5282
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5283
                            methodBreakPoint
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5284
                            methodBreakPointInProcess
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5285
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5286
                            methodTrace
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5287
                            methodTraceSender
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5288
                            methodTraceFull
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5289
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5290
                            methodStartTiming
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5291
                            methodStartCounting
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5292
                            methodStartMemoryUsage
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5293
                         ).
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5294
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5295
    specialMenu := PopUpMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5296
                        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5297
                        selectors:selectors.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5298
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5299
    device ctrlDown ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5300
        currentMethod isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5301
            classMethodListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5302
            ^ nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5303
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5304
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5305
        ^ specialMenu
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5306
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5307
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5308
    labels := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5309
                                'fileOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5310
                                'fileOut all'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5311
                                'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5312
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5313
                                'browse'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5314
                                'spawn'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5315
                                'spawn class'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5316
                                'spawn full protocol'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5317
                                'spawn hierarchy'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5318
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5319
                                'senders ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5320
                                'implementors ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5321
                                'globals ...'
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5322
"/                              '-'
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5323
"/                              'breakpoint' 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5324
"/                              'trace' 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5325
"/                              'trace sender' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5326
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5327
                                'remove'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5328
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5329
                                'others'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5330
               ).
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5331
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5332
    shorties := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5333
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5334
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5335
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5336
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5337
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5338
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5339
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5340
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5341
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5342
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5343
                                #Cmds
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5344
                                #Cmdi
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5345
                                #Cmdg
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5346
"/                              nil
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5347
"/                              nil
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5348
"/                              nil
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5349
"/                              nil
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5350
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5351
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5352
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5353
                                #'Ctrl'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5354
               ).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5355
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5356
    selectors := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5357
                                methodFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5358
                                classMethodFileOutAll
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5359
                                methodPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5360
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5361
                                classMethodBrowse
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5362
                                methodSpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5363
                                classSpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5364
                                classSpawnFullProtocol
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5365
                                classSpawnHierarchy
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5366
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5367
                                methodSenders
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5368
                                methodImplementors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5369
                                methodGlobalReferends
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5370
"/                              nil
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5371
"/                              methodBreakPoint 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5372
"/                              methodTrace
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5373
"/                              methodTraceSender
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5374
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5375
                                methodRemove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5376
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5377
                                othersMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5378
                  ).
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5379
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5380
    m := PopUpMenu 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5381
        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5382
        selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5383
        accelerators:shorties.
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5384
    m subMenuAt:#othersMenu put:specialMenu.
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5385
    ^ m
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5386
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5387
    "Modified: / 27.10.1997 / 20:46:00 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5388
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5389
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5390
!BrowserView methodsFor:'class-method stuff'!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5391
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5392
classFromClassMethodString:aString
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5393
    "helper for classMethod-list - extract class name from the string"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5394
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5395
    |classString|
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5396
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5397
    classString := self classNameFromClassMethodString:aString.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5398
    ^ self findClassNamed:classString.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5399
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5400
    "Created: 3.3.1997 / 15:12:59 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5401
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5402
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5403
classMethodSelection:lineNr
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5404
    "user clicked on a class/method line - show code"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5405
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  5406
    |cls string classString selectorString meta sensor|
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5407
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5408
    string := classMethodListView selectionValue string.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5409
    classString := self classNameFromClassMethodString:string.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5410
    selectorString := self selectorFromClassMethodString:string.
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5411
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5412
    "/ reselected with control ?
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  5413
    ((sensor := self sensor) notNil and:[sensor ctrlDown]) ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5414
        selectorString = currentSelector ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5415
            "/ if there is a trace/break, remove it.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5416
            (currentMethod notNil and:[currentMethod isWrapped]) ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5417
                self methodRemoveBreakOrTrace.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5418
                ^ self
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5419
            ]
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5420
        ].
1074
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5421
    ].
346d64e1e3e3 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
  5422
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  5423
    ((classString ~= 'Metaclass') and:[classString endsWith:' class']) ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5424
        classString := classString copyWithoutLast:6 "copyTo:(classString size - 5)".
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5425
        meta := true.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5426
    ] ifFalse:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5427
        meta := false.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5428
    ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5429
    self changeCurrentClass:(self findClassNamed:classString).
131
claus
parents: 130
diff changeset
  5430
    meta ifTrue:[cls := currentClass class] ifFalse:[cls := currentClass].
claus
parents: 130
diff changeset
  5431
    actualClass := acceptClass := cls.
129
claus
parents: 126
diff changeset
  5432
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5433
    currentClass isNil ifTrue:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5434
        self warn:'oops method is gone'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5435
    ] ifFalse:[
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5436
        currentClassCategory := currentClass category.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5437
        currentSelector := selectorString asSymbol.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5438
        currentMethod := actualClass compiledMethodAt:currentSelector.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5439
        currentMethod isNil ifTrue:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5440
            self warn:'oops method is gone'
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5441
        ] ifFalse:[
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5442
            currentMethodCategory := currentMethod category.
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5443
        ].
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5444
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5445
        self methodSelectionChanged
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5446
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5447
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5448
    self setDoitActionForClass
131
claus
parents: 130
diff changeset
  5449
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5450
    "Modified: / 31.8.1995 / 11:56:02 / claus"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5451
    "Modified: / 17.6.1996 / 16:51:28 / stefan"
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  5452
    "Modified: / 10.4.1998 / 12:25:41 / cg"
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5453
!
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5454
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5455
classNameFromClassMethodString:aString
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5456
    "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
  5457
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5458
    |pos s|
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5459
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5460
    s := aString string withoutSpaces.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5461
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5462
	s := s copyWithoutLast:2
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5463
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5464
    (s endsWith:')') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5465
	s := aString copyTo:(aString lastIndexOf:$()-1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5466
	s := s withoutSpaces.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5467
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5468
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5469
	s := s copyWithoutLast:2
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5470
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5471
    pos := s lastIndexOf:(Character space).
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5472
    ^ s copyTo:(pos - 1)
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5473
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  5474
    "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
  5475
    "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
  5476
    "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
  5477
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5478
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5479
selectorFromClassMethodString:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5480
    "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
  5481
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5482
    |pos s|
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5483
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5484
    s := aString withoutSpaces.
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5485
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5486
	s := s copyWithoutLast:2
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5487
    ].
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5488
    (s endsWith:')') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5489
	s := aString copyTo:(aString lastIndexOf:$()-1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5490
	s := s withoutSpaces.
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5491
    ].
677
7e4ad7a82041 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  5492
    (s endsWith:' !!') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5493
	s := s copyWithoutLast:2
677
7e4ad7a82041 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 674
diff changeset
  5494
    ].
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5495
    pos := s lastIndexOf:(Character space).
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  5496
    ^ 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
  5497
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  5498
    "Modified: 17.6.1996 / 17:04:38 / stefan"
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  5499
    "Modified: 4.11.1996 / 23:57:00 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5500
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5501
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5502
!BrowserView methodsFor:'event handling'!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5503
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5504
handlesKeyPress:key inView:view
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5505
    "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
  5506
     a keyPress in some other view ?"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5507
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5508
    <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
  5509
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5510
    |untranslatedKey|
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5511
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5512
    untranslatedKey := device keyboardMap keyAtValue:key ifAbsent:key.
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5513
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5514
    view == classCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5515
        (key == #Find) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5516
        (untranslatedKey == #Cmdn) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5517
        (untranslatedKey == #Cmdc) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5518
        (untranslatedKey == #Cmdo) ifTrue:[^ true].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5519
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5520
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5521
    view == classListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5522
        (untranslatedKey == #Cmdn) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5523
        (untranslatedKey == #Cmdl) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5524
        (untranslatedKey == #Cmdd) ifTrue:[^ true].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5525
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5526
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5527
    view == methodCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5528
        (untranslatedKey == #Cmdn) ifTrue:[^ true].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5529
    ].
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5530
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5531
    ((view == methodListView)
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5532
    or:[view == classMethodListView]) ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5533
        (untranslatedKey == #Cmdi) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5534
        (untranslatedKey == #Cmds) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5535
        (untranslatedKey == #Cmdg) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5536
        (untranslatedKey == #Cmdt) ifTrue:[^ true].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5537
        (untranslatedKey == #Cmda) ifTrue:[^ true].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5538
    ].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5539
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5540
    ^ false
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5541
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5542
    "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
  5543
    "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
  5544
    "Modified: / 16.1.1998 / 17:20:36 / stefan"
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5545
!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5546
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5547
keyPress:key x:x y:y view:view
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5548
    "this method is reached via delegation from the classCategoryListView"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5549
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5550
    <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
  5551
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5552
    |untranslatedKey|
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5553
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5554
    "/
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5555
    "/ have to untranslate (since we get #Inspect / #Search
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5556
    "/
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5557
    untranslatedKey := device keyboardMap keyAtValue:key ifAbsent:key.
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5558
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5559
    view == classCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5560
        (key == #Find) ifTrue:[^ self classCategoryFindClass].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5561
        (untranslatedKey == #Cmdn) ifTrue:[^ self classCategoryNewCategory].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5562
        (untranslatedKey == #Cmdc) ifTrue:[^ self classCategoryClone].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5563
        (untranslatedKey == #Cmdo) ifTrue:[^ self classCategoryOpenInClass].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5564
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5565
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5566
    view == classListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5567
        (untranslatedKey == #Cmdn) ifTrue:[^ self classNewClass].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5568
        (untranslatedKey == #Cmdl) ifTrue:[^ self classLoad].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5569
        (untranslatedKey == #Cmdd) ifTrue:[^ self classDocumentation].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5570
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5571
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5572
    view == methodCategoryListView ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5573
        (untranslatedKey == #Cmdn) ifTrue:[^ self methodCategoryNewCategory].
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5574
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5575
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5576
    ((view == methodListView)
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  5577
    or:[view == classMethodListView]) ifTrue:[
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5578
        (untranslatedKey == #Cmdi) ifTrue:[^ self methodImplementors].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5579
        (untranslatedKey == #Cmds) ifTrue:[^ self methodSenders].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5580
        (untranslatedKey == #Cmdg) ifTrue:[^ self methodGlobalReferends].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5581
        (untranslatedKey == #Cmdt) ifTrue:[^ self methodStringSearch].
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5582
        (untranslatedKey == #Cmda) ifTrue:[^ self methodAproposSearch].
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5583
    ].
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5584
    view keyPress:key x:x y:y
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5585
1419
89b47621cf99 Keep class selection (if possible) on class category change.
Stefan Vogel <sv@exept.de>
parents: 1416
diff changeset
  5586
    "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
  5587
    "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
  5588
    "Modified: / 16.1.1998 / 17:20:24 / stefan"
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5589
! !
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5590
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5591
!BrowserView methodsFor:'help'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5592
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5593
helpTextFor:aComponent
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5594
    |s|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5595
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5596
    aComponent == classCategoryListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5597
	s := 'HELP_CCAT_LIST'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5598
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5599
    aComponent == classListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5600
	fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5601
	    s := 'HELP_PCLASS_LIST'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5602
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5603
	    currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5604
		s := 'HELP_HCLASS_LIST'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5605
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5606
		s := 'HELP_CLASS_LIST'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5607
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5608
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5609
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5610
    aComponent == methodCategoryListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5611
	s := 'HELP_MCAT_LIST'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5612
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5613
    aComponent == methodListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5614
	s := 'HELP_METHOD_LIST'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5615
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5616
    aComponent == variableListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5617
	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
  5618
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5619
    aComponent == codeView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5620
	fullClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5621
	    s := 'HELP_FULLCODE_VIEW'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5622
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5623
	    s := 'HELP_CODE_VIEW'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5624
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5625
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5626
    (aComponent == instanceToggle 
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5627
    or:[aComponent == classToggle]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5628
	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
  5629
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5630
    aComponent == classMethodListView ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5631
	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
  5632
    ].
1211
588a4d148234 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1210
diff changeset
  5633
    (aComponent isComponentOf:namespaceList) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5634
	s := 'HELP_NS_BOX'
1210
2b37259f0068 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1208
diff changeset
  5635
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5636
    s notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5637
	^ resources string:s
105
claus
parents: 98
diff changeset
  5638
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5639
    ^ nil
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5640
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5641
    "Modified: 31.8.1995 / 19:11:39 / claus"
1211
588a4d148234 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1210
diff changeset
  5642
    "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
  5643
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5644
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5645
!BrowserView methodsFor:'initialize / release'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5646
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5647
autoSearch:aString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5648
    "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
  5649
     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
  5650
     search for the searchstring in the codeView"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5651
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5652
    self setSearchPattern:aString.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5653
    autoSearch := aString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5654
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5655
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5656
destroy
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5657
    "relese dependant - destroy popups"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5658
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5659
    Smalltalk removeDependent:self.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5660
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5661
	self releaseClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5662
	"/
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5663
	"/ just in case someone keeps a ref to myself around ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5664
	"/ ... release refs to my class (not really needed)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5665
	"/
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5666
	currentClass := actualClass := acceptClass := nil
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5667
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5668
    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
  5669
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
  5670
    "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
  5671
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5672
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5673
initialize
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5674
    super initialize.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5675
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5676
    showInstance := true.
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  5677
    showAllNamespaces := false.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5678
    fullClass := false.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5679
    fullProtocol := false.
905
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  5680
    gotClassList := false.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5681
    aspect := nil.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5682
    currentNamespace := '* all *'.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5683
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5684
    "inform me, when Smalltalk changes"
1529
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  5685
    Smalltalk addDependent:self.
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  5686
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  5687
    "create a history"
af92934e130b initialize class history
tz
parents: 1528
diff changeset
  5688
    self class classHistory
149
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
1248
72832110f144 #realize -> #postRealize
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
  5691
postRealize
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5692
    |v checkBlock|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5693
1248
72832110f144 #realize -> #postRealize
Claus Gittinger <cg@exept.de>
parents: 1245
diff changeset
  5694
    super postRealize.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5695
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5696
    checkBlock := [:lineNr | self checkSelectionChangeAllowed].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5697
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5698
    v := classCategoryListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5699
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5700
        v action:[:lineNr | self classCategorySelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5701
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5702
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5703
        v list size == 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5704
            v list:(self listOfAllClassCategories).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5705
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5706
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5707
         tell classCategoryListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5708
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5709
        v menuHolder:self; menuPerformer:self; menuMessage:#classCategoryMenu.
107
claus
parents: 106
diff changeset
  5710
    ].
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
    v := classListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5713
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5714
        v action:[:lineNr | self classSelection:lineNr].
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  5715
        v doubleClickAction:[:lineNr | self classDoubleClick:lineNr].
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5716
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5717
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5718
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5719
         tell classListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5720
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5721
        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
  5722
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5723
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5724
    v := methodCategoryListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5725
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5726
        v action:[:lineNr | self methodCategorySelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5727
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5728
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5729
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5730
         tell methodCategoryListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5731
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5732
        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
  5733
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5734
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5735
    v := methodListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5736
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5737
        v action:[:lineNr | self methodSelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5738
        v doubleClickAction:[:lineNr | self methodDoubleClick:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5739
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5740
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5741
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5742
         tell methodListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5743
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5744
        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
  5745
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5746
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5747
    v := classMethodListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5748
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5749
        v action:[:lineNr | self classMethodSelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5750
        v selectConditionBlock:checkBlock.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5751
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5752
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5753
         tell classMethodListView to ask for the menu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5754
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5755
        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
  5756
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5757
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5758
    v := variableListView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5759
    v notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5760
        v action:[:lineNr | self variableSelection:lineNr].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5761
        v ignoreReselect:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5762
        v toggleSelect:true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5763
        v menuHolder:self; menuPerformer:self; menuMessage:#variableListMenu.
117
claus
parents: 114
diff changeset
  5764
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5765
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5766
    "
571
c946e6b3acd2 dont scroll to bottom in class-hierarchy browser
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  5767
     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
  5768
     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
  5769
    "
571
c946e6b3acd2 dont scroll to bottom in class-hierarchy browser
Claus Gittinger <cg@exept.de>
parents: 569
diff changeset
  5770
    fullProtocol ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5771
        classListView scrollToBottom.
123
claus
parents: 120
diff changeset
  5772
    ]
484
7680e95d51cb added openForClass item in cc-listView
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
  5773
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5774
    "Created: / 24.7.1997 / 18:14:59 / cg"
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  5775
    "Modified: / 29.10.1997 / 15:50:26 / cg"
124
claus
parents: 123
diff changeset
  5776
!
claus
parents: 123
diff changeset
  5777
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5778
terminate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5779
    (self checkSelectionChangeAllowed) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5780
	super terminate
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5781
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5782
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5783
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5784
title:someString
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5785
    myLabel := someString.
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  5786
    self topView label:someString.
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  5787
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  5788
    "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
  5789
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5790
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5791
!BrowserView methodsFor:'initialize subviews'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5792
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5793
createClassListViewIn:frame
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5794
    "setup the classlist subview, with its toggles"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5795
1080
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5796
    |v panel spc wScr wScrHalf|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5797
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5798
    self createTogglesIn:frame.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5799
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5800
    panel := VariableVerticalPanel
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5801
		    origin:(0.0 @ 0.0) corner:(1.0 @ 1.0)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5802
		    in:frame.
810
46e587b6e439 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 809
diff changeset
  5803
    styleSheet is3D ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5804
	spc := ViewSpacing.
810
46e587b6e439 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 809
diff changeset
  5805
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5806
	spc := 0
810
46e587b6e439 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 809
diff changeset
  5807
    ].
811
fde69dbb949a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 810
diff changeset
  5808
    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
  5809
49710cf2dd47 now is the time - for a scroller to come in the classList ...
Claus Gittinger <cg@exept.de>
parents: 762
diff changeset
  5810
    v := HVScrollableView 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5811
		for:SelectionInListView 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5812
		miniScrollerH:true miniScrollerV:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5813
		in:panel.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5814
    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
  5815
    classListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5816
    classListView delegate:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5817
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5818
    v := ScrollableView for:SelectionInListView in:panel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5819
    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
  5820
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5821
    variableListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5822
    variableListView delegate:self.
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  5823
1080
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5824
    wScr := v scrollBar preferredExtent x.
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5825
    wScrHalf := wScr // 2.
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5826
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5827
"/    (styleSheet at:'scrollBarPosition' default:#right) == #right ifTrue:[
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5828
"/        classToggle rightInset:(classToggle rightInset + wScr).
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5829
"/        classToggle leftInset:(classToggle leftInset - wScrHalf).
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5830
"/        instanceToggle rightInset:(instanceToggle rightInset + wScrHalf)
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5831
"/    ].
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5832
91096431f72c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1079
diff changeset
  5833
    "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
  5834
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5835
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5836
createCodeViewIn:aView
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5837
    "setup the code view"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  5838
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5839
    ^ self createCodeViewIn:aView atY:0.25
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5840
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5841
    "Modified: 2.3.1996 / 16:08:46 / cg"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5842
!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5843
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5844
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
  5845
    "setup the code view"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5846
    |v|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5847
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5848
    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
  5849
    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
  5850
    codeView := v scrolledView
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5851
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5852
    "Created: 2.3.1996 / 16:09:03 / cg"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5853
!
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5854
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5855
createMethodListViewIn:aView atX:relX
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5856
    "setup the method list view"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5857
    |v|
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5858
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5859
    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
  5860
    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
  5861
    methodListView := v scrolledView.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5862
    methodListView delegate:self.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5863
    ^ v
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5864
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5865
    "Created: 2.3.1996 / 16:07:10 / cg"
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5866
    "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
  5867
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5868
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5869
createTogglesIn:aFrame
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5870
    "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
  5871
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5872
    |h halfSpace classAction instanceAction|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5873
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5874
    classAction := [self instanceProtocol:false].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5875
    instanceAction := [self instanceProtocol:true].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5876
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5877
    halfSpace := ViewSpacing // 2.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5878
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5879
    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
  5880
    h := instanceToggle heightIncludingBorder.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5881
    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
  5882
    instanceToggle topInset:h negated.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5883
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5884
    instanceToggle turnOn.
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5885
    instanceToggle controller beToggle.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5886
    instanceToggle pressAction:instanceAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5887
    instanceToggle releaseAction:classAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5888
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5889
    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
  5890
    h := classToggle heightIncludingBorder.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5891
    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
  5892
    classToggle topInset:h negated.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5893
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5894
    classToggle turnOff.
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5895
    classToggle controller beToggle.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5896
    classToggle pressAction:classAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5897
    classToggle releaseAction:instanceAction.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5898
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5899
    styleSheet is3D ifTrue:[
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5900
        instanceToggle bottomInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5901
        classToggle bottomInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5902
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5903
        instanceToggle leftInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5904
        classToggle leftInset:halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5905
        instanceToggle rightInset:ViewSpacing - halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5906
        classToggle rightInset:ViewSpacing - halfSpace.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5907
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5908
        styleSheet name == #motif ifTrue:[
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5909
            instanceToggle showLamp:true.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5910
            classToggle showLamp:true.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5911
        ]
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5912
    ].
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5913
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5914
    "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
  5915
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5916
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5917
focusSequence
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5918
    |s|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5919
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5920
    s := OrderedCollection new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5921
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5922
    classCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5923
	s add:classCategoryListView
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5924
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5925
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5926
    classListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5927
	s add:classListView
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5928
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5929
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5930
"/    variableListView notNil ifTrue:[
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5931
"/        s add:variableListView
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5932
"/    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5933
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5934
    instanceToggle notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5935
	s add:instanceToggle.
149
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
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5938
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5939
	s add:methodCategoryListView
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
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5943
	s add:methodListView
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5944
    ].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5945
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5946
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  5947
	s add:classMethodListView
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5948
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  5949
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5950
    s add:codeView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5951
    ^ s
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5952
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5953
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5954
setupForAll
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5955
    "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
  5956
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5957
    |vpanel hpanel frame v spc nsHolder hMax|
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5958
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5959
    styleSheet is3D ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5960
        spc := ViewSpacing.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5961
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5962
        spc := 0
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5963
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5964
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5965
    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
  5966
    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
  5967
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5968
    v := HVScrollableView for:SelectionInListView
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5969
                          miniScrollerH:true miniScrollerV:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  5970
                          in:hpanel.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5971
    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
  5972
    classCategoryListView := v scrolledView.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  5973
    classCategoryListView delegate:self.
149
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
    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
  5976
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  5977
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5978
    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
  5979
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5980
    hMax := (instanceToggle height + instanceToggle borderWidth)
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5981
            max:(namespaceList preferredExtent y).
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5982
    hMax := hMax + spc.
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5983
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5984
    v bottomInset:hMax + spc.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5985
    nsHolder := currentNamespace asValue.
931
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5986
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  5987
    namespaceList topInset:(hMax negated) + (spc // 2).
1201
5bcdee8b4644 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1195
diff changeset
  5988
    namespaceList leftInset:(ViewSpacing // 2).
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  5989
    namespaceList bottomInset:(spc // 2).
931
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5990
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5991
"/    styleSheet is3D ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5992
"/        namespaceList leftInset:(classCategoryListView originRelativeTo:v) x.
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5993
"/    ].
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5994
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5995
"/    (v scrollBar originRelativeTo:v) > (classCategoryListView originRelativeTo:v)
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5996
"/    ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5997
"/        namespaceList rightInset:((v scrollBar originRelativeTo:v)
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5998
"/                                  -
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  5999
"/                                  (classCategoryListView originRelativeTo:v))
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6000
"/    ] ifFalse:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6001
"/        styleSheet is3D ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6002
"/            namespaceList rightInset:(ViewSpacing // 2).
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6003
"/        ]
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6004
"/    ].
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6005
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6006
"/        styleSheet is3D ifTrue:[
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6007
"/            namespaceList rightInset:(ViewSpacing // 2).
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6008
"/        ].
b31937ead721 fixed nameSpace views geometry for 2D styles
Claus Gittinger <cg@exept.de>
parents: 927
diff changeset
  6009
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6010
    self setListOfNamespaces.
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6011
    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
  6012
    namespaceList label menuHolder:self; menuMessage:#nameSpaceMenu.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6013
    nsHolder onChangeSend:#value
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6014
                       to:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6015
                                self changeNameSpaceTo:nsHolder value
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6016
                          ].
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  6017
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6018
    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
  6019
    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
  6020
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6021
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6022
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6023
    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
  6024
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6025
    self createCodeViewIn:vpanel
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6026
1369
f481dc05610f size of nameSpace view
Claus Gittinger <cg@exept.de>
parents: 1363
diff changeset
  6027
    "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
  6028
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6029
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6030
setupForClass:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6031
    "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
  6032
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6033
    |vpanel hpanel frame v|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6034
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6035
    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
  6036
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6037
    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
  6038
    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
  6039
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6040
    self createTogglesIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6041
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6042
    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
  6043
    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
  6044
      extent:[frame width
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
              (frame height 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6047
               - ViewSpacing
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6048
               - instanceToggle height
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6049
               - instanceToggle borderWidth
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6050
               + v borderWidth)].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6051
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6052
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6053
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6054
    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
  6055
    self createCodeViewIn:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6056
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  6057
    self changeCurrentClass:aClass.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6058
    actualClass := acceptClass := aClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6059
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6060
    self updateMethodList.
151
9ed80631f710 Show class definition when starting Class Browser.
Stefan Vogel <sv@exept.de>
parents: 149
diff changeset
  6061
    self updateCodeView.
9ed80631f710 Show class definition when starting Class Browser.
Stefan Vogel <sv@exept.de>
parents: 149
diff changeset
  6062
    self classDefinition.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6063
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  6064
    "Modified: / 10.4.1998 / 12:25:51 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6065
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6066
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6067
setupForClass:aClass methodCategory:aMethodCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6068
    "setup subviews to browse a method category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6069
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6070
    |vpanel v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6071
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6072
    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
  6073
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6074
    v := self createMethodListViewIn:vpanel atX:0.0.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6075
    v corner:(1.0 @ 0.25).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6076
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6077
    self createCodeViewIn:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6078
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6079
    currentClassCategory := aClass category.
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  6080
    self changeCurrentClass:aClass.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6081
    actualClass := acceptClass := aClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6082
    currentMethodCategory := aMethodCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6083
    self updateMethodList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6084
    self updateCodeView.
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6085
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  6086
    "Modified: / 10.4.1998 / 12:25:52 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6087
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6088
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6089
setupForClass:aClass selector:selector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6090
    "setup subviews to browse a single method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6091
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6092
    |v|
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
    v := ScrollableView for:CodeView in:self.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6095
    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
  6096
    codeView := v scrolledView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6097
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6098
    currentClassCategory := aClass category.
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  6099
    self changeCurrentClass:aClass.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6100
    actualClass := acceptClass := aClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6101
    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
  6102
    currentMethod := actualClass compiledMethodAt:selector.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6103
    currentMethodCategory := currentMethod category.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6104
    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
  6105
1543
8d3f734ec81d update of codeView in open-new-on-class
Claus Gittinger <cg@exept.de>
parents: 1541
diff changeset
  6106
    "Modified: / 10.4.1998 / 12:25:55 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6107
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6108
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6109
setupForClassCategory:aClassCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6110
    "setup subviews to browse a class category"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6111
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6112
    |vpanel hpanel frame v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6113
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6114
    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
  6115
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6116
    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
  6117
    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
  6118
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6119
    self createClassListViewIn:frame.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6120
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6121
    v := ScrollableView for:SelectionInListView in:hpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6122
    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
  6123
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6124
    methodCategoryListView delegate:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6125
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6126
    self createMethodListViewIn:hpanel atX:0.66.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6127
    self createCodeViewIn:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6128
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6129
    currentClassCategory := aClassCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6130
    self updateClassList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6131
    self updateMethodCategoryList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6132
    self updateMethodList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6133
    self updateCodeView
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6134
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6135
    "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
  6136
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6137
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6138
setupForClassHierarchy:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6139
    "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
  6140
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6141
    |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
  6142
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6143
    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
  6144
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6145
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6146
     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
  6147
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6148
    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
  6149
    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
  6150
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6151
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6152
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6153
    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
  6154
    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
  6155
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6156
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6157
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6158
    self createMethodListViewIn:hpanel atX:0.66.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6159
    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
  6160
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6161
    cls := aClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6162
    cls isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6163
        cls := cls soleInstance
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6164
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6165
    currentClassHierarchy := currentClass := actualClass := cls.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6166
    self updateClassList.
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  6167
    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
  6168
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6169
    self updateMethodList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6170
    self updateCodeView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6171
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6172
    aClass isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6173
        self instanceProtocol:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6174
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6175
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6176
    "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
  6177
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6178
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6179
setupForClassList:aList
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6180
    "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
  6181
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6182
    self setupForClassList:aList sort:true
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6183
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6184
    "Modified: 28.5.1996 / 13:53:03 / cg"
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6185
!
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6186
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6187
setupForClassList:aList sort:doSort
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6188
    "setup subviews to browse classes from a list"
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6189
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6190
    |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
  6191
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6192
    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
  6193
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6194
    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
  6195
    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
  6196
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6197
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6198
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6199
    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
  6200
    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
  6201
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6202
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6203
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6204
    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
  6205
    self createCodeViewIn:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6206
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6207
    l := (aList collect:[:entry | 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6208
                entry isBehavior ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6209
                    entry name
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6210
                ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6211
                    entry
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6212
                ]]) asOrderedCollection.
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6213
    doSort ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6214
        l sort.
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6215
    ].
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  6216
    classListView list:l.
905
f246868be4b1 dont update the classList, if it was given explicit
Claus Gittinger <cg@exept.de>
parents: 903
diff changeset
  6217
    gotClassList := true.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6218
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6219
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6220
    self updateMethodList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6221
    self updateCodeView
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6222
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6223
    "Created: / 28.5.1996 / 13:52:47 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6224
    "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
  6225
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6226
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6227
setupForFullClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6228
    "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
  6229
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6230
    |vpanel hpanel v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6231
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6232
    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
  6233
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6234
    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
  6235
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6236
    v := ScrollableView for:SelectionInListView in:hpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6237
    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
  6238
    classCategoryListView := v scrolledView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6239
    classCategoryListView contents:(self listOfAllClassCategories).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6240
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6241
    v := ScrollableView for:SelectionInListView in:hpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6242
    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
  6243
    classListView := v scrolledView.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6244
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6245
    self createCodeViewIn:vpanel.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6246
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6247
    fullClass := true.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6248
    self updateCodeView
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6249
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6250
    "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
  6251
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6252
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6253
setupForFullClassProtocol:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6254
    "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
  6255
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6256
    |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
  6257
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6258
    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
  6259
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6260
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6261
     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
  6262
    "
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6263
    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
  6264
    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
  6265
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6266
    self createClassListViewIn:frame.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6267
    classListView multipleSelectOk:true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6268
    classListView toggleSelect:true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6269
    classListView strikeOut:true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6270
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6271
    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
  6272
    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
  6273
    methodCategoryListView := v scrolledView.
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6274
    methodCategoryListView delegate:self.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6275
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6276
    self createMethodListViewIn:hpanel atX:0.66.
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  6277
    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
  6278
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6279
    cls := aClass.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6280
    cls isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6281
        cls := cls soleInstance
107
claus
parents: 106
diff changeset
  6282
    ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6283
    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
  6284
    fullProtocol := true.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6285
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6286
    self updateClassList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6287
    self updateMethodCategoryList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6288
    self updateMethodList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6289
    self updateCodeView.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6290
    self updateVariableList.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6291
    aClass isMeta ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6292
        self instanceProtocol:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6293
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6294
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6295
    "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
  6296
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6297
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6298
setupForList:aList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6299
    "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
  6300
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6301
    |vpanel v|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6302
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6303
    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
  6304
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6305
    v := ScrollableView for:SelectionInListView in:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6306
    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
  6307
    classMethodListView := v scrolledView.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6308
    classMethodListView contents:aList.
474
9ba54a6241cb shortkeys also when browsing senders/implementors
Claus Gittinger <cg@exept.de>
parents: 466
diff changeset
  6309
    classMethodListView delegate:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6310
408
33b1b3dfdac4 show current revision (in compare); doubleClick-start in class/method browser
Claus Gittinger <cg@exept.de>
parents: 393
diff changeset
  6311
    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
  6312
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6313
    self createCodeViewIn:vpanel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6314
    aList size == 1 ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6315
        classMethodListView setSelection:1.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6316
        self classMethodSelection:1. 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6317
    ].
1060
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6318
    self updateCodeView.
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6319
    "/ kludge - get trap icons
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6320
    self updateClassMethodListWithScroll:false keepSelection:true
a103c9534977 also show icons in initial class-method-list
Claus Gittinger <cg@exept.de>
parents: 1058
diff changeset
  6321
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6322
    "Modified: / 25.10.1997 / 19:27:40 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6323
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6324
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6325
!BrowserView methodsFor:'method category list menu'!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6326
990
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6327
createAccessMethodsFor:aCollectionOfInstVarNames
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6328
    "workhorse for creating access methods for instvars."
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6329
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6330
    aCollectionOfInstVarNames do:[:name |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6331
	|source|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6332
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6333
	"check, if method is not already present"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6334
	(currentClass includesSelector:(name asSymbol)) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6335
	    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
  6336
	    Compiler compile:source forClass:currentClass inCategory:'accessing'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6337
	] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6338
	    Transcript showCR:'method ''', name , ''' already present'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6339
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6340
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6341
	(currentClass includesSelector:((name , ':') asSymbol)) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6342
	    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
  6343
	    Compiler compile:source forClass:currentClass inCategory:'accessing'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6344
	] ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6345
	    Transcript showCR:'method ''', name , ':'' already present'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6346
	].
990
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6347
    ]
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6348
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6349
    "Created: 24.1.1997 / 11:04:46 / cg"
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6350
!
e206a230a69e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 987
diff changeset
  6351
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6352
methodCategoryCopyCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6353
    "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
  6354
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6355
    |title box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6356
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6357
    showInstance ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6358
	title := 'class to copy instance method category from:'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6359
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6360
	title := 'class to copy class method category from:'
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6361
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6362
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6363
    box := self listBoxTitle:title 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6364
		      okText:'ok' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6365
			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
  6366
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6367
    box label:(resources string:'copy methods').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6368
    box action:[:aString | self copyMethodsFromClass:aString].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6369
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6370
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6371
    "Modified: 16.1.1997 / 00:01:20 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6372
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6373
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6374
methodCategoryCreateAccessMethods
559
432abfae606f commentary
Claus Gittinger <cg@exept.de>
parents: 557
diff changeset
  6375
    "create access methods for instvars.
432abfae606f commentary
Claus Gittinger <cg@exept.de>
parents: 557
diff changeset
  6376
     If no variable is selected, for all instvars;
432abfae606f commentary
Claus Gittinger <cg@exept.de>
parents: 557
diff changeset
  6377
     otherwise for that selected instvar."
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6378
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6379
    self checkClassSelected ifFalse:[^ self].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6380
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6381
    showInstance ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6382
	self warn:'select instance - and try again'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6383
	^ self.
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6384
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6385
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6386
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6387
	|nm names|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6388
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6389
	(variableListView notNil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6390
	and:[(nm := variableListView selectionValue) notNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6391
	    names := Array with:nm
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6392
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6393
	    names := currentClass instVarNames 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6394
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6395
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6396
	lockUpdates := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6397
	[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6398
	    self createAccessMethodsFor:names.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6399
	] valueOnUnwindDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6400
	    lockUpdates := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6401
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6402
	self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6403
	self updateMethodListWithScroll:false
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6404
    ]
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  6405
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6406
    "Modified: 18.8.1997 / 15:44:10 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6407
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6408
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6409
methodCategoryCreateDocumentationMethods
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6410
    "create empty documentation methods"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6411
1194
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6412
    |cls histStream fn txt|
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6413
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6414
    self checkClassSelected ifFalse:[^ self].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6415
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6416
    cls := currentClass class.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6417
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6418
    self withBusyCursorDo:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6419
        |nm names source|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6420
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6421
        "/ add version method containing RCS template
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6422
        "/ 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
  6423
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6424
        cls isPrivate ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6425
            (cls includesSelector:#version) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6426
                Compiler compile:
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6427
'version
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  6428
    ^ ''$' , 'Header$''
1208
5a2aa83494c3 dont create a #version method in private classes.
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
  6429
' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6430
                      forClass:cls 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6431
                      inCategory:'documentation'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6432
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6433
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6434
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6435
        "/ add copyright method containing your/your companies
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6436
        "/ copyright template but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6437
        "/ this is only added, if specified in the 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6438
        "/ COPYRIGHT_TEMPLATE_FILE resources.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6439
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6440
        (cls includesSelector:#copyright) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6441
            fn := resources at:#'COPYRIGHT_TEMPLATE_FILE' default:nil.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6442
            fn notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6443
                fn := fn asFilename.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6444
                fn exists ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6445
                    txt := fn contents asString
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
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6448
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6449
            txt notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6450
                txt := txt bindWith:(Date today year).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6451
                Compiler compile:
1194
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6452
'copyright
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6453
"
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6454
' , txt , '
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6455
"
7fbf9a4f4914 add copyright, if COPYRIGHT_TEMPLATE_FILE resource
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
  6456
'                   forClass:cls 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6457
                  inCategory:'documentation'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6458
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6459
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6460
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6461
        "/ add documentation method containing doc template
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6462
        "/ but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6463
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6464
        (cls includesSelector:#documentation) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6465
            Compiler compile:
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6466
'documentation
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6467
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6468
    documentation to be added.
1444
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6469
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6470
    [author:]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6471
        ' , OperatingSystem getFullUserName 
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6472
          , ' (' , OperatingSystem getLoginName , '@' , OperatingSystem getHostName , ')' , '
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6473
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6474
    [see also:]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6475
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6476
    [instance variables:]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6477
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6478
    [class variables:]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6479
"
120
claus
parents: 118
diff changeset
  6480
'                   forClass:cls 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6481
                  inCategory:'documentation'.
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
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6484
        "/ add examples method containing examples template
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6485
        "/ but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6486
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6487
        (cls includesSelector:#examples) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6488
            Compiler compile:
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6489
'examples
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6490
"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6491
    examples to be added.
1444
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6492
                                                                [exBegin]
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6493
    ... add code fragment for 
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6494
    ... executable example here ...
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6495
                                                                [exEnd]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6496
"
120
claus
parents: 118
diff changeset
  6497
'                   forClass:cls 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6498
                  inCategory:'documentation'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6499
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6500
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6501
        "/ add history method containing created-entry
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6502
        "/ but only if not already present.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6503
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6504
        (cls includesSelector:#history) ifFalse:[ 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6505
            HistoryManager notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6506
                HistoryManager createInitialHistoryMethodIn:cls
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6507
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6508
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6509
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6510
        self instanceProtocol:false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6511
        self switchToMethodNamed:#documentation 
1208
5a2aa83494c3 dont create a #version method in private classes.
Claus Gittinger <cg@exept.de>
parents: 1202
diff changeset
  6512
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6513
"/        self updateMethodCategoryListWithScroll:false.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6514
"/        self updateMethodListWithScroll:false
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6515
    ]
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  6516
1444
2b198bcb0189 better initial documentation & examples methods.
Claus Gittinger <cg@exept.de>
parents: 1426
diff changeset
  6517
    "Modified: / 1.2.1998 / 16:10:03 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6518
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6519
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6520
methodCategoryFileOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6521
    "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
  6522
     the current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6523
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6524
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6525
    self whenMethodCategorySelected:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6526
	self busyLabel:'saving: %1' with:currentClass name , '-' , currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6527
	Class fileOutErrorSignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6528
	    self warn:'cannot create: %1' with:ex parameter.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6529
	    ex return.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6530
	] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6531
	    actualClass fileOutCategory:currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6532
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6533
	self normalLabel.
199
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
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6536
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6537
methodCategoryFileOutAll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6538
    "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
  6539
     the current class"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6540
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
    self whenMethodCategorySelected:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6543
        |fileName outStream|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6544
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6545
        fileName := (currentMethodCategory , '.st') asFilename.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6546
        fileName makeLegalFilename.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6547
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6548
         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
  6549
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6550
        Project notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6551
            fileName := Project currentProjectDirectory asFilename construct: fileName name.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6552
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6553
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6554
         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
  6555
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6556
        fileName exists ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6557
            fileName copyTo:(fileName withSuffix: 'sav')
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6558
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6559
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6560
        fileName := fileName pathName.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6561
        outStream := FileStream newFileNamed:fileName.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6562
        outStream isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6563
            ^ self warn:'cannot create: %1' with:fileName
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6564
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6565
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6566
        self busyLabel:'saving: ' with:currentMethodCategory.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6567
        Class fileOutErrorSignal handle:[:ex |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6568
            self warn:'cannot create: %1' with:ex parameter.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6569
            ex return
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6570
        ] do:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6571
            Smalltalk allBehaviorsDo:[:class |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6572
                |hasMethodsInThisCategory|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6573
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6574
                hasMethodsInThisCategory := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6575
                class methodDictionary do:[:method |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6576
                    method category = currentMethodCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6577
                        hasMethodsInThisCategory := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6578
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6579
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6580
                hasMethodsInThisCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6581
                    class fileOutCategory:currentMethodCategory on:outStream.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6582
                    outStream cr
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6583
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6584
                hasMethodsInThisCategory := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6585
                class class methodDictionary do:[:method |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6586
                    method category = currentMethodCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6587
                        hasMethodsInThisCategory := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6588
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6589
                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6590
                hasMethodsInThisCategory ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6591
                    class class fileOutCategory:currentMethodCategory on:outStream.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6592
                    outStream cr
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6593
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6594
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6595
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6596
        outStream close.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6597
        self normalLabel.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6598
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6599
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6600
    "Modified: / 7.6.1996 / 09:03:56 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6601
    "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
  6602
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6603
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6604
methodCategoryFindAnyMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6605
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6606
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6607
    box := self enterBoxForSearchSelectorTitle:'method selector to search for:'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6608
    box label:(resources string:'find method').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6609
    box action:[:aString | self switchToAnyMethodNamed:aString].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6610
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6611
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6612
    "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
  6613
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6614
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6615
methodCategoryFindMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6616
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6617
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6618
    box := self enterBoxForSearchSelectorTitle:'method selector to search for:'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6619
    box label:(resources string:'find method').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6620
    box action:[:aString | self switchToMethodNamed:aString].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6621
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6622
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6623
    "Modified: 15.1.1997 / 23:59:27 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6624
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6625
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6626
methodCategoryMenu
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  6627
    <resource: #keyboard (#Cmdn)>
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6628
    <resource: #programMenu >
946
68f742bdbcd0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 933
diff changeset
  6629
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6630
    |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
  6631
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6632
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6633
        methodCategoryListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6634
        ^ nil
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6635
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6636
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6637
    labels := #().
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6638
    selectors := #().
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6639
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6640
    currentMethodCategory notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6641
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6642
                    'fileOut' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6643
                    'fileOut all' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6644
                    'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6645
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6646
                    'SPAWN_METHODCATEGORY'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6647
                    'spawn category'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6648
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6649
                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6650
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6651
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6652
                    methodCategoryFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6653
                    methodCategoryFileOutAll
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6654
                    methodCategoryPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6655
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6656
                    methodCategorySpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6657
                    methodCategorySpawnCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6658
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6659
                   ).
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6660
    ].            
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6661
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6662
    labels := labels , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6663
                'find method here ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6664
                'find method ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6665
                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6666
                'new category ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6667
                'copy category ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6668
               ).
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6669
    selectors := selectors , #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6670
                methodCategoryFindMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6671
                methodCategoryFindAnyMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6672
                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6673
                methodCategoryNewCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6674
                methodCategoryCopyCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6675
               ).
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6676
1237
eb435327405d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1236
diff changeset
  6677
    showInstance ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6678
        labels := labels , #( 'create access methods' ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6679
        selectors := selectors , #( #methodCategoryCreateDocumentationMethods ).
1237
eb435327405d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1236
diff changeset
  6680
    ] ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6681
        (variableListView notNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6682
        and:[(varSel := variableListView selectionValue) notNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6683
            s := 'create access methods (for ''%1'')' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6684
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6685
            s := 'create access methods (for all)' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6686
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6687
        s := resources string:s with:varSel.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6688
        labels := labels , (Array with:s).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6689
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6690
                    methodCategoryCreateAccessMethods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6691
                   ).
1237
eb435327405d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1236
diff changeset
  6692
    ].
1230
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6693
ebc7e14ceff1 show variable in 'create access method' menu item
Claus Gittinger <cg@exept.de>
parents: 1211
diff changeset
  6694
    currentMethodCategory notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6695
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6696
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6697
                    'rename ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6698
                    'remove'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6699
                   ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6700
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6701
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6702
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6703
                    methodCategoryRename
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6704
                    methodCategoryRemove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6705
                   ).
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6706
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6707
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6708
    showInstance ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6709
        labels := labels copy.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6710
        selectors := selectors copy.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6711
        i := labels indexOf:'create access methods'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6712
        labels at:i put:'create documentation stubs'. 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6713
        selectors at:i put:#methodCategoryCreateDocumentationMethods
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6714
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6715
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6716
    shorties := Array new:(selectors size).
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6717
    (selectors includes:#methodCategoryNewCategory) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6718
        shorties at:(selectors indexOf:#methodCategoryNewCategory) put:#Cmdn
813
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6719
    ].
a62df3d52e01 Alt-n (for new-xxx);
Claus Gittinger <cg@exept.de>
parents: 812
diff changeset
  6720
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6721
    m := PopUpMenu 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6722
        labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6723
        selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6724
        accelerators:shorties.
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6725
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6726
    currentClass isLoaded ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6727
        m disableAll:#(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6728
                        methodCategoryNewCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6729
                        methodCategoryCopyCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6730
                        methodCategoryCreateAccessMethods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6731
                      )
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6732
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6733
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6734
    ^ m
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
  6735
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  6736
    "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
  6737
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6738
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6739
methodCategoryNewCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6740
    "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
  6741
     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
  6742
     useless typing."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6743
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6744
    |someCategories existingCategories box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6745
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6746
    actualClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6747
	someCategories := actualClass allCategories
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6748
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6749
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6750
	 mhmh - offer some typical categories ...
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6751
	"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6752
	showInstance ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6753
	    someCategories := #('accessing' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6754
				'initialization'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6755
				'private' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6756
				'printing & storing'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6757
				'queries'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6758
				'testing'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6759
			       )
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6760
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6761
	    someCategories := #(
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6762
				'documentation'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6763
				'initialization'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6764
				'instance creation'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6765
			       ).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6766
	].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6767
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6768
    someCategories sort.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6769
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
     remove existing categories
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
    existingCategories := methodCategoryListView list.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6774
    existingCategories notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6775
	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
  6776
    ].
838
9e981e2b8158 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 836
diff changeset
  6777
    someCategories := someCategories asSet asOrderedCollection sort.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6778
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6779
    box := self listBoxTitle:'name of new method category:'
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6780
		      okText:'create'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6781
			list:someCategories.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6782
    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
  6783
    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
  6784
    box action:[:aString | self newMethodCategory:aString. lastCategory := aString].
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6785
    box showAtPointer
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6786
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6787
    "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
  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
methodCategoryPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6791
    |printStream|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6792
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6793
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6794
    self whenMethodCategorySelected:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6795
	printStream := Printer new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6796
	actualClass printOutCategory:currentMethodCategory on:printStream.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6797
	printStream close
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6798
    ]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6799
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6800
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6801
methodCategoryRemove
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6802
    "show number of methods to remove and query user"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6803
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  6804
    |t box sels count answer|
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6805
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6806
    currentMethodCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6807
	sels := OrderedCollection new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6808
	actualClass methodDictionary keysAndValuesDo:[:selector :aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6809
	    (aMethod category = currentMethodCategory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6810
		sels add:selector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6811
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6812
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6813
	count := sels size.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6814
	(count ~~ 0) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6815
	    (count == 1) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6816
		t := 'remove %1\(with 1 method) ?'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6817
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6818
		t := 'remove %1\(with %2 methods) ?'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6819
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6820
	    t := resources string:t with:currentMethodCategory with:count printString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6821
	    t := t withCRs.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6822
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6823
	    box := YesNoBox 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6824
		       title:t
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6825
		       yesText:(resources at:'remove')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6826
		       noText:(resources at:'abort').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6827
	    answer := box confirm.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6828
	    box destroy.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6829
	    answer ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6830
		^ self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6831
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6832
	    sels do:[:selector|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6833
		actualClass removeSelector:selector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6834
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6835
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6836
	currentMethodCategory := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6837
	currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6838
	self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6839
	self updateMethodList
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6840
    ]
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6841
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6842
    "Modified: 7.6.1996 / 09:13:15 / stefan"
916
fcc0c3c945d4 destroy box after use
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
  6843
    "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
  6844
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6845
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6846
methodCategoryRename
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6847
    "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
  6848
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6849
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6850
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6851
    self checkMethodCategorySelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6852
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6853
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6854
		enterBoxTitle:(resources string:'rename method category %1 to:' with:currentMethodCategory)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6855
		okText:(resources at:'rename')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6856
		label:'rename category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6857
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6858
    box initialText:currentMethodCategory.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6859
    box action:[:aString | 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6860
	actualClass renameCategory:currentMethodCategory to:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6861
	currentMethodCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6862
	currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6863
	self updateMethodCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6864
	self updateMethodListWithScroll:false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6865
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6866
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6867
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6868
    "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
  6869
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6870
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6871
methodCategorySpawn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6872
    "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
  6873
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6874
    currentMethodCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6875
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6876
	    SystemBrowser browseClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6877
		    methodCategory:currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6878
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6879
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6880
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  6881
    "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
  6882
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6883
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6884
methodCategorySpawnCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6885
    "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
  6886
     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
  6887
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6888
    self askAndBrowseMethodCategory:'category to browse methods:'
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6889
			     action:[:aString | 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6890
					SystemBrowser browseMethodCategory:aString
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6891
				    ]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6892
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
  6893
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6894
!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
  6895
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6896
checkMethodCategorySelected
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6897
    currentMethodCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6898
	self warn:'select a method category first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6899
	^ false
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6900
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6901
    ^ true
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6902
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6903
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6904
copyMethodsFromClass:aClassName
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6905
    |class box list|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6906
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6907
    currentClass notNil ifTrue:[
1384
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6908
        class := Smalltalk classNamed:aClassName.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6909
        class isBehavior ifFalse:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6910
            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
  6911
            ^ self
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6912
        ].
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6913
        class isLoaded ifFalse:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6914
            (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
  6915
            ifTrue:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6916
                class autoload
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6917
            ]
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6918
        ].        
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6919
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6920
        showInstance ifFalse:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6921
            class := class class             
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6922
        ].
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6923
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6924
        "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
  6925
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6926
        list := class categories asOrderedCollection sort.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6927
        list addFirst:'*'.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6928
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6929
        box := self 
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6930
                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
  6931
                okText:'copy'
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6932
                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
  6933
                list:list.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6934
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6935
        box open.
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6936
        box accepted ifTrue:[
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6937
            self 
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6938
                copyMethodsFromClass:class 
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6939
                category:(box aspectFor:#fieldValue) value
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6940
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6941
    ]
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  6942
1384
32b40f0c25ba Try to load class before copying a method category.
Stefan Vogel <sv@exept.de>
parents: 1382
diff changeset
  6943
    "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
  6944
    "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
  6945
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6946
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6947
copyMethodsFromClass:class category:category
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6948
    currentClass notNil ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6949
        Object abortSignal catch:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6950
            class methodDictionary do:[:aMethod |
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6951
                |source|
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6952
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6953
                (category match:aMethod category) ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6954
                    source := aMethod source.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6955
                    codeView contents:source.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6956
                    codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6957
                    codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6958
                    actualClass compilerClass
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6959
                         compile:source 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6960
                         forClass:actualClass 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6961
                         inCategory:aMethod category
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6962
                         notifying:codeView.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6963
                    self updateMethodCategoryListWithScroll:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6964
                    self updateMethodListWithScroll:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6965
                ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6966
            ]
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6967
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6968
    ]
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6969
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6970
    "Modified: / 7.6.1996 / 09:02:35 / stefan"
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  6971
    "Modified: / 31.3.1998 / 23:39:11 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6972
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  6973
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6974
listOfAllMethodCategoriesInClass:aClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6975
    "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
  6976
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6977
    |newList|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6978
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6979
    newList := Set new.
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6980
    aClass methodDictionary do:[:aMethod |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6981
	|cat|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6982
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6983
	cat := aMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6984
	cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6985
	    cat := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6986
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  6987
	newList add:cat
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6988
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6989
    (newList size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6990
    newList add:'* all *'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6991
    ^ newList asOrderedCollection sort
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6992
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  6993
    "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
  6994
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6995
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6996
listOfAllMethodCategoriesInFullProtocolHierarchy:aClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6997
    "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
  6998
     and all of its superclasses.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  6999
     Used with fullProtocol browsing."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7000
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7001
    |newList|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7002
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7003
    newList := Set new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7004
    self classesInFullProtocolHierarchy:aClass do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7005
	|cat|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7006
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7007
	c methodDictionary do:[:aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7008
	    cat := aMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7009
	    cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7010
		cat := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7011
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7012
	    newList add:cat
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7013
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7014
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7015
    (newList size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7016
    newList add:'* all *'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7017
    ^ newList asOrderedCollection sort
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  7018
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  7019
    "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
  7020
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7021
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7022
methodCategorySelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7023
    "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
  7024
1451
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7025
    |cat|
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7026
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7027
    (cat := methodCategoryListView selectionValue) isNil ifTrue:[
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7028
        cat := currentMethodCategory
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7029
    ].
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7030
    cat notNil ifTrue:[
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7031
        self switchToMethodCategory:cat string.
ae30a5ae2838 care for methodCategory-update, if selection is nil.
ca
parents: 1448
diff changeset
  7032
    ].
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
  7033
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
  7034
    "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
  7035
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7036
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7037
methodCategorySelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7038
    "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
  7039
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  7040
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7041
	currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7042
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7043
	self updateMethodList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7044
	self updateCodeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7045
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7046
	currentMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7047
	    methodCategoryListView setSelectElement:currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7048
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7049
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7050
	aspect isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7051
	    self setAcceptAndExplainActionsForMethod.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7052
	].
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7053
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7054
"/ this is now done in
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7055
"/ #updateMethodList
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7056
"/
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7057
"/        (variableListView notNil
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7058
"/        and:[variableListView hasSelection]) ifTrue:[
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7059
"/            self hilightMethodsInMethodCategoryList:false inMethodList:true.
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  7060
"/        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7061
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7062
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7063
    "Created: 23.11.1995 / 14:17:38 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  7064
    "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
  7065
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7066
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7067
newMethodCategory:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7068
    |categories|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7069
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7070
    currentClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7071
	^ 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
  7072
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7073
    categories := methodCategoryListView list.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7074
    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
  7075
    (categories includes:aString) ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7076
	categories add:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7077
	categories sort.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7078
	methodCategoryListView contents:categories
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7079
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7080
    currentMethodCategory := aString.
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  7081
    aspect := nil.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7082
    self methodCategorySelectionChanged
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  7083
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  7084
    "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
  7085
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7086
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7087
switchToMethodCategory:aCategory
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7088
    |oldSelector|
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7089
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7090
    oldSelector := currentSelector.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7091
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7092
    aspect := nil.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7093
    (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
  7094
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7095
    currentMethodCategory := aCategory.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7096
    self methodCategorySelectionChanged.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7097
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7098
    "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
  7099
    methodListView list size == 1 ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7100
	methodListView setSelection:1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7101
	self methodSelection:1
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7102
    ] ifFalse:[
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7103
      oldSelector notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7104
	  methodListView setSelectElement:oldSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7105
	  methodListView hasSelection ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7106
	      self methodSelection:methodListView selection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7107
	  ]
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7108
      ]
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7109
    ]
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7110
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7111
    "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
  7112
    "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
  7113
!
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7114
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7115
updateMethodCategoryList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7116
    self updateMethodCategoryListWithScroll:true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7117
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7118
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7119
updateMethodCategoryListWithScroll:scroll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7120
    |categories|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7121
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7122
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7123
	fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7124
	    currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7125
		categories := self listOfAllMethodCategoriesInFullProtocolHierarchy:actualClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7126
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7127
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7128
	    currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7129
		categories := self listOfAllMethodCategoriesInClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7130
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7131
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7132
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7133
	methodCategoryListView list = categories ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7134
	    scroll ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7135
		methodCategoryListView contents:categories
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7136
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7137
		methodCategoryListView setContents:categories
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7138
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7139
	    currentMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7140
		methodCategoryListView setSelectElement:currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7141
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7142
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7143
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
  7144
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  7145
    "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
  7146
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7147
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7148
whenMethodCategorySelected:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7149
    self checkMethodCategorySelected ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7150
	self withBusyCursorDo:aBlock
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7151
    ]
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  7152
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  7153
    "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
  7154
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7155
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7156
!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
  7157
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7158
commonTraceHelperWith:aSelector
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  7159
    "install a break/trace or countPoint for the current method"
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  7160
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  7161
    "/ 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
  7162
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  7163
    currentMethod isNil ifTrue:[^ self].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  7164
    currentMethod who isNil ifTrue:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7165
        self warn:'method is no longer valid'.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7166
        ^ self
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7167
    ].
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7168
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7169
    currentMethod perform:aSelector.
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7170
    currentMethod := currentClass compiledMethodAt:currentSelector.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7171
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  7172
    Class withoutUpdatingChangesDo:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7173
        currentClass changed:#methodTrap with:currentSelector.
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  7174
    ]
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  7175
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7176
    "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
  7177
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7178
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7179
commonTraceHelperWith:aSelector with:argument
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7180
    "install a break/trace or countPoint for the current method"
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7181
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7182
    "/ not for unbound methods (i.e. obsolete)
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7183
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7184
    currentMethod isNil ifTrue:[^ self].
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7185
    currentMethod who isNil ifTrue:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7186
        self warn:'method is no longer valid'.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7187
        ^ self
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7188
    ].
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7189
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7190
    currentMethod perform:aSelector with:argument.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7191
    currentMethod := currentClass compiledMethodAt:currentSelector.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7192
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  7193
    Class withoutUpdatingChangesDo:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7194
        currentClass changed:#methodTrap with:currentSelector.
925
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  7195
    ]
6d82de68d7c6 new changed notifications for tracing/trapping
Claus Gittinger <cg@exept.de>
parents: 918
diff changeset
  7196
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7197
    "Modified: / 12.1.1998 / 19:19:40 / cg"
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7198
!
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7199
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7200
methodAproposSearch
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7201
    "launch an enterBox for a keyword search"
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:'keyword to search for (in selector & comment):' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7204
		  openWith:#aproposSearch:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7205
		isSelector:true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7206
		searchArea:#class
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  7207
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  7208
    "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
  7209
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7210
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7211
methodBreakPoint
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7212
    "set a breakpoint on the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7213
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7214
    self commonTraceHelperWith:#setBreakPoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7215
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7216
    "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
  7217
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7218
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7219
methodBreakPointInProcess
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7220
    "set a breakpoint on the current method, which only triggers if
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7221
     executed by some particular process."
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7222
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  7223
    |processes processNames box windowGroups|
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  7224
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  7225
    windowGroups := WindowGroup allInstances.
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7226
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7227
    processes := ProcessorScheduler knownProcesses asOrderedCollection.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7228
    processes := processes select:[:aProcess |
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7229
                        aProcess notNil 
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7230
                        and:[aProcess id notNil]
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7231
                 ].
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7232
    processes := processes sort:[:a :b | a id < b id].
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7233
    processNames := processes collect:[:aProcess |
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7234
                        |pName theGroup top topLabel winLabel|
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7235
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7236
                        pName := aProcess nameOrId.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7237
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7238
                        "/ if its a windowGroup process,
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7239
                        "/ fetch its first topViews name and add.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7240
                        "/ (allows selecting among multiple browsers ...)
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7241
                        winLabel := ''.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7242
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7243
                        theGroup := windowGroups select:[:g | g process == aProcess].
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7244
                        theGroup size == 1 ifTrue:[
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7245
                            theGroup := theGroup first.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7246
                            top := theGroup topViews.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7247
                            top size > 0 ifTrue:[
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7248
                                top := top first.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7249
                                topLabel := top label.
1448
09fa6dee211b Allow nil labels in TopView (when setting Breakpoint for aProcess)
Stefan Vogel <sv@exept.de>
parents: 1446
diff changeset
  7250
                                (topLabel notNil and:[topLabel ~= pName]) ifTrue:[
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7251
                                     winLabel := '  "' , topLabel , '")'.
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7252
                                ]
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7253
                            ].                        
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7254
                        ].
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7255
                        aProcess id printString , ' [' , pName , ']' , winLabel
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7256
                    ].
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7257
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7258
    "/ let user specify which one ...
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7259
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7260
    box := ListSelectionBox new.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7261
    box noEnterField.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7262
    box list:processNames.
1233
c5aac7105c4e more messages improved
Claus Gittinger <cg@exept.de>
parents: 1232
diff changeset
  7263
    box label:(resources string:'process selection').
c5aac7105c4e more messages improved
Claus Gittinger <cg@exept.de>
parents: 1232
diff changeset
  7264
    box title:(resources 
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7265
                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
  7266
                with:(Processor activeProcess id)
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7267
                with:(Processor activeProcess nameOrId)) withCRs.
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7268
    box action:[:selection |
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7269
        self commonTraceHelperWith:#breakPointInProcess: 
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7270
                              with:(processes at:box selectionIndex)
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7271
    ].
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7272
    box showAtPointer.
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7273
    box destroy
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7274
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  7275
    "Created: / 14.10.1996 / 15:40:53 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7276
    "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
  7277
    "Modified: / 2.2.1998 / 12:39:38 / stefan"
756
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7278
!
357db0b88e1b selective breakpoints
Claus Gittinger <cg@exept.de>
parents: 753
diff changeset
  7279
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7280
methodChangeCategory
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7281
    "move the current method into another category -
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7282
     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
  7283
     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
  7284
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7285
    |box txt|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7286
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7287
    self checkMethodSelected ifFalse:[^ self].
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
    actualClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7290
	box := self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7291
		enterBoxTitle:'' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7292
		okText:'change'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7293
		label:'change category'.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7294
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7295
	|someCategories|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7296
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7297
	someCategories := actualClass categories sort.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7298
	box := self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7299
		listBoxTitle:'' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7300
		okText:'change' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7301
		list:someCategories.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7302
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7303
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7304
    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
  7305
    lastMethodCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7306
	txt := currentMethod category.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7307
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7308
	txt := lastMethodCategory
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7309
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7310
    box initialText:txt.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7311
    box action:[:aString |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7312
		    |method|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7313
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7314
		    lastMethodCategory := aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7315
		    method := currentMethod.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7316
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7317
		    method category:aString asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7318
		    actualClass changed:#organization with:currentSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7319
		    method changed:#category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7320
		    actualClass addChangeRecordForMethodCategory:method category:aString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7321
		    self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7322
		    self updateMethodListWithScroll:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7323
	       ].
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7324
    box label:(resources string:'change category').
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7325
    box showAtPointer
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7326
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7327
    "Created: 29.10.1995 / 19:59:22 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  7328
    "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
  7329
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7330
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7331
methodCompareWithPreviousVersion
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7332
    "compare with previous version"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7333
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7334
    |prev v|
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7335
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7336
    self checkMethodSelected ifFalse:[^ self].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7337
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7338
    prev := currentMethod previousVersion.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7339
    prev isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7340
	self warn:'oops - previous version is gone'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7341
	^ self
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7342
    ].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7343
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7344
    v := DiffTextView 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7345
	openOn:codeView contents
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7346
	label:(resources string:'code here')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7347
	and:prev source
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7348
	label:'previous version'.      
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7349
    v label:'comparing ' , currentMethod whoString.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7350
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7351
    "Modified: 7.11.1996 / 18:53:55 / cg"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7352
!
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  7353
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7354
methodDecompile
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7355
    "decompile the current methods bytecodes.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7356
     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
  7357
     avaliable with the system."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7358
481
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7359
    |s|
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7360
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7361
    self checkMethodSelected ifFalse:[^ self].
481
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7362
    self checkSelectionChangeAllowed ifFalse:[^ self].
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7363
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7364
    s := '' writeStream.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7365
    (currentMethod decompileTo:s) ifFalse:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  7366
        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
  7367
    ].
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7368
    codeView contents:s contents.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7369
    codeView modified:false.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  7370
    codeModified := false.
481
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7371
    codeView acceptAction:nil.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7372
    codeView explainAction:nil.
7a550399e2aa moved decompilation into codeObject (alien code); decompile into codeView
Claus Gittinger <cg@exept.de>
parents: 480
diff changeset
  7373
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  7374
    "Modified: / 31.3.1998 / 23:40:10 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7375
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7376
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7377
methodFileOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7378
    "file out the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7379
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7380
    self checkMethodSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7381
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7382
    self busyLabel:'saving:' with:currentSelector.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7383
    Class fileOutErrorSignal handle:[:ex |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7384
	self warn:'cannot create: %1' with:ex parameter.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7385
	ex return
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7386
    ] do:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7387
	actualClass fileOutMethod:currentMethod.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7388
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7389
    self normalLabel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7390
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7391
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7392
methodGlobalReferends
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7393
    "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
  7394
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7395
    self askForSearchTitle:'global variable to search users of:' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7396
		  openWith:#browseReferendsOf:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7397
		isSelector:false
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7398
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7399
"/    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
  7400
"/                         action:[:aString | 
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7401
"/                                    SystemBrowser browseReferendsOf:aString asSymbol
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7402
"/                                ]
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7403
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7404
    "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
  7405
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7406
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7407
methodImplementors
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7408
    "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
  7409
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7410
    self askForSearchTitle:'selector to browse implementors of:' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7411
		  openWith:#browseImplementorsOf:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7412
		isSelector:true
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7413
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7414
    "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
  7415
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7416
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7417
methodInspect
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7418
    "inspect  the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7419
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7420
    self checkMethodSelected ifFalse:[^ self].
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7421
    currentMethod inspect.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7422
"/    (actualClass compiledMethodAt:currentSelector) inspect.
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7423
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  7424
    "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
  7425
!
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7426
1169
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7427
methodInvoke
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7428
    "invoke the current method"
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7429
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7430
    |w cls sel|
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7431
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7432
    self checkMethodSelected ifFalse:[^ self].
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7433
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7434
    w := currentMethod who.
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7435
    w notNil ifTrue:[
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7436
        cls := w methodClass.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7437
        cls notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7438
            cls ~~ actualClass ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7439
                ^ self warn:'oops - obsolete class; please reselect class ...'
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7440
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7441
            cls isMeta ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7442
                cls := cls soleInstance
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7443
            ] ifFalse:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7444
                cls := nil
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7445
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7446
            cls notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7447
                sel := w methodSelector.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7448
                sel notNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7449
                    currentClass perform:sel.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7450
                    ^ self
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7451
                ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7452
            ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7453
        ].
1169
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7454
    ]. 
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7455
    self warn:'cannot invoke method (no class)'
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7456
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7457
    "Modified: / 29.4.1997 / 11:24:30 / dq"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  7458
    "Modified: / 29.10.1997 / 15:50:28 / cg"
1169
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7459
!
3d0ca3b8270a added #invokeMethod
Claus Gittinger <cg@exept.de>
parents: 1164
diff changeset
  7460
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7461
methodLocalSuperSends
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7462
    "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
  7463
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7464
    self checkClassSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7465
    self withSearchCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7466
	SystemBrowser browseSuperCallsUnder:currentClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7467
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7468
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7469
    "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
  7470
    "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
  7471
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7472
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
  7473
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
  7474
    "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
  7475
     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
  7476
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
  7477
    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
  7478
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
  7479
    "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
  7480
!
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
  7481
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7482
methodMakePrivate
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7483
    "make the current method private.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7484
     EXPERIMENTAL"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7485
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7486
    self methodPrivacy:#private 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7487
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7488
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7489
methodMakeProtected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7490
    "make the current method protected.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7491
     EXPERIMENTAL"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7492
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7493
    self methodPrivacy:#protected 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7494
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7495
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7496
methodMakePublic
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7497
    "make the current method public.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7498
     EXPERIMENTAL"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7499
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7500
    self methodPrivacy:#public 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7501
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7502
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7503
methodMenu
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7504
    "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
  7505
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7506
    <resource: #keyboard ( #Cmds #Cmdi #Cmdg #Cmdt #Cmda) >
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7507
    <resource: #programMenu >
432
a6c771534efa oops - dont use $ Header in createDocuStubs - rcs expands it
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
  7508
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7509
    |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
  7510
     newLabels newSelectors
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7511
     mthdLabels mthdSelectors
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7512
     brkLabels brkSelectors
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7513
     fileLabels fileSelectors
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7514
     searchLabels searchSelectors searchShorties
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7515
     sepLocalLabels sepLocalSelectors
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7516
     sepMthdLabels sepMthdSelectors
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7517
     localSearchLabels localSearchSelectors|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7518
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7519
    currentMethod notNil ifTrue:[
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7520
        currentMethod isCountingMemoryUsage ifTrue:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7521
            brkLabels := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7522
                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7523
                                'stop mem usage' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7524
                          ).
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7525
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7526
            brkSelectors := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7527
                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7528
                                methodStopMemoryUsage
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7529
                             )
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7530
        ] ifFalse:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7531
            currentMethod isCounting ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7532
                brkLabels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7533
                                    '-'
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7534
                                    'stop counting' 
1355
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
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7537
                brkSelectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7538
                                    nil
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7539
                                    methodStopCounting
1355
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:[
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7542
                currentMethod isTimed ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7543
                    brkLabels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7544
                                        '-'
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7545
                                        'stop timing' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7546
                                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7547
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7548
                    brkSelectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7549
                                        nil
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7550
                                        methodStopTiming
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7551
                                     )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7552
                ] ifFalse:[
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7553
                    currentMethod isTraced ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7554
                        brkLabels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7555
                                            '-'
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7556
                                            'remove trace' 
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7557
                                      ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7558
                        brkSelectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7559
                                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7560
                                            methodRemoveBreakOrTrace
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7561
                                         )
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7562
                    ] ifFalse:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7563
                        currentMethod isBreakpointed ifTrue:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7564
                            brkLabels := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7565
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7566
                                                'remove breakpoint' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7567
                                          ).
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7568
                            brkSelectors := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7569
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7570
                                                methodRemoveBreakOrTrace
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7571
                                             )
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7572
                        ] ifFalse:[
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7573
                            brkLabels := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7574
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7575
                                                'breakpoint' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7576
                                                'breakpoint in ...' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7577
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7578
                                                'trace' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7579
                                                'trace sender' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7580
                                                'trace full walkback' 
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7581
                                                '-'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7582
                                                'start timing'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7583
                                                'start counting'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7584
                                                'start mem usage'
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7585
                                          ).
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7586
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7587
                            brkSelectors := #(
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7588
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7589
                                                methodBreakPoint
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7590
                                                methodBreakPointInProcess
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7591
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7592
                                                methodTrace
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7593
                                                methodTraceSender
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7594
                                                methodTraceFull
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7595
                                                nil
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7596
                                                methodStartTiming
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7597
                                                methodStartCounting
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7598
                                                methodStartMemoryUsage
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7599
                                             )
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  7600
                        ]
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7601
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7602
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7603
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7604
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7605
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7606
        Method methodPrivacySupported ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7607
            labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7608
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7609
                            'compile to machine code'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7610
                            'decompile'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7611
                            '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7612
                            'make public'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7613
                            'make private'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7614
                            'make protected'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7615
                            'make ignored'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7616
                       ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7617
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7618
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7619
                            methodSTCCompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7620
                            methodDecompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7621
                            nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7622
                            methodMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7623
                            methodMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7624
                            methodMakeProtected
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7625
                            methodMakeIgnored
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7626
                          )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7627
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7628
            labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7629
                            'inspect method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7630
                            'compile to machine code'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7631
                            'decompile'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7632
                       ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7633
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7634
                            methodInspect
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7635
                            methodSTCCompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7636
                            methodDecompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7637
                          )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7638
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7639
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7640
        actualClass isMeta ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7641
            labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7642
                          'invoke method'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7643
                          '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7644
                      )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7645
                      , labels.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7646
            selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7647
                          methodInvoke
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7648
                          nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7649
                         )
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7650
                      , selectors.
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
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7653
        labels := labels , brkLabels.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7654
        selectors := selectors , brkSelectors.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7655
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7656
        specialMenu := PopUpMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7657
                            labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7658
                            selectors:selectors.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7659
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7660
        currentMethod isPublic ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7661
            specialMenu disable:#methodMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7662
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7663
        currentMethod isPrivate ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7664
            specialMenu disable:#methodMakePrivate
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 isProtected ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7667
            specialMenu disable:#methodMakeProtected
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
        currentMethod isIgnored ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7670
            specialMenu disable:#methodMakeIgnored
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7671
        ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7672
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7673
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7674
    device ctrlDown ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7675
        currentMethod isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7676
            methodListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7677
            ^ nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7678
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7679
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7680
        ^ specialMenu
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7681
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7682
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7683
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7684
    sepLocalLabels := sepLocalSelectors := #().
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7685
    sepMthdLabels := sepMthdSelectors := #().
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7686
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7687
    searchLabels := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7688
                                'senders ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7689
                                'implementors ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7690
                                'globals ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7691
                                'string search ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7692
                                'apropos ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7693
                    ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7694
    searchSelectors := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7695
                                methodSenders
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7696
                                methodImplementors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7697
                                methodGlobalReferends
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7698
                                methodStringSearch
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7699
                                methodAproposSearch
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7700
                        ).
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7701
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7702
    searchShorties := #(
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7703
                                Cmds
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7704
                                Cmdi
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7705
                                Cmdg
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7706
                                Cmdt
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7707
                                Cmda
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7708
                       ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7709
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7710
"/    currentClass notNil ifTrue:[
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7711
"/        localSearchLabels := #(
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7712
"/                                '-'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7713
"/                                'local senders ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7714
"/                                'local implementors ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7715
"/                                'local super sends ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7716
"/                                'local string search ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7717
"/                                'local apropos ...'
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7718
"/                            ).
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7719
"/        localSearchSelectors := #(
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7720
"/                                nil
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7721
"/                                methodLocalSenders
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7722
"/                                methodLocalImplementors
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7723
"/                                methodLocalSuperSends
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7724
"/                                methodLocalStringSearch
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7725
"/                                methodLocalAproposSearch
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7726
"/                              ).
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7727
"/    ] ifFalse:[
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7728
"/        localSearchLabels := localSearchSelectors := #()
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7729
"/    ].
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7730
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7731
    currentMethodCategory notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7732
        sepLocalLabels := #('-'). sepLocalSelectors := #(nil).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7733
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7734
        (currentClass notNil 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7735
        and:[showInstance not
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7736
        and:[currentClass isSubclassOf:ApplicationModel]]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7737
            newLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7738
                                    'new method' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7739
                                    'new window spec' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7740
                                    'new menu spec' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7741
                                    ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7742
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7743
            newSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7744
                                    methodNewMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7745
                                    methodNewWindowSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7746
                                    methodNewMenuSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7747
                                 ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7748
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7749
            newLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7750
                                    'new method' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7751
                                    ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7752
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7753
            newSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7754
                                    methodNewMethod
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7755
                                 ).
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7756
        ].
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7757
        sepMthdLabels := #('-'). sepMthdSelectors := #(nil).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7758
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7759
        newLabels := newSelectors := #()
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7760
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7761
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7762
    currentMethod notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7763
        fileLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7764
                                'fileOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7765
                                'printOut'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7766
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7767
                                'SPAWN_METHOD'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7768
                                '-'
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
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7771
        fileSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7772
                                methodFileOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7773
                                methodPrintOut
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7774
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7775
                                methodSpawn
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7776
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7777
                             ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7778
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7779
        sepLocalLabels := #('-'). sepLocalSelectors := #(nil).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7780
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7781
        mthdLabels :=           #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7782
                                'change category ...' 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7783
                                'move ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7784
                                'remove'
1503
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7785
"/                                '-'
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7786
"/                                'compare with previous'
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7787
"/                                'back to previous'
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7788
                                ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7789
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7790
        mthdSelectors :=    #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7791
                                methodChangeCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7792
                                methodMove
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7793
                                methodRemove
1503
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7794
"/                                nil
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7795
"/                                methodCompareWithPreviousVersion
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7796
"/                                methodPreviousVersion
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7797
                             ).
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7798
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7799
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7800
        fileLabels := fileSelectors := #().
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7801
        mthdLabels := mthdSelectors := #().
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7802
        sepMthdLabels := sepMthdSelectors := #().
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7803
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7804
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7805
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7806
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7807
    labels :=
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7808
                fileLabels ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7809
                searchLabels ,
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7810
"/                localSearchLabels ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7811
                sepLocalLabels ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7812
                newLabels ,
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7813
                sepMthdLabels ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7814
                mthdLabels.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7815
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7816
    selectors :=
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7817
                fileSelectors ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7818
                searchSelectors ,
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  7819
"/                localSearchSelectors ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7820
                sepLocalSelectors ,
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7821
                newSelectors ,
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7822
                sepMthdSelectors ,
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7823
                mthdSelectors .
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7824
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7825
    shorties := (Array new:(fileSelectors size))
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7826
                , searchShorties
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7827
                , (Array new:(localSearchSelectors size
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7828
                              + sepLocalSelectors size
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7829
                              + newSelectors size
1362
df021eafd510 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
  7830
                              + sepMthdSelectors size
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7831
                              + mthdSelectors size)).
422
23db16b448fd added shortKey info to menus
Claus Gittinger <cg@exept.de>
parents: 408
diff changeset
  7832
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7833
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7834
    specialMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7835
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7836
                        '='
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7837
                        'others'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7838
                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7839
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7840
                        nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7841
                        #otherMenu
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7842
                  ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7843
        shorties := shorties , #( nil #'Ctrl')
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7844
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7845
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7846
    m := PopUpMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7847
         labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7848
         selectors:selectors
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7849
         accelerators:shorties.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7850
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7851
    specialMenu notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7852
        m subMenuAt:#otherMenu put:specialMenu.
320
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7853
    ].
5a9b407ce09d specialmenus reachable via others entry
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
  7854
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7855
    currentMethod notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7856
        currentMethod isPrivate ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7857
            m disable:#methodMakePrivate
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7858
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7859
        currentMethod isProtected ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7860
            m disable:#methodMakeProtected
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7861
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7862
        currentMethod isPublic ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7863
            m disable:#methodMakePublic
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7864
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7865
        currentMethod isIgnored ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7866
            m disable:#methodMakeIgnored
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7867
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7868
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7869
        (currentMethod code notNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7870
        or:[Compiler canCreateMachineCode not]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7871
            m disable:#methodSTCCompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7872
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7873
        currentMethod byteCode isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7874
            m disable:#methodDecompile
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7875
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7876
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7877
        currentMethod previousVersion isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7878
            m disable:#methodPreviousVersion.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7879
            m disable:#methodCompareWithPreviousVersion
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7880
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7881
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  7882
    ^ m
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7883
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7884
    "Created: / 23.11.1995 / 12:02:29 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7885
    "Modified: / 18.12.1995 / 16:20:07 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7886
    "Modified: / 29.4.1997 / 11:20:59 / dq"
1503
5ad4c77262b1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1502
diff changeset
  7887
    "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
  7888
!
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7889
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7890
methodMove
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7891
    "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
  7892
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7893
    |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
  7894
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7895
    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
  7896
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7897
    lastMethodMoveClass ~= currentClass name ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7898
	initial := lastMethodMoveClass.
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7899
    ].
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7900
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7901
    initial isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7902
	(sup := currentClass superclass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7903
	    initial := sup name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7904
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7905
	    initial := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7906
	].
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7907
    ].
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7908
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7909
"/ preps to use windowSpecs ...
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7910
"/
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7911
"/    list := (currentClass allSuperclasses collect:[:cls | cls name]).
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7912
"/    list := list , (currentClass allSubclasses collect:[:cls | cls name]).
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7913
"/
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7914
"/    holders := IdentityDictionary new.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7915
"/    holders at:#className put:initial asValue.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7916
"/    holders at:#classList put:list.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7917
"/
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7918
"/    (SystemBrowser 
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7919
"/        openDialogInterface:#methodMoveDialogSpec
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7920
"/        withBindings:holders) ifTrue:[
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7921
"/        newClassName := (holders at:#className) value.
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7922
"/    ].
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7923
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7924
    newClassName := Dialog 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7925
		    request:(resources string:'move current method to which class:')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7926
		    initialAnswer:initial
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7927
		    okLabel:(resources string:'move')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7928
		    title:(resources string:'move method')
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7929
		    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
  7930
    newClassName isNil ifTrue:[^ self].
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7931
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7932
    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
  7933
    newClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7934
	self warn:'no such class'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7935
	^ self
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7936
    ].
832
2ddf9308bb2f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 826
diff changeset
  7937
    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
  7938
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7939
    showInstance ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7940
	newClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7941
	    newClass := newClass class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7942
	]
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7943
    ].
978
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7944
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7945
    movedMethod := newClass 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7946
			compile:(currentMethod source) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7947
			classified:currentMethodCategory.
978
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7948
007c5b8c75b5 oops - care for compilation error when moving methods was
Claus Gittinger <cg@exept.de>
parents: 971
diff changeset
  7949
    (movedMethod isNil or:[movedMethod == #Error]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7950
	self warn:'not moved - compilation failed due to a compilation error'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  7951
	^ self
284
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7952
    ].
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7953
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7954
    self methodRemove
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7955
def16ab8c75f new 'move-method' function (in methodMenu); new 'show history' function (in classCategoryMenu)
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
  7956
    "Created: 13.12.1995 / 10:56:42 / cg"
1202
190ff2307ea4 preps to use UISpec.
Claus Gittinger <cg@exept.de>
parents: 1201
diff changeset
  7957
    "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
  7958
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7959
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7960
methodNewMenuSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7961
    "open a MenuEditor"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7962
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7963
    |specSel|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7964
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7965
    currentClass isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7966
        ^ self warn:'select/create a class first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7967
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7968
    currentMethodCategory isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7969
        ^ self warn:'select/create a method category first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7970
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7971
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7972
    (actualClass implements:#menuSpec) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7973
        specSel := #menuSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7974
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7975
    MenuEditor openOnClass:currentClass andSelector:specSel
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7976
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7977
    "Created: / 28.10.1997 / 12:42:00 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7978
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  7979
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7980
methodNewMethod
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7981
    "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
  7982
     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
  7983
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7984
    currentClass isNil ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  7985
        ^ 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
  7986
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7987
    currentMethodCategory isNil ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  7988
        ^ 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
  7989
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7990
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7991
    currentMethod := currentSelector := nil.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7992
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  7993
    methodListView setSelection:nil.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  7994
    codeView contents:(self methodTemplate).
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7995
    codeView modified:false.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  7996
    codeModified := false.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7997
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  7998
    self setAcceptAndExplainActionsForMethod.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  7999
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  8000
    "Modified: / 31.3.1998 / 23:40:16 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8001
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8002
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8003
methodNewWindowSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8004
    "open GUI Painter"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8005
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8006
    |specSel|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8007
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8008
    currentClass isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8009
        ^ self warn:'select/create a class first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8010
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8011
    currentMethodCategory isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8012
        ^ self warn:'select/create a method category first'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8013
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8014
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8015
    (actualClass implements:#windowSpec) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8016
        specSel := #windowSpec
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8017
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8018
    UIPainter openOnClass:currentClass andSelector:specSel
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8019
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8020
    "Modified: / 28.10.1997 / 12:40:35 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8021
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8022
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8023
methodPreviousVersion
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8024
    "switch back to the previous version
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8025
     (undo last change)"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8026
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8027
    |cls sel prev|
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8028
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8029
    self checkMethodSelected ifFalse:[^ self].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8030
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8031
    prev := currentMethod previousVersion.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8032
    prev isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8033
	self warn:'oops - previous version is gone'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8034
	^ self
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8035
    ].
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8036
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8037
    cls := currentMethod containingClass.
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8038
    cls notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8039
	sel := actualClass selectorAtMethod:currentMethod.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8040
	sel isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8041
	    self warn:'oops - cannot find methods selector (gone)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8042
	] ifFalse:[        
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8043
	    cls basicAddSelector:sel withMethod:prev.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8044
	    currentMethod := prev.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8045
	    self updateCodeView
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8046
	].
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8047
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8048
	self warn:'oops - cannot find containing class'
842
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8049
    ]
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8050
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8051
    "Modified: 7.11.1996 / 18:51:09 / cg"
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8052
!
229453c636b4 access to history of changed methods
Claus Gittinger <cg@exept.de>
parents: 841
diff changeset
  8053
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8054
methodPrintOut
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8055
    "print out the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8056
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8057
    |printStream|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8058
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8059
    self checkMethodSelected ifFalse:[^ self].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8060
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8061
    printStream := Printer new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8062
    actualClass printOutSource:(currentMethod source) on:printStream.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8063
    printStream close
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  8064
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  8065
    "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
  8066
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8067
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8068
methodPrivacy:how
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8069
    "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
  8070
     EXPERIMENTAL"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8071
1416
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8072
    |cls|
610
26f0bebb40c0 show privacy in fullprotocol as well
Claus Gittinger <cg@exept.de>
parents: 609
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
    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
  8075
1416
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8076
    (how == currentMethod privacy) ifFalse:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8077
        currentMethod privacy:how.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8078
        cls := currentMethod containingClass.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8079
        cls notNil ifTrue:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8080
            cls addChangeRecordForMethodPrivacy:currentMethod.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8081
        ] ifFalse:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8082
            self warn:'cannot write change record (no class)'
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8083
        ].
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8084
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8085
        Class withoutUpdatingChangesDo:[
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8086
            currentClass changed:#methodPrivacy with:currentSelector.
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8087
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8088
    ]
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8089
1416
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8090
    "Created: / 29.10.1995 / 20:00:00 / cg"
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8091
    "Modified: / 8.1.1997 / 22:37:02 / cg"
cbc8a3787732 Wrapped method forward #privacy now.
Stefan Vogel <sv@exept.de>
parents: 1407
diff changeset
  8092
    "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
  8093
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8094
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8095
methodRemove
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8096
    "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
  8097
1054
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  8098
    |cls sel w|
610
26f0bebb40c0 show privacy in fullprotocol as well
Claus Gittinger <cg@exept.de>
parents: 609
diff changeset
  8099
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8100
    self checkMethodSelected ifFalse:[^ self].
826
cdbbf4eb1afb use new Method>>who interface
Claus Gittinger <cg@exept.de>
parents: 823
diff changeset
  8101
1054
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  8102
    w := currentMethod who.
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  8103
    w notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8104
	cls := w methodClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8105
	sel := w methodSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8106
	cls notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8107
	    cls ~~ actualClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8108
		^ self warn:'oops - obsolete class; please reselect class ...'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8109
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8110
	    sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8111
		actualClass removeSelector:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8112
		currentMethod := currentSelector := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8113
		self updateMethodListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8114
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8115
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8116
	].
1054
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  8117
    ]. 
ecaae0ab1185 removeMethod in obsolete class - show warning
ca
parents: 1050
diff changeset
  8118
    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
  8119
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8120
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8121
methodRemoveBreakOrTrace
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8122
    "turn off tracing of the current method"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8123
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8124
    self commonTraceHelperWith:#clearBreakPoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8125
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8126
    "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
  8127
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8128
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8129
methodSTCCompile
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8130
    "compile the current method to machine code.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8131
     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
  8132
     the demo version."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8133
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8134
    |prev|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8135
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8136
    self checkMethodSelected ifFalse:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8137
    prev := Compiler stcCompilation:#always.
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8138
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8139
	[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8140
	    codeView accept.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8141
	] valueNowOrOnUnwindDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8142
	    Compiler stcCompilation:prev
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8143
	]
1183
5c5ddf5dcac1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1171
diff changeset
  8144
    ].
5c5ddf5dcac1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1171
diff changeset
  8145
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8146
    "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
  8147
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8148
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8149
methodSenders
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8150
    "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
  8151
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  8152
    self askForSearchTitle:'selector to browse senders of:' 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8153
		  openWith:#browseAllCallsOn:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8154
		isSelector:true
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  8155
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  8156
    "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
  8157
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8158
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8159
methodSpawn
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8160
    "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
  8161
     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
  8162
     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
  8163
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8164
    |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
  8165
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8166
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8167
	s := classMethodListView selectionValue string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8168
	clsName := self classNameFromClassMethodString:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8169
	sel := self selectorFromClassMethodString:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8170
	isMeta := false
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8171
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8172
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8173
    self extractClassAndSelectorFromSelectionInto:[:c :s :m |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8174
	clsName := c.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8175
	sel := s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8176
	isMeta := m
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8177
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8178
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8179
    (sel notNil and:[clsName notNil]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8180
	(clsName knownAsSymbol and:[sel knownAsSymbol]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8181
	    clsSymbol := clsName asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8182
	    (Smalltalk includesKey:clsSymbol) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8183
		cls := Smalltalk at:clsSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8184
		isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8185
		    cls := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8186
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8187
		cls isBehavior ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8188
		    cls := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8189
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8190
		cls isBehavior ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8191
		    selSymbol := sel asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8192
		    self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8193
			(cls includesSelector:selSymbol) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8194
			    cls := cls class.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8195
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8196
			(cls includesSelector:selSymbol) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8197
			    SystemBrowser browseClass:cls selector:selSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8198
			    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8199
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8200
			w := ' does not implement #' , sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8201
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8202
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8203
		    w := ' is not a class'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8204
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8205
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8206
		w := ' is unknown'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8207
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8208
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8209
	    w := ' and/or ' , sel , ' are unknown'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8210
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8211
	self warn:(clsName , w).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8212
	^ self
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8213
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8214
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8215
    self checkMethodSelected ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8216
	self warn:'select a method first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8217
	^ self
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8218
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8219
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8220
    self withBusyCursorDo:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8221
	w := currentMethod who.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8222
	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
  8223
    ]
363
709901a36b48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 357
diff changeset
  8224
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8225
    "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
  8226
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8227
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8228
methodStartCounting
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8229
    "set a countpoint on the current method"
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8230
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8231
    self commonTraceHelperWith:#startCounting
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8232
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8233
    "Created: / 15.12.1995 / 11:00:44 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8234
    "Modified: / 12.1.1998 / 19:15:40 / cg"
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8235
!
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8236
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8237
methodStartMemoryUsage
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8238
    "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
  8239
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8240
    self commonTraceHelperWith:#startCountingMemoryUsage
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8241
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8242
    "Created: / 18.12.1995 / 16:00:22 / stefan"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8243
    "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
  8244
!
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8245
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8246
methodStartTiming
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8247
    "set a timing on the current method"
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8248
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8249
    self commonTraceHelperWith:#startTiming
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8250
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8251
    "Created: / 17.6.1996 / 17:12:06 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8252
    "Modified: / 12.1.1998 / 19:15:50 / cg"
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8253
!
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8254
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8255
methodStopCounting
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8256
    "show the number of invocations & remove a countpoint on the current method"
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8257
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8258
    self commonTraceHelperWith:#stopCounting
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8259
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8260
    "Created: / 15.12.1995 / 11:03:22 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8261
    "Modified: / 12.1.1998 / 19:15:55 / cg"
305
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8262
!
16d903e3d59d methodcounting added
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
  8263
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8264
methodStopMemoryUsage
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8265
    "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
  8266
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8267
    self commonTraceHelperWith:#stopCountingMemoryUsage.
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8268
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8269
    "Created: / 18.12.1995 / 16:02:02 / stefan"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8270
    "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
  8271
!
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8272
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8273
methodStopTiming
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8274
    "show the execution times on the current method"
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8275
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8276
    self commonTraceHelperWith:#stopTiming
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8277
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8278
    "Created: / 17.6.1996 / 17:12:27 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8279
    "Modified: / 12.1.1998 / 19:16:12 / cg"
629
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8280
!
754a858231f9 method timing info
Claus Gittinger <cg@exept.de>
parents: 626
diff changeset
  8281
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8282
methodStringSearch
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8283
    "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
  8284
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  8285
    self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8286
	askForSearchTitle:'string to search for in sources:' 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8287
	openWith:#browseForString:in:
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8288
	isSelector:true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8289
	searchArea:#class
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  8290
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  8291
    "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
  8292
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8293
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8294
methodTrace
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8295
    "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
  8296
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8297
    self commonTraceHelperWith:#setTracePoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8298
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8299
    "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
  8300
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8301
306
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8302
methodTraceFull
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8303
    "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
  8304
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8305
    self commonTraceHelperWith:#setTraceFullPoint.
1389
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8306
81d96b427737 use new debugging-interface from Method.
Claus Gittinger <cg@exept.de>
parents: 1384
diff changeset
  8307
    "Created: / 15.12.1995 / 18:20:33 / cg"
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8308
    "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
  8309
!
f0218f7cdbc1 full walkback trace / trace entries now on CONTROL menu
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
  8310
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8311
methodTraceSender
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8312
    "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
  8313
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8314
    self commonTraceHelperWith:#setTraceSenderPoint.
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8315
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8316
    "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
  8317
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8318
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8319
!BrowserView methodsFor:'method stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8320
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8321
checkMethodSelected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8322
    currentMethod isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8323
	self warn:'select a method first'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8324
	^ false
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8325
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8326
    ^ true
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8327
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8328
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8329
listEntryForMethod:aMethod selector:selector
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8330
    "answer a method list entry 
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8331
     (gimmic: adding a little image to breakPointed methods)"
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8332
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8333
    |s icn resources|
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8334
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8335
    s := aMethod printStringForBrowserWithSelector:selector.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8336
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8337
    "/
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8338
    "/ wrap icons (i.e. break- or trace points)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8339
    "/ have higher prio ...
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8340
    "/
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8341
    aMethod isWrapped ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8342
        (s endsWith:' !!') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8343
            s := s copyWithoutLast:2
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8344
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8345
        aMethod isBreakpointed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8346
            icn := self stopIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8347
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8348
            aMethod isTimed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8349
                icn := self timeIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8350
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8351
                icn := self traceIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8352
            ]
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
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8356
    icn isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8357
        ShowResourceIcons ~~ false ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8358
            (resources := aMethod resources) notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8359
                (resources includesKey:#canvas) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8360
                    icn := self canvasIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8361
                ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8362
                    (resources includesKey:#menu) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8363
                        icn := self menuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8364
                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8365
                        (resources includesKey:#image) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8366
                            icn := self imageIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8367
                        ] ifFalse:[
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8368
                            (resources includesKey:#fileImage) ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8369
                                icn := self fileImageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8370
                            ] ifFalse:[
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8371
                                (resources includesKey:#help) ifTrue:[
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8372
                                    icn := self helpIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8373
                                ] ifFalse:[
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8374
                                    (resources includesKey:#programMenu) ifTrue:[
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8375
                                        icn := self programMenuIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8376
                                    ] ifFalse:[
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8377
                                        (resources includesKey:#tableColumns) ifTrue:[
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8378
                                            icn := self tableColumnsIcon 
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8379
                                        ] ifFalse:[
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8380
                                            (resources includesKey:#tabList) ifTrue:[
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8381
                                                icn := self tabListIcon 
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8382
                                            ] ifFalse:[
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8383
                                                (resources includesKey:#hierarchicalList) ifTrue:[
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8384
                                                    icn := self hierarchicalListIcon 
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8385
                                                ]
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8386
                                            ]
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8387
                                        ]
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8388
                                    ]
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8389
                                ]
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8390
                            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8391
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8392
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8393
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8394
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8395
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8396
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8397
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8398
    icn notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8399
        ^ LabelAndIcon icon:icn string:s
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8400
    ].
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8401
    ^ s
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8402
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8403
    "Created: / 22.10.1996 / 19:51:00 / cg"
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  8404
    "Modified: / 29.10.1997 / 03:31:41 / cg"
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8405
!
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8406
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8407
listOfAllMethodsInCategory:aCategory inFullProtocolHierarchyOfClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8408
    "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
  8409
     of the argument, aClass and its superclasses.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8410
     Used with fullProtocol browsing."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8411
1346
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8412
    |newList selectors otherSelectors allCategories|
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8413
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8414
    newList := OrderedCollection new.
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8415
    selectors := IdentitySet new.
611
f3e973ecc846 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 610
diff changeset
  8416
    otherSelectors := IdentitySet new.
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8417
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8418
    allCategories := (aCategory = '* all *').
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8419
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8420
    self classesInFullProtocolHierarchy:aClass do:[:c |
1346
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8421
        |searchCategory|
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8422
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8423
        (aCategory = '* no category *') ifTrue:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8424
            searchCategory := nil
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8425
        ] ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8426
            searchCategory := aCategory
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8427
        ].
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8428
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8429
        c methodDictionary keysAndValuesDo:[:selector :aMethod |
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8430
            (allCategories
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8431
             or:[aMethod category = searchCategory]) ifTrue:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8432
                (otherSelectors includes:selector) ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8433
                    (selectors includes:selector) ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8434
                        selectors add:selector.
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8435
                        newList add:(selector -> aMethod)
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8436
                    ]
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8437
                ].
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8438
            ] ifFalse:[
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8439
                otherSelectors add:selector
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8440
            ]
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8441
        ].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8442
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8443
    (newList size == 0) ifTrue:[^ nil].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8444
    ^ newList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8445
1346
7776ccf2f9c8 oops - duplicate selector entries in fullProtocol browser
Claus Gittinger <cg@exept.de>
parents: 1345
diff changeset
  8446
    "Modified: 14.10.1997 / 00:19:20 / cg"
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8447
!
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8448
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8449
listOfAllMethodsInCategory:aCategory ofClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8450
    "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
  8451
     of the argument, aClass"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8452
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8453
    |newList searchCategory all|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8454
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8455
    all := (aCategory = '* all *').
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8456
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8457
    (aCategory = '* no category *') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8458
	searchCategory := nil
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8459
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8460
	searchCategory := aCategory
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8461
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8462
    newList := OrderedCollection new.
793
56d50de4ad72 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 792
diff changeset
  8463
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  8464
    aClass methodDictionary keysAndValuesDo:[:selector :aMethod |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8465
	(all or:[aMethod category = searchCategory]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8466
	    newList add:(selector -> aMethod)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8467
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8468
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8469
    (newList size == 0) ifTrue:[^ nil].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8470
    ^ newList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8471
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8472
    "Created: 30.7.1997 / 15:10:16 / cg"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8473
    "Modified: 30.7.1997 / 15:12:38 / cg"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8474
!
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8475
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8476
listOfAllSelectorsInCategory:aCategory inFullProtocolHierarchyOfClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8477
    "answer a list of all selectors in a given method category 
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8478
     of the argument, aClass and its superclasses.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8479
     Used with fullProtocol browsing."
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8480
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8481
    |methodList newList otherSelectors allCategories|
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8482
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8483
    methodList := self listOfAllMethodsInCategory:aCategory inFullProtocolHierarchyOfClass:aClass.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8484
    (methodList size == 0) ifTrue:[^ nil].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8485
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8486
    aClass isJavaClass ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8487
	methodList := methodList asOrderedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8488
	methodList sort:[:a :b |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8489
			    |mA mB|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8490
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8491
			    mA := a value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8492
			    mB := b value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8493
			    mA name < mB name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8494
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8495
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8496
	selectorList := methodList collect:[:assoc | assoc key].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8497
	^ methodList collect:[:assoc |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8498
				self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8499
				    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8500
				    selector:(assoc key)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8501
			     ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8502
    ].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8503
1262
8e1263b12ec6 checkin from browser
ca
parents: 1260
diff changeset
  8504
    methodList := methodList asOrderedCollection.
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8505
    selectorList := methodList collect:[:assoc | assoc key].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8506
    newList := methodList 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8507
		    collect:[:assoc |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8508
			self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8509
			    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8510
			    selector:assoc key
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8511
		    ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8512
    ^ newList asOrderedCollection sort:[:a :b | a string < b string] with:selectorList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8513
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8514
    "Modified: 30.7.1997 / 15:28:59 / cg"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8515
!
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8516
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8517
listOfAllSelectorsInCategory:aCategory ofClass:aClass
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8518
    "answer a list of all selectors in a given method category 
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8519
     of the argument, aClass"
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8520
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8521
    |methodList newList|
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8522
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8523
    methodList := self listOfAllMethodsInCategory:aCategory ofClass:aClass.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8524
    (methodList size == 0) ifTrue:[^ nil].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8525
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8526
    aClass isJavaClass ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8527
	methodList := methodList asOrderedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8528
	methodList sort:[:a :b |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8529
			    |mA mB|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8530
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8531
			    mA := a value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8532
			    mB := b value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8533
			    mA name < mB name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8534
			].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8535
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8536
	selectorList := methodList collect:[:assoc | assoc key].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8537
	^ methodList collect:[:assoc |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8538
				self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8539
				    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8540
				    selector:(assoc key)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8541
			     ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8542
    ].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8543
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8544
    selectorList := methodList collect:[:assoc | assoc key].
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8545
    newList := methodList 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8546
		    collect:[:assoc | 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8547
				self 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8548
				    listEntryForMethod:(assoc value)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8549
				    selector:(assoc key)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8550
			    ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8551
    ^ newList sort:[:a :b | a string < b string] with:selectorList
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8552
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8553
    "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
  8554
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8555
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8556
methodDoubleClick:lineNr
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8557
    |resources|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8558
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8559
    currentMethod notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8560
        currentMethod hasResource ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8561
            resources := currentMethod resources.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8562
            (resources includesKey:#canvas) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8563
                UIPainter openOnClass:currentClass andSelector:currentSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8564
                ^ self
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8565
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8566
            (resources includesKey:#menu) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8567
                MenuEditor openOnClass:currentClass andSelector:currentSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8568
                ^ self
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8569
            ].
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
  8570
            ((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
  8571
                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
  8572
                ^ 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
  8573
            ].
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8574
            (resources includesKey:#help) ifTrue:[
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8575
                UIHelpTool openOnClass:currentClass.
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8576
                ^ self
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8577
            ].
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8578
            (resources includesKey:#tableColumns) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8579
                DataSetBuilder openOnClass:currentClass andSelector:currentSelector.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8580
                ^ self
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8581
            ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8582
            (resources includesKey:#tabList) ifTrue:[
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
  8583
                TabListEditor openOnClass:currentClass andSelector:currentSelector.
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8584
                ^ self
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8585
            ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8586
            (resources includesKey:#hierarchicalList) ifTrue:[
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8587
                HierarchicalListEditor openOnClass:currentClass andSelector:currentSelector.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8588
                ^ self
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
  8589
            ].
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8590
        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8591
    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8592
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8593
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8594
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8595
methodSelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8596
    "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
  8597
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  8598
    |selection sensor|
1073
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8599
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8600
"/    selection := methodListView selectionValue string.
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8601
selection := selectorList at:lineNr.
1073
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8602
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8603
    "/ reselected with control ?
1075
f0ca720bce42 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
  8604
    ((sensor := self sensor) notNil and:[sensor ctrlDown]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8605
	selection = currentSelector ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8606
	    "/ if there is a trace/break, remove it.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8607
	    (currentMethod notNil and:[currentMethod isWrapped]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8608
		self methodRemoveBreakOrTrace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8609
		^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8610
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8611
	].
1073
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8612
    ].
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8613
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8614
    self switchToMethod:selection.
a5ce4c71ab14 ctrl-click on a method removes break/trace point
Claus Gittinger <cg@exept.de>
parents: 1066
diff changeset
  8615
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8616
    "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
  8617
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8618
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8619
methodSelectionChanged
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8620
    "method selection has changed - update dependent views"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8621
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  8622
    self withBusyCursorDo:[
1342
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8623
        |index cls|
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8624
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8625
        aspect := nil.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8626
        self updateCodeView.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8627
        (currentMethod notNil 
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8628
        and:[currentMethod isCounting]) ifTrue:[
1342
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8629
            self updateMethodListWithScroll:false.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8630
        ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8631
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8632
        self setAcceptAndExplainActionsForMethod.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8633
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8634
        "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8635
         if there is any autoSearch string, do the search
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8636
        "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8637
        autoSearch notNil ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8638
            codeView 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8639
                searchFwd:autoSearch 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8640
                startingAtLine:1 col:0 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8641
                ifAbsent:[]
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8642
        ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8643
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8644
        fullProtocol ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8645
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8646
             remove any bold attribute from classList
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8647
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8648
            1 to:classListView list size do:[:i |
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8649
                classListView attributeAt:i remove:#bold.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8650
            ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8651
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8652
             boldify the class where this method is implemented
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8653
            "
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8654
            currentMethod notNil ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8655
                cls := currentMethod containingClass.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8656
                index := classListView list indexOf:(cls name).
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8657
                (index == 0 
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8658
                 and:[cls isMeta
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8659
                 and:[cls name endsWith:' class']]) ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8660
                    index := classListView list indexOf:(cls name copyWithoutLast:6).
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8661
                ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8662
                index ~~ 0 ifTrue:[
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8663
                    classListView attributeAt:index add:#bold.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8664
                ].
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8665
                currentClass := acceptClass := cls.
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8666
            ]
f0101f5528ec checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1330
diff changeset
  8667
        ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8668
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8669
1391
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8670
    "Created: / 23.11.1995 / 14:17:44 / cg"
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8671
    "Modified: / 17.6.1996 / 16:47:50 / stefan"
6404de5f57b6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1390
diff changeset
  8672
    "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
  8673
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8674
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8675
methodTemplate
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8676
    "return a method definition template"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8677
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8678
    |s|
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8679
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8680
    s := TextStream on:''.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8681
    s nextPutAll:'message selector and argument names
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8682
    "comment stating purpose of this message"
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8683
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8684
    |temporaries|
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8685
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8686
    statement.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8687
    statement.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8688
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8689
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8690
    "
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8691
     optional: comment giving example use
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8692
    "
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8693
'.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8694
    s cr.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8695
    s emphasis:(self commentEmphasis).
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8696
    s nextPutAll:'"
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8697
 change the above template into real code.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8698
 Then `accept'' either via the menu 
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8699
 or via the keyboard (usually CMD-A).
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8700
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8701
 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
  8702
 select any existing methods code, change it,
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8703
 and finally `accept''. The method will then be
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8704
 installed under the selector as defined in the
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8705
 actual text - no matter which method is selected
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8706
 in the browser.
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8707
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8708
 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
  8709
 and install it with `accept''.
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8710
"
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8711
'.
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8712
    ^ s contents
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8713
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8714
    "Created: 8.2.1996 / 18:21:53 / cg"
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
  8715
    "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
  8716
!
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  8717
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8718
switchToAnyMethodNamed:matchString
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
  8719
    "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
  8720
     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
  8721
750
7427968b55f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
  8722
    |aSelector classToStartSearch classToSearch aClass nm idx|
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8723
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8724
    actualClass isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8725
	currentClassHierarchy notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8726
	    classToStartSearch := currentClassHierarchy
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8727
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8728
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8729
	classToStartSearch := actualClass 
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8730
    ].
637
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8731
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8732
    classToStartSearch notNil ifTrue:[
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8733
"/        showInstance ifFalse:[
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8734
"/            classToStartSearch := classToStartSearch class
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8735
"/        ].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8736
	((matchString ~= '*') and:[matchString includesMatchCharacters]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8737
	    classToSearch := classToStartSearch.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8738
	    aClass := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8739
	    [classToSearch notNil and:[aClass isNil]] whileTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8740
		aSelector := classToSearch methodDictionary findFirstKey:[:element | matchString match:element].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8741
		aSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8742
		    aClass := classToSearch
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8743
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8744
		    classToSearch := classToSearch superclass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8745
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8746
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8747
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8748
	    aSelector := matchString asSymbolIfInterned.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8749
	    aSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8750
		aClass := classToStartSearch whichClassIncludesSelector:aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8751
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8752
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8753
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8754
	aClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8755
	    nm := aClass name.
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8756
"/            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
  8757
"/                ((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
  8758
"/                    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
  8759
"/                ]
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8760
"/            ].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8761
	    aClass ~~ actualClass ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8762
		self switchToClassNamed:nm.
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
	    self switchToMethodNamed:aSelector "matchString".
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8765
	    ^ self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8766
	]
578
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8767
    ].
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8768
    self beep
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8769
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
  8770
    "Modified: 17.6.1996 / 16:52:36 / stefan"
750
7427968b55f6 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 746
diff changeset
  8771
    "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
  8772
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8773
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8774
switchToMethod:aString
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8775
    "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
  8776
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8777
    |selectorString selectorSymbol|
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8778
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8779
    (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
  8780
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8781
    "
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8782
     kludge: extract real selector
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8783
    "
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8784
    selectorString := aString withoutSpaces upTo:(Character space).
637
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8785
    selectorSymbol := selectorString asSymbolIfInterned.
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8786
    selectorSymbol isNil ifTrue:[
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8787
        self beep.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8788
        ^ self
637
9cf2a5a397d6 switch to method fixes
Claus Gittinger <cg@exept.de>
parents: 634
diff changeset
  8789
    ].
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8790
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8791
    fullProtocol ifTrue:[
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8792
        currentMethod := currentSelector := nil.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8793
        "
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8794
         search which class implements the selector
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8795
        "
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8796
        self classesInFullProtocolHierarchy:actualClass do:[:c |
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8797
            (currentMethod isNil 
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8798
             and:[c includesSelector:selectorSymbol]) ifTrue:[
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8799
                currentSelector := selectorSymbol.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8800
                currentMethod := c compiledMethodAt:selectorSymbol.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8801
                acceptClass := c
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8802
            ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8803
        ]
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8804
    ] ifFalse:[
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8805
        currentSelector := selectorSymbol.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8806
        currentMethod := actualClass compiledMethodAt:selectorSymbol.
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8807
    ].
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8808
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8809
    methodCategoryListView notNil ifTrue:[
1524
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8810
        currentMethod notNil ifTrue:[
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8811
            (currentMethodCategory = currentMethod category) ifFalse:[
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8812
                currentMethodCategory := currentMethod category.
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8813
                methodCategoryListView setSelectElement:currentMethodCategory
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8814
            ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8815
        ]
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8816
    ].
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8817
ed8ff581872b a class history for the System Browser
tz
parents: 1522
diff changeset
  8818
    self methodSelectionChanged.
1539
971e20d7b6bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1536
diff changeset
  8819
    currentSelector notNil ifTrue:[
971e20d7b6bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1536
diff changeset
  8820
        self addToClassHistory: actualClass name asString, ' ', currentSelector
971e20d7b6bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1536
diff changeset
  8821
    ]
971e20d7b6bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1536
diff changeset
  8822
971e20d7b6bf checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1536
diff changeset
  8823
    "Modified: / 7.4.1998 / 10:53:01 / cg"
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8824
!
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
  8825
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8826
switchToMethodNamed:matchString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8827
    "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
  8828
     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
  8829
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  8830
    |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
  8831
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8832
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8833
	classToSearch := actualClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8834
	dict := classToSearch methodDictionary.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8835
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8836
	((matchString ~= '*') and:[matchString includesMatchCharacters]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8837
	    aSelector := dict findFirstKey:[:element | matchString match:element].       
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8838
	    aSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8839
		method := dict at:aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8840
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8841
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8842
	    aSelector := matchString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8843
	    method := dict at:matchString ifAbsent:[]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8844
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8845
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8846
	method notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8847
	    cat := method category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8848
	    cat isNil ifTrue:[cat := '* all *'].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8849
	    methodCategoryListView setSelectElement:cat.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8850
	    currentMethodCategory := cat.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8851
	    self updateMethodCategoryListWithScroll:false.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8852
	    self methodCategorySelectionChanged.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8853
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8854
	    currentMethod := method.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8855
	    currentSelector := aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8856
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8857
	    m := aSelector , '*(*)'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8858
	    selectorList notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8859
		idx := selectorList findFirst:[:line |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8860
						    line = aSelector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8861
						    or:[m match:line]].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8862
"/            idx := methodListView list findFirst:[:line |
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8863
"/                                                line = aSelector
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8864
"/                                                or:[m match:line]].
674
fa41cdb5faa5 show privacy in senders/implementors list;
Claus Gittinger <cg@exept.de>
parents: 665
diff changeset
  8865
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8866
		methodListView setSelection:idx. "/ setSelectElement:aSelector.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8867
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8868
	    self methodSelectionChanged.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8869
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8870
	]
348
55e8c40ae940 fixed findMethod / findMethodHere when showing class protocol
Claus Gittinger <cg@exept.de>
parents: 340
diff changeset
  8871
    ].
578
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8872
    self beep.
53a433c25395 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 575
diff changeset
  8873
650
bb426452251e Fix #switchToMethodNamed: -- select name in methodListView.
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
  8874
    "Modified: 28.6.1996 / 20:28:56 / stefan"
1278
0b0ee3c97910 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
  8875
    "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
  8876
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8877
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8878
updateClassMethodListWithScroll:scroll keepSelection:keep
1163
b36faf475548 ??? duplication removed
Claus Gittinger <cg@exept.de>
parents: 1161
diff changeset
  8879
    |newList selection s|
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8880
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8881
    newList := OrderedCollection new.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8882
    selection := classMethodListView selection.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8883
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8884
    "/ update the list, caring for traps.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8885
    classMethodListView list do:[:entry |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8886
        |cls sel mthd s icn|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8887
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8888
        cls := self classFromClassMethodString:entry string.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8889
        sel := self selectorFromClassMethodString:entry string.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8890
        (cls isNil or:[sel isNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8891
            "/ method is gone ?
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8892
            s := entry string.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8893
            (s endsWith:'???') ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8894
                s := s , ' ???'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8895
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8896
            newList add:s
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8897
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8898
            mthd := cls compiledMethodAt:(sel asSymbol).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8899
            mthd isNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8900
                newList add:cls name , ' ' , sel , ' ???'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8901
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8902
                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
  8903
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8904
"/                s := cls name , ' ' , (mthd printStringForBrowserWithSelector:sel).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8905
"/                mthd isWrapped ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8906
"/                    (s endsWith:' !!') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8907
"/                        s := s copyWithoutLast:2
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8908
"/                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8909
"/                    (s endsWith:' !!') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8910
"/                        s := s copyWithoutLast:2
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8911
"/                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8912
"/                    mthd isBreakpointed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8913
"/                        icn := self stopIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8914
"/                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8915
"/                        mthd isTimed ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8916
"/                            icn := self timeIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8917
"/                        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8918
"/                            icn := self traceIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8919
"/                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8920
"/                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8921
"/                    newList add:(LabelAndIcon icon:icn string:s)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8922
"/                ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8923
"/                    newList add:s
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8924
"/                ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8925
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8926
        ].
1066
3d42c6f886f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1060
diff changeset
  8927
    ].
3d42c6f886f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1060
diff changeset
  8928
    classMethodListView setList:newList.
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8929
    classMethodListView setSelection:selection.
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8930
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8931
    "Modified: / 18.12.1995 / 22:54:04 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8932
    "Created: / 3.3.1997 / 15:10:15 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
  8933
    "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
  8934
!
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8935
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8936
updateMethodList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8937
    self updateMethodListWithScroll:true keepSelection:false
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8938
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8939
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8940
updateMethodListWithScroll:scroll
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8941
    self updateMethodListWithScroll:scroll keepSelection:false
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8942
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8943
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8944
updateMethodListWithScroll:scroll keepSelection:keep
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8945
    |selectors scr first last selection searchCategory|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8946
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  8947
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8948
	selection := methodListView selection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8949
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8950
	searchCategory := currentMethodCategory.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8951
	(currentClass notNil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8952
	and:[currentClass supportsMethodCategories not]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8953
	    searchCategory := '* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8954
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8955
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8956
	(searchCategory notNil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8957
	and:[actualClass notNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8958
	    fullProtocol ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8959
		selectors := self listOfAllSelectorsInCategory:searchCategory 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8960
				inFullProtocolHierarchyOfClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8961
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8962
		selectors := self listOfAllSelectorsInCategory:searchCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8963
						       ofClass:actualClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8964
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8965
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8966
	scr := scroll.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8967
	first := methodListView firstLineShown.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8968
	first ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8969
	    last := methodListView lastLineShown.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8970
	    selectors size <= (last - first + 1) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8971
		scr := true
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8972
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8973
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8974
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8975
	scr ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8976
	    methodListView list: "contents:" selectors
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8977
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8978
	    methodListView setList: "setContents:" selectors
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8979
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8980
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8981
	(variableListView notNil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8982
	and:[variableListView hasSelection]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8983
	    self hilightMethodsInMethodList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8984
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8985
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8986
	keep ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8987
	    methodListView setSelection:selection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8988
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8989
	^ self
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8990
    ].
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8991
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8992
    classMethodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  8993
	self updateClassMethodListWithScroll:scroll keepSelection:keep
1058
bb27859b0d78 care for lazy methods when searching for senders;
Claus Gittinger <cg@exept.de>
parents: 1054
diff changeset
  8994
    ].
312
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8995
88a6d2b2f1fb Add memory usage counting in method ctrl/menu.
Stefan Vogel <sv@exept.de>
parents: 309
diff changeset
  8996
    "Modified: 18.12.1995 / 22:54:04 / stefan"
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  8997
    "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
  8998
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  8999
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9000
!BrowserView methodsFor:'misc'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9001
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9002
codeChanged
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9003
    codeView modified ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9004
        codeModified := true.
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9005
        codeView modified:false.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9006
        self startSyntaxHighlightProcess.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9007
    ]
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9008
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9009
    "Created: / 31.3.1998 / 14:25:29 / cg"
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9010
    "Modified: / 31.3.1998 / 23:38:49 / cg"
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9011
!
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9012
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9013
instanceProtocol:aBoolean
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9014
    "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
  9015
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9016
    |onToggle offToggle|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9017
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9018
    showInstance ~~ aBoolean ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9019
        self checkSelectionChangeAllowed ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9020
            instanceToggle notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9021
                aBoolean ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9022
                    offToggle := classToggle.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9023
                    onToggle := instanceToggle.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9024
                ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9025
                    onToggle := classToggle.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9026
                    offToggle := instanceToggle.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9027
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9028
                onToggle turnOn.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9029
                offToggle turnOff.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9030
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9031
            showInstance := aBoolean.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9032
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9033
            (variableListView notNil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9034
            and:[variableListView hasSelection]) ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9035
                self unhilightMethodCategories.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9036
                self unhilightMethods.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9037
                variableListView setSelection:nil
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9038
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9039
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9040
            fullProtocol ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9041
                showInstance ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9042
                    actualClass := currentClassHierarchy.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9043
                ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9044
                    actualClass := currentClassHierarchy class.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9045
                ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9046
                acceptClass := actualClass.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9047
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9048
                self updateClassList.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9049
                self updateMethodCategoryListWithScroll:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9050
                self updateMethodListWithScroll:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9051
                self updateVariableList.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9052
                ^ self
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9053
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9054
            currentClass notNil ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9055
                self classSelectionChanged
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9056
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9057
            codeView modified:false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9058
            codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9059
        ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9060
            aBoolean ifTrue:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9061
                onToggle := classToggle.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9062
                offToggle := instanceToggle
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9063
            ] ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9064
                offToggle := classToggle.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9065
                onToggle := instanceToggle.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9066
            ].
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9067
            onToggle turnOn.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9068
            offToggle turnOff.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9069
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9070
    ]
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
  9071
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9072
    "Modified: / 31.3.1998 / 23:40:04 / cg"
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9073
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9074
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9075
processName
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9076
    "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
  9077
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9078
    ^ 'System Browser'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9079
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9080
309
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  9081
showActivity:someMessage
501
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  9082
    "some activityNotification to be forwarded to the user;
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  9083
     show it in the windows title area here."
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  9084
1500
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  9085
    someMessage size == 0 ifTrue:[
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  9086
        self normalLabel
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  9087
    ] ifFalse:[
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  9088
        self busyLabel:someMessage with:nil
c7cac8cb021f show busyCursor while autloading or starting an app
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
  9089
    ]
309
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  9090
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  9091
    "Created: 16.12.1995 / 18:41:37 / cg"
501
655c9ce9a600 commentary
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
  9092
    "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
  9093
!
383db60e61b7 show activity notifications in the title
Claus Gittinger <cg@exept.de>
parents: 308
diff changeset
  9094
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9095
startSyntaxHighlightProcess
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9096
    |oldCodeList|
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9097
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9098
    coloringProcess notNil ifTrue:[
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9099
        coloringProcess terminate.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9100
        coloringProcess := nil.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9101
    ].
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9102
    currentMethod isNil ifTrue:[^ self].
1521
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9103
    UserPreferences current syntaxColoring ifFalse:[^ self].
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9104
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9105
    oldCodeList := codeView list.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9106
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9107
    coloringProcess := [
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9108
        |oldCode oldEmp code cls|
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9109
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9110
        oldCode := oldCodeList asString.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9111
        oldEmp := oldCode emphasis.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9112
        code := oldCode string.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9113
        cls := actualClass.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9114
        
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9115
        code := SyntaxHighlighter formatMethod:code in:cls.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9116
        code emphasis ~= oldEmp ifTrue:[
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9117
            Processor activeProcess withPriority:(Processor activePriority + 2) do:[
1521
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9118
                code asCollectionOfLines keysAndValuesDo:[:lNr :line |
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9119
                    |oldLine|
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9120
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9121
                    oldLine := codeView listAt:lNr.
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9122
                    oldLine notNil ifTrue:[
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9123
                        oldLine emphasis ~= line emphasis ifTrue:[
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9124
"/ Transcript showCR:oldLine emphasis.
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9125
"/ Transcript showCR:line emphasis.
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9126
                            codeView withoutRedrawAt:lNr put:line.
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9127
                            codeView invalidateLine:lNr.
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9128
                            "/ codeView at:lNr put:line                        
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9129
                        ]
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9130
                    ]
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9131
                ].
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9132
                "/ codeView setContents:code.
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9133
            ].
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9134
        ].
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9135
        coloringProcess := nil.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9136
    ] forkAt:(Processor userBackgroundPriority).
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9137
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9138
    "Created: / 31.3.1998 / 14:25:29 / cg"
1521
47d39dc336bf dont redraw, if a line is the same (with syntaxColoring)
Claus Gittinger <cg@exept.de>
parents: 1519
diff changeset
  9139
    "Modified: / 1.4.1998 / 13:17:14 / cg"
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9140
!
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9141
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9142
updateCodeView
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9143
    |code sourceLineNumber doStartSyntax|
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9144
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9145
    codeView modifiedChannel retractInterestsFor:self.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9146
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9147
    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
  9148
        ^ self classHierarchy
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9149
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9150
    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
  9151
        ^ self classClassInstVars
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9152
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9153
    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
  9154
        ^ self classComment
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9155
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9156
    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
  9157
        ^ self classPrimitiveDefinitions
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9158
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9159
    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
  9160
        ^ self classPrimitiveFunctions
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9161
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9162
    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
  9163
        ^ self classPrimitiveVariables
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9164
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9165
    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
  9166
        ^ self classRevisionInfo
353
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9167
    ].
c985b6878ade better updating changes from other browsers
Claus Gittinger <cg@exept.de>
parents: 349
diff changeset
  9168
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9169
    fullClass ifTrue:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9170
        currentClass notNil ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9171
            code := currentClass source.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9172
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9173
    ] ifFalse:[
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9174
        aspect == #definition ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9175
            ^ self classDefinition
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9176
        ].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9177
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9178
        currentMethod notNil ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9179
            (codeView acceptAction isNil
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9180
            and:[actualClass notNil 
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9181
            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
  9182
                self setAcceptAndExplainActionsForMethod.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9183
            ].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9184
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9185
            code := currentMethod source.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9186
            sourceLineNumber := currentMethod sourceLineNumber.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9187
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9188
            code isNil ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9189
                code := '"
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9190
    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
  9191
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9192
    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
  9193
    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
  9194
    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
  9195
    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
  9196
    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
  9197
    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
  9198
        Smalltalk>>systemPath 
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9199
    and
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9200
        Smalltalk>>systemPath:aCollectionOfPathStrings
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9201
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9202
    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
  9203
        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
  9204
        Smalltalk flushPathCaches.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9205
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9206
    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
  9207
    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
  9208
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9209
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9210
    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
  9211
    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
  9212
    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
  9213
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9214
"'.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9215
                codeView acceptAction:[:text | nil].
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9216
            ] ifFalse:[
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9217
                UserPreferences current syntaxColoring ifTrue:[
1536
27f314b5792f bigger fast-coloring, since syntaxColoring is now much faster
Claus Gittinger <cg@exept.de>
parents: 1535
diff changeset
  9218
                    code size < 5000 ifTrue:[       
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9219
                        code := SyntaxHighlighter formatMethod:code in:actualClass.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9220
                        codeView modifiedChannel onChangeSend:#codeChanged to:self.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9221
                    ] ifFalse:[
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9222
                        doStartSyntax := true.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9223
                    ]
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9224
                ]
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9225
            ]
1501
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9226
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9227
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9228
    codeView contents:code.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9229
    codeView modified:false.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9230
    codeModified := false.
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9231
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9232
    doStartSyntax == true ifTrue:[
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9233
        self startSyntaxHighlightProcess.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9234
        codeView modifiedChannel onChangeSend:#codeChanged to:self.
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9235
    ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  9236
    sourceLineNumber notNil ifTrue:[
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  9237
    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
  9238
            codeView gotoLine:sourceLineNumber.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9239
            sourceLineNumber > 10 ifTrue:[
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9240
                sourceLineNumber := sourceLineNumber - 10
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9241
            ].
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9242
            codeView scrollToLine:sourceLineNumber.
81295c442770 output a reasonable message, if a methods source is not available.
Claus Gittinger <cg@exept.de>
parents: 1500
diff changeset
  9243
        ].
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
  9244
    ].
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9245
    self normalLabel.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9246
1516
91b6f64b56e6 syntax highlighting
Claus Gittinger <cg@exept.de>
parents: 1512
diff changeset
  9247
    "Created: / 23.11.1995 / 14:16:43 / cg"
1536
27f314b5792f bigger fast-coloring, since syntaxColoring is now much faster
Claus Gittinger <cg@exept.de>
parents: 1535
diff changeset
  9248
    "Modified: / 7.4.1998 / 10:01:31 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9249
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9250
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9251
!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
  9252
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9253
nameSpaceMenu
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9254
    <resource: #programMenu >
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9255
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9256
    |labels selectors|
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9257
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9258
    labels := #('new namespace').
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9259
    selectors := #(nameSpaceNewNameSpace).
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9260
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9261
"/    showAllNamespaces ifTrue:[
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9262
"/        labels := labels , #( '-' 'show topLevel namespaces only').
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9263
"/        selectors := selectors , #(nil showTopLevelNamespaces).
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9264
"/    ] ifFalse:[
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9265
"/        labels := labels , #( '-' 'show all namespaces').
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9266
"/        selectors := selectors , #(nil showAllNamespaces).
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9267
"/    ].
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9268
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9269
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9270
    (currentNamespace notNil
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9271
    and:[currentNamespace ~~ Smalltalk
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9272
    and:[currentNamespace ~= '* all *']]) ifTrue:[
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9273
        "/ is it all empty ?
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9274
        currentNamespace allClasses isEmpty ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9275
            labels := labels , #('-' 'remove').
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9276
            selectors := selectors , #(nil nameSpaceRemove).
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9277
        ]
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9278
    ].
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9279
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9280
    ^ PopUpMenu
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9281
        labels:(resources array:labels)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9282
        selectors:selectors
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9283
        receiver:self.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9284
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9285
    "Created: / 4.1.1997 / 23:51:38 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
  9286
    "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
  9287
!
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9288
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9289
nameSpaceNewNameSpace
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9290
    "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
  9291
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9292
    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
  9293
    aspect := nil.
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9294
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9295
    "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
  9296
    "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
  9297
!
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9298
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9299
nameSpaceRemove
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9300
    "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
  9301
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9302
    (currentNamespace ~~ Smalltalk
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9303
    and:[currentNamespace allClasses isEmpty]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9304
	self withBusyCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9305
	    Smalltalk removeClass:currentNamespace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9306
	    allNamespaces := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9307
	    self setListOfNamespaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9308
	    self changeNameSpaceTo:'* all *'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9309
	    namespaceList contents:'* all *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9310
	]
907
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9311
    ].
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9312
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  9313
    "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
  9314
! !
915c9573dc5c added remove-namespace menu item (only if the space is empty)
Claus Gittinger <cg@exept.de>
parents: 906
diff changeset
  9315
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9316
!BrowserView methodsFor:'namespace stuff'!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9317
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9318
changeNameSpaceTo:nsName
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9319
    |n selectedClass str selectedCategory|
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9320
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9321
    nsName = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9322
	currentNamespace := nsName.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9323
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9324
	n := Smalltalk at:nsName asSymbol.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9325
	n isNamespace ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9326
	    currentNamespace := n.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9327
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9328
	    ^ self
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9329
	]
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9330
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9331
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9332
    selectedClass := actualClass.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9333
    currentClass := actualClass := nil.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9334
    selectedCategory := currentClassCategory.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9335
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9336
    self updateClassCategoryListWithScroll:true.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9337
    selectedCategory notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9338
	self classCategorySelectionChanged.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9339
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9340
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9341
    selectedClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9342
	str := self displayedClassNameOf:selectedClass.
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
	self switchToClassNamed:str.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9345
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9346
	(classListView list isNil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9347
	or:[(classListView list includes:str) not]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9348
	     currentClassCategory := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9349
	     currentClass := nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9350
	     aspect := nil.   
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9351
	     self updateMethodCategoryList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9352
	     self updateMethodList.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9353
	     self updateCodeView.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9354
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9355
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9356
	(classCategoryListView notNil and:[currentClass notNil]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9357
	    (currentClassCategory = currentClass category) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9358
		currentClassCategory := currentClass category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9359
		classCategoryListView setSelectElement:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9360
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9361
	].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9362
    ]
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9363
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9364
    "Created: 3.1.1997 / 11:11:13 / cg"
1015
b3727346969f nicer version validation
Claus Gittinger <cg@exept.de>
parents: 1000
diff changeset
  9365
    "Modified: 29.1.1997 / 18:33:42 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9366
!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9367
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9368
displayedClassNameOf:aClass
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9369
    "depending on the current nameSpace, either show a classes
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9370
     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
  9371
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9372
    |owner nm ns|
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9373
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  9374
    aClass isJavaClass ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9375
	^ aClass fullName "/ asString replaceAll:$/ with:$.
1095
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  9376
    ].
b54f607eaa97 ask class for its documentation
Claus Gittinger <cg@exept.de>
parents: 1083
diff changeset
  9377
1267
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  9378
    "/ in which nameSpace is that class (or its owner) ?
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  9379
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9380
    owner := aClass topOwningClass.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9381
    owner notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9382
	ns := owner nameSpace.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9383
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9384
	ns := aClass nameSpace.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9385
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9386
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9387
    "/ this 'cannot' happen (should always be Smalltalk)
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9388
    ns isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9389
	^ aClass name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9390
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9391
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9392
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9393
	(ns == Smalltalk) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9394
	    nm := aClass nameWithoutNameSpacePrefix.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9395
	    ^ nm
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9396
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9397
	nm := aClass nameWithoutNameSpacePrefix.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9398
	^ ns name , '::' , nm   "/ full name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9399
"/        ^ aClass name        "/ full name
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9400
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9401
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9402
    nm := aClass nameWithoutNameSpacePrefix.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9403
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9404
    "/ is it in one of the selected namespaces ?
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9405
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9406
    (self findClassNamedInNameSpace:nm) isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9407
	^ ns name , '::' , nm   "/ full name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9408
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9409
    currentNamespace = ns ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9410
	^ ns name , '::' , nm   "/ full name
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9411
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9412
    ^ nm.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9413
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9414
    "Created: 20.12.1996 / 17:46:41 / cg"
1267
17fc5184fb22 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
  9415
    "Modified: 31.7.1997 / 22:57:16 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9416
!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9417
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9418
listOfAllNamespaces
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9419
    "return a list of all namespaces"
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9420
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9421
    allNamespaces isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9422
	allNamespaces := Namespace allNamespaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9423
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9424
	showAllNamespaces ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9425
	    "/ only topLevel namespaces are shown
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9426
	    "/ i.e. those without colons in their name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9427
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9428
	    allNamespaces := allNamespaces select:[:ns |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9429
						    |nm|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9430
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9431
						    nm := ns name.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9432
						    (nm includes:$:) not
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
	]
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9435
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9436
    ^ allNamespaces
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9437
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9438
    "Modified: 31.7.1997 / 22:32:30 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9439
!
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9440
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9441
listOfNamespaces
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9442
    "return a list of considered namespaces"
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9443
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9444
    currentNamespace isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9445
	^ Array with:Smalltalk
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9446
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9447
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9448
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9449
	^ self listOfAllNamespaces
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9450
    ].
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9451
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9452
    ^ Array with:currentNamespace
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9453
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9454
    "Created: 26.10.1996 / 11:25:39 / cg"
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9455
    "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
  9456
!
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9457
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9458
setListOfNamespaces
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9459
    |l hasSmalltalk|
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9460
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9461
    namespaceList isNil ifTrue:[ ^ self ].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9462
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9463
    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
  9464
    l := l asOrderedCollection.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9465
    hasSmalltalk := true.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9466
    l remove:'Smalltalk' ifAbsent:[hasSmalltalk := false].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9467
    l sort.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9468
    l addFirst:'-'.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9469
    hasSmalltalk ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9470
	l addFirst:'Smalltalk'
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9471
    ].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9472
    l addFirst:'* all *'.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9473
    namespaceList list:l
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9474
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9475
    "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
  9476
!
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9477
1266
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9478
showAllNamespaces
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9479
    "toggle to show all namespaces"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9480
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9481
    showAllNamespaces := true.
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9482
    self updateNamespaceList
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9483
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9484
    "Modified: 31.7.1997 / 22:33:16 / cg"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9485
!
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9486
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9487
showTopLevelNamespaces
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9488
    "toggle to show topLevel namespaces only"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9489
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9490
    showAllNamespaces := false.
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9491
    self updateNamespaceList
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9492
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9493
    "Created: 31.7.1997 / 22:33:29 / cg"
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9494
!
ee97c01c22c9 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1262
diff changeset
  9495
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9496
updateNamespaceList
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9497
    allNamespaces := nil.
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9498
    namespaceList notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9499
	self setListOfNamespaces
918
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9500
    ].
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9501
3b631dff391e also update the nameSpace list (update menu item)
Claus Gittinger <cg@exept.de>
parents: 916
diff changeset
  9502
    "Created: 8.1.1997 / 10:54:03 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9503
! !
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9504
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9505
!BrowserView methodsFor:'private'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9506
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9507
askAndBrowseMethodCategory:title action:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9508
    "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
  9509
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9510
    |sel box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9511
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9512
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9513
		enterBoxTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9514
		okText:'browse'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9515
		label:'browse category'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9516
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9517
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9518
    sel isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9519
	currentMethodCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9520
	    sel := currentMethodCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9521
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9522
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9523
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9524
	box initialText:(sel asString withoutSpaces)
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9525
    ].
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  9526
    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
  9527
    box showAtPointer
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9528
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
  9529
    "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
  9530
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9531
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9532
askForMethodCategory
455
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9533
    |someCategories box txt retVal|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9534
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9535
    someCategories := actualClass categories sort.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9536
    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
  9537
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9538
    lastMethodCategory isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9539
	txt := 'new methods'
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9540
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9541
	txt := lastMethodCategory
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9542
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9543
    box initialText:txt.
455
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9544
    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
  9545
    box showAtPointer.
455
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9546
    ^ retVal
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9547
4fd3fb9a34e4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 449
diff changeset
  9548
    "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
  9549
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9550
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9551
askForSearchSelectorTitle:title openWith:aSelector
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9552
    "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
  9553
     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
  9554
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9555
    ^ self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9556
	askForSearchTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9557
	openWith:aSelector 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9558
	isSelector:true
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9559
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9560
    "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
  9561
!
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9562
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9563
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
  9564
    "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
  9565
     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
  9566
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9567
    ^ self
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9568
	askForSearchTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9569
	openWith:aSelector 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9570
	isSelector:isSelector 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9571
	searchArea:#everywhere
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9572
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9573
    "Modified: 11.11.1996 / 12:42:46 / cg"
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9574
!
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9575
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9576
askForSearchTitle:title openWith:aSelector isSelector:isSelector searchArea:whereDefault
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9577
    "convenient method: setup enterBox with text from codeView or selected
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9578
     method for browsing based on a selector. Set action and launch box.
1155
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9579
     SearchArea may be one of #everywhere, #classCategory, #class, #classWithPrivateClasses,
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9580
     #classHierarchy or #classHierarchyWithPrivateClasses"
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9581
1256
29c8e994602f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
  9582
    |box grp panel selectorHolder where whereChannel 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9583
     b sel classes areas toSearch cls privates inputField|
1155
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9584
c37cb25bed62 better search ;-) private stuff
ca
parents: 1149
diff changeset
  9585
    areas := #(everywhere 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9586
	       classCategory 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9587
	       class 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9588
	       classHierarchy 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9589
	       classWithPrivateClasses 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9590
	       classHierarchyWithPrivateClasses).
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9591
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9592
    isSelector ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9593
	sel := self selectorToSearchFor.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9594
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9595
	sel := self stringToSearchFor.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9596
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9597
    selectorHolder := sel asValue.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9598
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9599
    box := Dialog new.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  9600
    (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
  9601
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9602
    inputField := box addInputFieldOn:selectorHolder tabable:true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9603
    inputField selectAll.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9604
    inputField entryCompletionBlock:[:contents |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9605
	|s what m|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9606
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9607
	s := contents withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9608
	box topView withWaitCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9609
	    what := Smalltalk selectorCompletion:s.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9610
	    inputField contents:what first.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9611
	    (what at:2) size ~~ 1 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9612
		self beep
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9613
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9614
	]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9615
    ].
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9616
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9617
    (currentClassCategory notNil or:[currentClass notNil]) ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9618
	box addHorizontalLine.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9619
	box addVerticalSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9620
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9621
	(box addTextLabel:(resources string:'search in:')) adjust:#left.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9622
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9623
	panel := VerticalPanelView "HorizontalPanelView" new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9624
	panel horizontalLayout:#fitSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9625
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9626
	grp := RadioButtonGroup new.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9627
	b := CheckBox "RadioButton" label:(resources string:'everywhere').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9628
	panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9629
	box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9630
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9631
	currentClassCategory notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9632
	    b := CheckBox "RadioButton" label:(resources string:'class category').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9633
	    panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9634
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9635
	].
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
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9638
	    b := CheckBox "RadioButton" label:(resources string:'class').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9639
	    panel add:b.grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9640
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9641
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9642
	    b := CheckBox "RadioButton" label:(resources string:'class & subclasses').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9643
	    panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9644
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9645
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9646
	    currentClass subclasses size == 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9647
		b disable.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9648
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9649
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9650
	    b := CheckBox "RadioButton" label:(resources string:'class & private classes').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9651
	    panel add:b.grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9652
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9653
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9654
	    currentClass privateClasses size == 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9655
		b disable
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9656
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9657
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9658
	    b := CheckBox "RadioButton" label:(resources string:'class & subclasses & all private classes').
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9659
	    panel add:b. grp add:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9660
	    box makeTabable:b.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9661
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9662
	    currentClass subclasses size == 0 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9663
		b disable.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9664
	    ] ifFalse:[
1236
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9665
"/ this takes too long ...
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9666
"/                toSearch := IdentitySet new.
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9667
"/                currentClass withAllSubclasses do:[:cls | toSearch add:cls privateClasses].
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9668
"/                toSearch size == 0 ifTrue:[
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9669
"/                    b disable
ffc80648ab57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1233
diff changeset
  9670
"/                ]
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9671
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9672
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9673
	whereDefault notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9674
	    where := areas indexOf:whereDefault.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9675
	    where == 0 ifTrue:[where := 1].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9676
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9677
	    where := 1.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9678
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9679
	grp value:where.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9680
	whereChannel := grp.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9681
	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
  9682
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9683
	box addVerticalSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9684
	box addHorizontalLine.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9685
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9686
	whereChannel := 1 asValue.
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9687
    ].
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9688
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9689
    box addAbortButton.
723
c25a73e57512 use *-categories; correctly update after a classCategory-remove;
Claus Gittinger <cg@exept.de>
parents: 714
diff changeset
  9690
    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
  9691
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
  9692
    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
  9693
    box open.
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9694
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9695
    box accepted ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9696
	sel := selectorHolder value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9697
	where := whereChannel value.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9698
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9699
	sel isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9700
	    self warn:'nothing entered for search'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9701
	    ^ self.
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
	where isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9704
	    self warn:'no class(es) for search'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9705
	    ^ self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9706
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9707
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9708
	where := areas at:where ifAbsent:#class.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9709
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9710
	where == #everywhere ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9711
	    classes := Smalltalk allClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9712
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9713
	    where == #classCategory ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9714
		classes := Smalltalk allClassesInCategory:currentClassCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9715
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9716
		(where == #class or:[where == #classWithPrivateClasses]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9717
		    currentClass isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9718
			classes := #()
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9719
		    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9720
			classes := Array with:currentClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9721
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9722
		] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9723
		    (where == #classHierarchy or:[where == #classHierarchyWithPrivateClasses]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9724
			classes := currentClass withAllSubclasses
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9725
		    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9726
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9727
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9728
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9729
	(where == #classWithPrivateClasses or:[where == #classHierarchyWithPrivateClasses]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9730
	    toSearch := IdentitySet withAll:classes.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9731
	    classes := IdentitySet withAll:toSearch.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9732
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9733
	    [toSearch notEmpty] whileTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9734
		cls := toSearch removeFirst.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9735
		privates := cls privateClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9736
		privates notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9737
		    toSearch addAll:cls privateClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9738
		    classes addAll:cls privateClasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9739
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9740
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9741
	    classes := classes asOrderedCollection.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9742
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9743
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9744
	classes isEmpty ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9745
	    self warn:'no class(es) given for search'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9746
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9747
	    self withSearchCursorDo:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9748
		SystemBrowser perform:aSelector with:sel with:classes
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9749
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9750
	]
665
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9751
    ]
eb23262a5ee1 combined sender/localSenders into one dialog-controlled search operation.
Claus Gittinger <cg@exept.de>
parents: 650
diff changeset
  9752
863
65769db0afe5 use different searchArea defaults
Claus Gittinger <cg@exept.de>
parents: 862
diff changeset
  9753
    "Created: 11.11.1996 / 12:42:14 / cg"
1256
29c8e994602f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1255
diff changeset
  9754
    "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
  9755
!
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9756
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9757
busyLabel:what with:someArgument
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9758
    "set the title for some warning"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9759
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  9760
    self topView
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9761
	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
  9762
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
  9763
    "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
  9764
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9765
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9766
checkSelectionChangeAllowed
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9767
    "return true, if selection change is ok;
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9768
     its not ok, if code has been changed.
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9769
     in this case, return the result of a user query"
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9770
971
3f31069f85ce ignore historyLine, when checking for a changed method
Claus Gittinger <cg@exept.de>
parents: 969
diff changeset
  9771
    |what m src1 src2 list1 list2 v|
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9772
447
7f2888c05b92 dont access source again when leaving, if codeView was not modified
Claus Gittinger <cg@exept.de>
parents: 442
diff changeset
  9773
    codeView modified ifFalse:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9774
        codeModified ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9775
            ^ true
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9776
        ]
447
7f2888c05b92 dont access source again when leaving, if codeView was not modified
Claus Gittinger <cg@exept.de>
parents: 442
diff changeset
  9777
    ].
7f2888c05b92 dont access source again when leaving, if codeView was not modified
Claus Gittinger <cg@exept.de>
parents: 442
diff changeset
  9778
387
cdd20d24f2ee check for nil-actualClass (in case its gone)
Claus Gittinger <cg@exept.de>
parents: 376
diff changeset
  9779
    (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
  9780
        self withBusyCursorDo:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9781
            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
  9782
            m notNil ifTrue:[
1535
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9783
                src1 := m source.
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9784
                src1 notNil ifTrue:[src1 := src1 string].
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9785
                src2 := codeView contents.
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9786
                src2 notNil ifTrue:[src2 := src2 string].
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9787
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9788
                (src1 ~= src2) ifTrue:[
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9789
                    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
  9790
                        list1 := #()
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9791
                    ] ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9792
                        list1 := src1 asCollectionOfLines 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9793
                                        collect:[:line | 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9794
                                                    line isNil ifTrue:['']
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9795
                                                    ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9796
                                                        line 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9797
                                                            withoutTrailingSeparators
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9798
                                                                withTabsExpanded
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9799
                                                    ]
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9800
                                                ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9801
                    ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9802
                    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
  9803
                                                               ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9804
                                                                    line 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9805
                                                                        withoutTrailingSeparators
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9806
                                                                            withTabsExpanded
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9807
                                                               ]
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9808
                                                      ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9809
                    HistoryManager notNil ifTrue:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9810
                        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
  9811
                        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
  9812
                    ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9813
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9814
                    list1 = list2 ifFalse:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9815
                        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
  9816
                        what == #compare ifTrue:[
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9817
                            v := DiffTextView 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9818
                                    openOn:src2 
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9819
                                    label:(resources string:'code here (to be accepted ?)')
1535
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9820
                                    and:src1
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9821
                                    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
  9822
                            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
  9823
                            ^ false
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9824
                        ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9825
                        ^ what
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9826
                    ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9827
                ].
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9828
                ^ true
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9829
            ]
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9830
        ]
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9831
    ].
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9832
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9833
    ^ self checkSelectionChangeAllowedWithCompare:false
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9834
1426
aa8bda9a1964 oops - handle the case that no source is available when checking
Claus Gittinger <cg@exept.de>
parents: 1419
diff changeset
  9835
    "Created: / 24.11.1995 / 11:03:33 / cg"
1535
1f32a2695303 ignore emphasis when comparing versions (in checkSelectionChangeAllowed)
Claus Gittinger <cg@exept.de>
parents: 1534
diff changeset
  9836
    "Modified: / 7.4.1998 / 09:49:52 / cg"
253
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9837
!
67448eb25c03 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
  9838
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9839
checkSelectionChangeAllowedWithCompare:compareOffered
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9840
    "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
  9841
     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
  9842
     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
  9843
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9844
    |action labels values|
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9845
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9846
    codeView modified ifFalse:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9847
        codeModified ifFalse:[
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9848
            ^ true
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9849
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9850
    ].
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9851
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9852
    compareOffered ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9853
        labels := #('cancel' 'compare' 'accept' 'continue').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9854
        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
  9855
    ] ifFalse:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9856
        labels := #('cancel' 'accept' 'continue').
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9857
        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
  9858
    ].
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9859
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9860
    action := OptionBox 
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9861
                  request:(resources at:'text has not been accepted.\\Your modifications will be lost when continuing.') withCRs
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9862
                  label:(resources string:'Attention')
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9863
                  form:(WarningBox iconBitmap)
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9864
                  buttonLabels:(resources array:labels)
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9865
                  values:values
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9866
                  default:true.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9867
    action ~~ #accept ifTrue:[
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9868
        ^ action
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
  9869
    ].
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9870
    codeView accept. 
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9871
    ^ true
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9872
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9873
    "Created: / 24.11.1995 / 10:54:46 / cg"
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
  9874
    "Modified: / 31.3.1998 / 23:36:55 / cg"
204
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9875
!
6f4460d5a09d added supersend searches; offer comparing the current version with the
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
  9876
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9877
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
  9878
    "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
  9879
     passing class and nesting level to the block."
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9880
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9881
    |names subclasses|
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9882
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9883
    remainSet remove:aClass ifAbsent:[].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9884
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9885
    aBlock value:aClass value:level.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9886
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9887
    subclasses := subclassDictionary at:aClass ifAbsent:[nil].
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9888
    (subclasses size == 0) ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9889
	names := subclasses collect:[:class | class name].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9890
	names sortWith:subclasses.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9891
	subclasses do:[:aSubClass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9892
	    self classHierarchyOf:aSubClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9893
			    level:(level + 1) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9894
			       do:aBlock 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9895
			    using:subclassDictionary
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9896
		       removeFrom:remainSet
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9897
	]
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9898
    ]
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9899
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9900
    "Created: 20.12.1996 / 17:05:06 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9901
    "Modified: 5.1.1997 / 18:45:41 / cg"
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9902
!
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9903
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9904
classHierarchyOf:topClass withAutoloaded:withAutoloaded do:aBlock
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9905
    "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
  9906
     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
  9907
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9908
    |classes s subclassDict l remaining allNameSpaces nameSpaceList|
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9909
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9910
    classes := IdentitySet new.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9911
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9912
    "/ first, collect the list of classes to consider
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9913
    "/ thats all classes which are in the selected NameSpaces,
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9914
    "/ or private ones, owned by a class which is
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9915
    "/ also all of its superclasses are added.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9916
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9917
    allNameSpaces := (currentNamespace = '* all *').
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9918
    nameSpaceList := self listOfNamespaces.
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9919
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9920
    Smalltalk allBehaviorsDo:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9921
	|actualNamespace match owner|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9922
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9923
	aClass isMeta ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9924
	    (aClass isNamespace not
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9925
	    or:[aClass == Smalltalk]) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9926
		match := allNameSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9927
		match ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9928
		    (owner := aClass topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9929
			actualNamespace := owner nameSpace
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9930
		    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9931
			actualNamespace := aClass nameSpace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9932
		    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9933
		    match := nameSpaceList includesIdentical:actualNamespace.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9934
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9935
		match ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9936
		    classes addAll:(aClass withAllSuperclasses).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9937
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9938
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9939
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9940
    ].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9941
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9942
    "/ now, generate a dictionary, which associates a set of subclasses
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9943
    "/ to each ...
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9944
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9945
    subclassDict := IdentityDictionary new:classes size.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9946
    classes do:[:aClass |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9947
	s := aClass superclass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9948
	s notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9949
	    l := subclassDict at:s ifAbsent:[nil].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9950
	    l isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9951
		l := OrderedCollection new:5.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9952
		subclassDict at:s put:l
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9953
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9954
	    l add:aClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9955
	]
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  9956
    ].
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9957
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9958
    "/
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9959
    "/ walk this ..
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9960
    "/
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
  9961
    remaining := classes.
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9962
    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
  9963
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9964
    "/
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9965
    "/ if autoloaded classes are wanted ...
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9966
    "/
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9967
    withAutoloaded ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9968
	(remaining includes:Autoload) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9969
	    self classHierarchyOf:Autoload level:0 do:aBlock using:subclassDict removeFrom:remaining.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9970
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9971
	(remaining asSortedCollection:[:a :b | a name < b name]) do:[:aNilSubclass |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9972
	    aBlock value:aNilSubclass value:0
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9973
	]
900
6fd4cb8c03e9 fixed clasHierarchy walk for subclasses
Claus Gittinger <cg@exept.de>
parents: 899
diff changeset
  9974
    ].
575
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  9975
1dc6e1aa6d39 show subclasses hierarchical (spawn subclasses)
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
  9976
    "Created: 28.5.1996 / 13:46:23 / cg"
910
8121a4d4ab79 speedup class list generation
Claus Gittinger <cg@exept.de>
parents: 909
diff changeset
  9977
    "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
  9978
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9979
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9980
classesInFullProtocolHierarchy:aClass do:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9981
    "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
  9982
     the hierarchy"
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
    |index|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9985
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9986
    index := (classListView list size).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9987
    aClass withAllSuperclasses do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9988
	(classListView isInSelection:index) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9989
	    aBlock value:c
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9990
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
  9991
	index := index - 1
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9992
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9993
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9994
!
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
classesInHierarchy:aClass do:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9997
    |index|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9998
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
  9999
    index := (classListView list size).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10000
    aClass withAllSuperclasses do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10001
	(classListView isInSelection:index) ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10002
	    aBlock value:c
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10003
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10004
	index := index - 1
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10005
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10006
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10007
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10008
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10009
compileCode:someCode
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10010
    (ReadStream on:someCode) fileIn
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10011
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10012
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10013
enterBoxForCodeSelectionTitle:title okText:okText
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10014
    "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
 10015
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10016
    |sel box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10017
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10018
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10019
		enterBoxTitle:(resources string:title) 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10020
		okText:(resources string:okText).
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10021
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10022
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10023
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10024
	box initialText:(sel asString withoutSeparators)
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10025
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10026
    ^ box
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10027
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10028
    "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
 10029
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10030
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10031
enterBoxForSearchSelectorTitle:title
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10032
    "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
 10033
     method for browsing based on a selector"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10034
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10035
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10036
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10037
    box := self 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10038
		enterBoxTitle:title 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10039
		okText:'search'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10040
		label:'search selector'.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10041
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10042
    box initialText:(self selectorToSearchFor).
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10043
    ^ box
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10044
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10045
    "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
 10046
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10047
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10048
enterBoxTitle:title okText:okText
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10049
    "convenient method: setup enterBox"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10050
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10051
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10052
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10053
    box := EnterBox new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10054
    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
 10055
    ^ box
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
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10058
enterBoxTitle:title okText:okText label:label
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10059
    "convenient method: setup enterBox"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10060
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10061
    |box|
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10062
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10063
    box := EnterBox new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10064
    box label:(resources string:label).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10065
    box title:(resources string:title) 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10066
	okText:(resources string:okText).
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10067
    ^ box
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10068
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10069
    "Created: 15.1.1997 / 23:01:04 / cg"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10070
    "Modified: 16.1.1997 / 00:26:31 / cg"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10071
!
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10072
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10073
enterBoxTitle:title okText:okText label:label list:aList
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10074
    "convenient method: setup enterBox"
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10075
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10076
    |box fieldHolder|
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10077
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10078
    fieldHolder := ValueHolder new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10079
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10080
    box := DialogBox new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10081
    box label:(resources string:label).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10082
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10083
    (box addTextLabel:(resources string:title)) adjust:#left.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10084
    box addVerticalSpace.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10085
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10086
    aList isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10087
	box addInputFieldOn:fieldHolder.
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10088
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10089
	(box addComboBoxOn:fieldHolder) list:aList
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10090
    ].
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10091
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10092
    box addVerticalSpace:15.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10093
    box addAbortButton;
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10094
	addOkButtonLabelled:(resources string:okText).
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10095
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
 10096
    box aspectAt:#fieldValue put:fieldHolder.
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
 10097
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10098
"/    box showAtPointer.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10099
"/
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10100
"/    box := EnterBox new.
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10101
"/    box label:(resources string:label).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10102
"/    box title:(resources string:title) 
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10103
"/        okText:(resources string:okText).
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10104
    ^ box
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10105
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10106
    "Created: 15.1.1997 / 23:01:04 / cg"
966
f15f2ac0a745 nicer category copy;
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
 10107
    "Modified: 16.1.1997 / 20:13:28 / cg"
962
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10108
!
55c72d957f50 more national strings;
Claus Gittinger <cg@exept.de>
parents: 953
diff changeset
 10109
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10110
extractClassAndSelectorFromSelectionInto:aBlock
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10111
    "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
 10112
     '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
 10113
    the result."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10114
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10115
    |sel clsName isMeta sep s|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10116
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10117
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10118
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10119
	sel := sel asString withoutSeparators.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10120
	('*>>*' match:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10121
	    sep := $>
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10122
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10123
	    ('* *' match:sel) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10124
		sep := Character space
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10125
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10126
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10127
	sep notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10128
	    "
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10129
	     extract class/sel from selection
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10130
	    "
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10131
	    s := ReadStream on:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10132
	    clsName := s upTo:sep.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10133
	    [s peek == sep] whileTrue:[s next].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10134
	    sel := s upToEnd.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10135
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10136
	    (clsName endsWith:' class') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10137
		isMeta := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10138
		clsName := clsName copyWithoutLast:6 "copyTo:(clsName size - 5)"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10139
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10140
		isMeta := false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10141
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10142
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10143
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10144
    aBlock value:clsName value:sel value:isMeta
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10145
634
24a678f81829 Change the name of a classes Metaclass from e.g. "SmallIntegerclass" to
Stefan Vogel <sv@exept.de>
parents: 629
diff changeset
 10146
    "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
 10147
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10148
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10149
findClassNamed:aClassName
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10150
    "search through namespaces for aClassName."
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10151
985
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10152
    |nm nameSym cls meta|
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10153
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10154
    meta := false.
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10155
    nm := aClassName.
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10156
    (nm endsWith:' class') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10157
	meta := true.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10158
	nm := nm copyWithoutLast:6.
985
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10159
    ].
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10160
    nameSym := nm asSymbol.
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10161
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
 10162
    currentNamespace = '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10163
	(cls := Smalltalk at:nameSym) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10164
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10165
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10166
	]
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
 10167
    ].
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10168
    self listOfNamespaces do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10169
	(cls := aNamespace at:nameSym) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10170
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10171
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10172
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10173
    ].
884
4e3796d405bc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 883
diff changeset
 10174
    currentNamespace ~= '* all *' ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10175
	(cls := Smalltalk at:nameSym) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10176
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10177
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10178
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10179
    ].
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10180
985
fde6b90945cc method-list fileOut of class methods
Claus Gittinger <cg@exept.de>
parents: 978
diff changeset
 10181
    (nm startsWith:'Smalltalk::') ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10182
	cls := Smalltalk classNamed:(nm copyFrom:'Smalltalk::' size + 1).
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10183
	cls notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10184
	    meta ifTrue:[^ cls class].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10185
	    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10186
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10187
    ].
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10188
    ^ nil
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10189
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10190
    "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
 10191
    "Modified: 23.1.1997 / 14:21:00 / cg"
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10192
!
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10193
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10194
findClassNamedInNameSpace:aClassName
897
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
 10195
    "search through current namespaces for aClassName.
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
 10196
     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
 10197
8475fc61998f correctly display private subclasses in other namespaces
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
 10198
    |cls owner|
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10199
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10200
    self listOfNamespaces do:[:aNamespace |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10201
	(cls := aNamespace at:aClassName asSymbol) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10202
	    (owner := cls topOwningClass) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10203
		owner nameSpace == aNamespace ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10204
		    ^ cls
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10205
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10206
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10207
		cls nameSpace == aNamespace ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10208
		    ^ cls
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
	]
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10212
    ].
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10213
    ^ nil
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10214
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10215
    "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
 10216
    "Modified: 3.1.1997 / 19:30:53 / cg"
882
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10217
!
c355bfd9eb08 added a nameSpace filter
Claus Gittinger <cg@exept.de>
parents: 881
diff changeset
 10218
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10219
findClassOfVariable:aVariableName accessWith:aSelector
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10220
    "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
 10221
     is defined; 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10222
     needs either #instVarNames or #classVarNames as aSelector."
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10223
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10224
    |cls homeClass list|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10225
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10226
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10227
     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
 10228
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10229
    cls := currentClass.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10230
    [cls notNil] whileTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10231
        aSelector == #classInstVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10232
            list := cls class instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10233
        ] ifFalse:[                             
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10234
            list := cls perform:aSelector
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10235
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10236
        (list includes:aVariableName) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10237
            homeClass := cls.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10238
            cls := nil.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10239
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10240
            cls := cls superclass
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10241
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10242
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10243
    homeClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10244
        "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
 10245
         for the declaring class ...
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10246
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10247
        homeClass := currentClass
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10248
    ] ifFalse:[
552
c61c0758c10b showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 547
diff changeset
 10249
"/        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
 10250
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10251
    ^ homeClass
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10252
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10253
    "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
 10254
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10255
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10256
hideMethodCategoryList
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10257
    classCategoryListView isNil ifTrue:[
1373
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10258
        classListView notNil ifTrue:[
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10259
	    methodCategoryListView superView extent:0.0 @ 1.0.
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10260
	    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
 10261
	].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10262
	^ self.
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10263
    ].
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10264
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10265
    methodCategoryListView superView extent:0.0 @ 1.0.
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10266
    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
 10267
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10268
    "Created: 30.7.1997 / 17:50:27 / cg"
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10269
    "Modified: 30.7.1997 / 18:00:02 / cg"
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10270
!
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10271
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10272
listBoxForCodeSelectionTitle:title okText:okText
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10273
    "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
 10274
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10275
    |sel box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10276
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10277
    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
 10278
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10279
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10280
	box initialText:(sel asString withoutSeparators)
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10281
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10282
    ^ box
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10283
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10284
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10285
listBoxTitle:title okText:okText list:aList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10286
    "convenient method: setup a listBox & return it"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10287
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10288
    |box|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10289
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10290
    box := ListSelectionBox 
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10291
		title:(resources string:title)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10292
		okText:(resources string:okText)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10293
		action:nil.
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10294
    box list:aList.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10295
    ^ box
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10296
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10297
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10298
normalLabel
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10299
    "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
 10300
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10301
    |l il|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10302
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10303
    myLabel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10304
	"if I have been given an explicit label,
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10305
	 and its not the default, take that one"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10306
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10307
	myLabel ~= 'System Browser' ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10308
	    l := il := myLabel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10309
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10310
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10311
    l isNil ifTrue:[    
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10312
	l := resources string:'System Browser'.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10313
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10314
	currentClass notNil ifTrue:[
902
6aa43ef227c3 delayed update;
Claus Gittinger <cg@exept.de>
parents: 900
diff changeset
 10315
"/            l := l, ': ', currentClass name.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10316
	    l := self displayedClassNameOf:currentClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10317
	    classListView isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10318
		currentSelector notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10319
		    l := l , ' ' ,  currentSelector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10320
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10321
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10322
		currentClass isLoaded ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10323
		    l := l , ' (unloaded)'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10324
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10325
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10326
	    il := currentClass nameWithoutPrefix
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10327
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10328
	    il := l.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10329
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10330
    ].
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10331
    self topView label:l.
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10332
    self topView iconLabel:il.
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10333
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10334
    "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
 10335
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10336
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
 10337
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
 10338
    |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
 10339
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
 10340
    currentClass notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10341
	cls := currentClass.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10342
	cls isMeta ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10343
	    meta := cls.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10344
	    cls := meta soleInstance
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10345
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10346
	    meta := cls class
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10347
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10348
	cls removeDependent:self.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10349
	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
 10350
    ].
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
 10351
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
 10352
    "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
 10353
!
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
 10354
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10355
selectorToSearchFor
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10356
    "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
 10357
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10358
    |sel t|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10359
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10360
    sel := codeView selection.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10361
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10362
	sel := sel asString.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10363
	t := Parser selectorInExpression:sel.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10364
	t notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10365
	    sel := t
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10366
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10367
	sel := sel withoutSpaces.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10368
	sel == #>> ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10369
	    "oops - thats probably not what we want here ..."
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10370
	    self extractClassAndSelectorFromSelectionInto:[:c :s :m |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10371
		sel := s
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10372
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10373
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10374
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10375
	methodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10376
	    methodListView selection notNil ifTrue:[
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
 10377
sel := selectorList at:(methodListView selection).
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
 10378
"/                sel := methodListView selectionValue string
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10379
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10380
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10381
	    classMethodListView notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10382
		classMethodListView selection notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10383
		    sel := classMethodListView selectionValue string.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10384
		].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10385
		sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10386
		    sel := self selectorFromClassMethodString:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10387
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10388
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10389
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10390
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10391
	    sel := sel withoutSpaces upTo:(Character space)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10392
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10393
	    sel := ''
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10394
	]
606
b2d60c276bde care for Text in lists (implementors & senders)
Claus Gittinger <cg@exept.de>
parents: 599
diff changeset
 10395
    ].
b2d60c276bde care for Text in lists (implementors & senders)
Claus Gittinger <cg@exept.de>
parents: 599
diff changeset
 10396
    ^ sel string
b2d60c276bde care for Text in lists (implementors & senders)
Claus Gittinger <cg@exept.de>
parents: 599
diff changeset
 10397
1259
09357f451ee3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1258
diff changeset
 10398
    "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
 10399
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10400
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10401
setAcceptAndExplainActionsForMethod
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10402
    "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
 10403
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10404
    codeView acceptAction:[:theCode |
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10405
        |cat cls rslt|
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10406
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10407
        fullProtocol ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10408
            cls := acceptClass 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10409
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10410
        cls isNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10411
            cls := actualClass.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10412
            cls isNil ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10413
                self warning:'oops class is gone; reselect and try again'.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10414
                ^ self
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10415
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10416
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10417
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10418
        codeView cursor:Cursor execute.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10419
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10420
        (cat := currentMethodCategory) = '* all *' ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10421
            "must check from which category this code came from ...
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10422
             ... thanks to Arno for pointing this out"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10423
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10424
            cat := self askForMethodCategory.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10425
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10426
        (cat notNil and:[cat notEmpty]) ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10427
            Object abortSignal catch:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10428
                lockUpdates := true.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10429
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10430
                Class methodRedefinitionSignal handle:[:ex |
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10431
                    |answer oldVsNew oldPkg newPkg|
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10432
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10433
                    oldVsNew := ex parameter.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10434
                    oldPkg := oldVsNew key package.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10435
                    newPkg := oldVsNew value package.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10436
                    answer := OptionBox 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10437
                                  request: 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10438
('You are about to change code from another (system-) package.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10439
The methods original packageID was ''%1''. 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10440
If you proceed, the new code will be marked as belonging
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10441
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
 10442
If you proceed with ''keep'', the old packageID will be preserved.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10443
Otherwise, hit ''cancel'' to leave the code unchanged.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10444
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10445
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
 10446
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10447
                                  label:'Method redefinition'
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10448
                                  form:(WarningBox iconBitmap)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10449
                                  buttonLabels:#('cancel' 'keep' 'continue')
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10450
                                  values:#(#cancel #keep #continue)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10451
                                  default:#continue.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10452
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10453
                    (answer ~~ #cancel) ifTrue:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10454
                        ex proceedWith:answer
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10455
                    ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10456
                ] do:[
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10457
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10458
                    rslt := actualClass compilerClass 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10459
                        compile:theCode asString
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10460
                        forClass:cls
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10461
                        inCategory:cat 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10462
                        notifying:codeView.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10463
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10464
                    codeView modified:false.
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10465
                    codeModified := false.
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10466
                    currentMethod := actualClass compiledMethodAt:currentSelector.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10467
                    self updateMethodListWithScroll:false keepSelection:(rslt == currentMethod).
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10468
                    self normalLabel.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10469
                ]
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10470
            ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10471
            lockUpdates := false.
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10472
        ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10473
        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
 10474
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10475
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10476
    codeView explainAction:[:theCode :theSelection |
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10477
        self showExplanation:(Explainer 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10478
                                explain:theSelection 
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10479
                                in:theCode
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10480
                                forClass:actualClass)
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10481
    ].
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10482
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10483
    "Modified: / 31.3.1998 / 23:40:23 / cg"
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10484
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10485
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10486
setDoitActionForClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10487
    "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
 10488
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10489
    "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
 10490
     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
 10491
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10492
    codeView doItAction:[:theCode |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10493
	|compiler ns|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10494
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10495
	currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10496
	    ns := currentClass nameSpace
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10497
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10498
	    ns := nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10499
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10500
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10501
	Class nameSpaceQuerySignal handle:[:ex |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10502
	    ns isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10503
		ex reject
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10504
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10505
	    ex proceedWith:ns
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10506
	] do:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10507
	    currentClass isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10508
		compiler := Compiler
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10509
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10510
		compiler := currentClass evaluatorClass
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10511
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10512
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10513
	    compiler 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10514
		evaluate:theCode 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10515
		in:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10516
		receiver:currentClass 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10517
		notifying:codeView 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10518
		logged:false
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10519
		ifFail:nil 
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10520
	]
1029
ad46ca1ccd38 set nameSpace for doIt's to currentClasses ns.
Claus Gittinger <cg@exept.de>
parents: 1015
diff changeset
 10521
    ].
ad46ca1ccd38 set nameSpace for doIt's to currentClasses ns.
Claus Gittinger <cg@exept.de>
parents: 1015
diff changeset
 10522
ad46ca1ccd38 set nameSpace for doIt's to currentClasses ns.
Claus Gittinger <cg@exept.de>
parents: 1015
diff changeset
 10523
    "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
 10524
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10525
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10526
setSearchPattern:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10527
    codeView setSearchPattern:aString
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10528
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10529
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10530
showExplanation:someText
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10531
    "show explanation from Parser"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10532
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10533
    self information:someText
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10534
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10535
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10536
showMethodCategoryList
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10537
    classCategoryListView isNil ifTrue:[
1373
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10538
        classListView notNil ifTrue:[
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10539
	    methodCategoryListView superView extent:0.33 @ 1.0.
1afad5696aa8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1369
diff changeset
 10540
	    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
 10541
	].
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10542
	^ self.
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10543
    ].
1290
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10544
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10545
	methodCategoryListView superView extent:0.25 @ 1.0.
1290
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10546
    ].
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10547
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10548
	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
 10549
    ].
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10550
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10551
    "Created: 30.7.1997 / 17:50:20 / cg"
1290
e4354da51252 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1288
diff changeset
 10552
    "Modified: 16.8.1997 / 03:28:23 / cg"
1260
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10553
!
856e6e5b2668 more support for alien classes.
Claus Gittinger <cg@exept.de>
parents: 1259
diff changeset
 10554
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10555
stringToSearchFor
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10556
    "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
 10557
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10558
    |sel|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10559
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10560
    sel := codeView selection.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10561
    sel notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10562
	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
 10563
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10564
	sel isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10565
	    currentClass notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10566
		sel := currentClass name
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10567
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10568
	].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10569
	sel notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10570
	    sel := sel withoutSpaces
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10571
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10572
	    sel := ''
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10573
	]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10574
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10575
    ^ sel
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10576
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10577
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10578
warnLabel:what
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10579
    "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
 10580
1291
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10581
    self topView label:('System Browser WARNING: ' , what)
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10582
6ea3207c5f5e prepare for being subclass of simpleView
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
 10583
    "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
 10584
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10585
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10586
withBusyCursorDo:aBlock
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10587
    ^ self topView withWaitCursorDo:aBlock
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10588
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10589
    "Created: 18.8.1997 / 15:41:52 / cg"
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10590
!
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10591
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10592
withSearchCursorDo:aBlock
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10593
    ^ 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
 10594
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10595
    "Created: 23.11.1995 / 14:11:14 / cg"
1292
7e1f3a7c65ab central busyCursor handling
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
 10596
    "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
 10597
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10598
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10599
!BrowserView methodsFor:'private - defaults'!
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10600
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10601
canvasIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10602
    "answer an icon to mark canvas (windowSpec) methods"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10603
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10604
    CanvasIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10605
        CanvasIcon := self class canvasIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10606
        CanvasIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10607
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10608
    ^CanvasIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10609
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10610
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10611
commentEmphasis
1519
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10612
    ^ Text 
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10613
        addEmphasis:(UserPreferences current commentEmphasis)
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10614
        to:(#color->UserPreferences current commentColor).
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10615
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10616
"/    ^ (#color -> (Color red:0 green:0 blue:25))
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10617
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10618
    "Created: / 1.8.1997 / 12:36:14 / cg"
9658c05af3ed keep track of codeModified if syntaxCOloring is enabled
Claus Gittinger <cg@exept.de>
parents: 1516
diff changeset
 10619
    "Modified: / 31.3.1998 / 22:41:37 / cg"
1269
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10620
!
122015faaba9 nicer colors ;-)
Claus Gittinger <cg@exept.de>
parents: 1268
diff changeset
 10621
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10622
fileImageIcon
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10623
    "answer an icon to mark fileImage methods"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10624
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10625
    ^ self imageIcon
1360
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10626
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10627
    "Modified: / 7.4.1997 / 17:31:40 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10628
    "Created: / 29.10.1997 / 03:32:05 / cg"
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10629
!
4943d5582937 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1355
diff changeset
 10630
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10631
helpIcon
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10632
    "answer an icon to mark help spec methods"
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10633
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10634
    HelpIcon isNil ifTrue: [
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10635
        HelpIcon := self class helpIcon onDevice: device.
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10636
        HelpIcon clearMaskedPixels
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10637
    ].
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10638
    ^HelpIcon
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10639
!
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10640
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10641
hierarchicalListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10642
    "answer an icon to mark hierarchicalList spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10643
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10644
    HierarchicalListIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10645
        HierarchicalListIcon := self class hierarchicalListIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10646
        HierarchicalListIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10647
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10648
    ^HierarchicalListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10649
   
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10650
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10651
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10652
imageIcon
1512
ed3ac00a74c0 #help as resource type for help specs added
tz
parents: 1511
diff changeset
 10653
    "answer an icon to mark image spec methods"
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10654
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10655
    ImageIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10656
        ImageIcon := self class imageIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10657
        ImageIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10658
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10659
    ^ImageIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10660
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10661
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10662
menuIcon
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10663
    "answer an icon to mark menu spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10664
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10665
    MenuIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10666
        MenuIcon := self class menuIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10667
        MenuIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10668
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10669
    ^MenuIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10670
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10671
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10672
programMenuIcon
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10673
    "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
 10674
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10675
    ^ self menuIcon
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10676
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10677
    "Modified: / 7.4.1997 / 17:31:40 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10678
    "Created: / 28.10.1997 / 13:35:16 / cg"
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
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10681
stopIcon
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10682
    "answer an icon to mark breakPointed methods"
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10683
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10684
    StopIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10685
        StopIcon := self class stopIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10686
        StopIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10687
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10688
    ^StopIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10689
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10690
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10691
tabListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10692
    "answer an icon to mark tabList spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10693
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10694
    TabListIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10695
        TabListIcon := self class tabListIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10696
        TabListIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10697
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10698
    ^TabListIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10699
!
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10700
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10701
tableColumnsIcon
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10702
    "answer an icon to mark tableColumns spec methods"
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10703
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10704
    TableColumnsIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10705
        TableColumnsIcon := self class tableColumnsIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10706
        TableColumnsIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10707
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10708
    ^TableColumnsIcon
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10709
!
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10710
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10711
timeIcon
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10712
    "answer an icon to mark timed methods"
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10713
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10714
    TimeIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10715
        TimeIcon := self class timeIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10716
        TimeIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10717
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10718
    ^TimeIcon
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10719
!
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10720
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10721
traceIcon
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10722
    "answer an icon to mark traced methods"
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10723
1511
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10724
    TraceIcon isNil ifTrue: [
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10725
        TraceIcon := self class traceIcon onDevice: device.
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10726
        TraceIcon clearMaskedPixels
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10727
    ].
45832de7f112 method icons revised and completed
tz
parents: 1510
diff changeset
 10728
    ^TraceIcon
1134
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10729
! !
6b310d81b83e nice timed-method icon
Claus Gittinger <cg@exept.de>
parents: 1126
diff changeset
 10730
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10731
!BrowserView methodsFor:'unused'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10732
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10733
listOfAllMethodCategoriesInHierarchy:aClass
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10734
    "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
 10735
     and all of its superclasses"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10736
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10737
    |newList cat|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10738
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10739
    newList := Set new.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10740
    self classesInHierarchy:aClass do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10741
	c methodDictionary do:[:aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10742
	    cat := aMethod category.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10743
	    cat isNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10744
		cat := '* no category *'
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10745
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10746
	    newList add:cat
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10747
	]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10748
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10749
    (newList size == 0) ifTrue:[^ nil].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10750
    newList add:'* all *'.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10751
    ^ newList asOrderedCollection sort
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10752
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
 10753
    "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
 10754
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10755
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10756
listOfAllSelectorsInCategory:aCategory inHierarchyOfClass:aClass
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10757
    "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
 10758
     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
 10759
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10760
    |newList|
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10761
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10762
    newList := Set new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10763
    self classesInHierarchy:aClass do:[:c |
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10764
	|searchCategory|
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10765
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10766
	(aCategory = '* all *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10767
	    newList addAll:(c methodDictionary keys)
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10768
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10769
	    (aCategory = '* no category *') ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10770
		searchCategory := nil
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10771
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10772
		searchCategory := aCategory
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10773
	    ].
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10774
	    c methodDictionary keysAndValuesDo:[:selector :aMethod |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10775
		(aMethod category = searchCategory) ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10776
		    newList add:selector
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10777
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10778
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10779
	].
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10780
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10781
    (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
 10782
    ^ newList asOrderedCollection sort
620
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
 10783
3ce270dbff3b Use methodDictionary instead of selector/method arrays.
Stefan Vogel <sv@exept.de>
parents: 611
diff changeset
 10784
    "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
 10785
! !
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 10786
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10787
!BrowserView methodsFor:'variable list menu'!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10788
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10789
allClassInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10790
    "show an enterbox for classVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10791
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10792
    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
 10793
                  access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10794
                    mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10795
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10796
    "Modified: / 25.10.1997 / 20:19:49 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10797
    "Created: / 25.10.1997 / 20:21:48 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10798
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10799
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10800
allClassInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10801
    "show an enterbox for classVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10802
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10803
    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
 10804
                  access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10805
                    mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10806
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10807
    "Modified: / 25.10.1997 / 20:20:09 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10808
    "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
 10809
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10810
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10811
allClassVarMods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10812
    "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
 10813
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10814
    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
 10815
                  access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10816
                    mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10817
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10818
    "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
 10819
!
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
allClassVarRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10822
    "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
 10823
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10824
    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
 10825
                  access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10826
                    mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10827
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10828
    "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
 10829
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10830
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10831
allInstVarMods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10832
    "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
 10833
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10834
    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
 10835
                  access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10836
                    mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10837
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10838
    "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
 10839
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10840
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10841
allInstVarRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10842
    "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
 10843
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10844
    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
 10845
                  access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10846
                    mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10847
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10848
    "Modified: / 25.10.1997 / 20:22:40 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10849
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10850
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10851
allVarRefsTitle:title access:access mods:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10852
    "show an enterbox for instVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10853
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10854
    self doClassMenu:[:currentClass |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10855
        |box|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10856
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10857
        box := self enterBoxForVariableSearch:title.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10858
        box action:[:aVariableName |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10859
            |homeClass|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10860
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10861
            aVariableName isEmpty ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10862
                self withSearchCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10863
                    homeClass := self findClassOfVariable:aVariableName accessWith:access.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10864
                    access == #classVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10865
                        SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10866
                            browseClassRefsTo:aVariableName 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10867
                            under:homeClass 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10868
                            modificationsOnly:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10869
                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10870
                        access == #classInstVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10871
                            SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10872
                                browseInstRefsTo:aVariableName 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10873
                                under:homeClass class
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10874
                                modificationsOnly:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10875
                        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10876
                            SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10877
                                browseInstRefsTo:aVariableName 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10878
                                under:homeClass 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10879
                                modificationsOnly:modifications
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10880
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10881
                     ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10882
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10883
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10884
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10885
        box showAtPointer
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10886
    ]
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
    "Created: / 25.10.1997 / 20:19:26 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10889
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10890
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10891
classInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10892
    "show an enterbox for classVar to search for"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10893
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10894
    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
 10895
                     access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10896
                       mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10897
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10898
    "Modified: / 25.10.1997 / 20:17:41 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10899
    "Created: / 25.10.1997 / 20:21:04 / cg"
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
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10902
classInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10903
    "show an enterbox for classVar to search for"
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
    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
 10906
                     access:#classInstVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10907
                       mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10908
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10909
    "Modified: / 25.10.1997 / 20:17:23 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10910
    "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
 10911
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10912
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10913
classVarMods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10914
    "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
 10915
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10916
    self varRefsOrModsTitle:'class variable to browse modifications of:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10917
                     access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10918
                       mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10919
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10920
    "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
 10921
!
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
classVarRefs
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10924
    "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
 10925
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10926
    self varRefsOrModsTitle:'class variable to browse references to:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10927
                     access:#classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10928
                       mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10929
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10930
    "Modified: / 25.10.1997 / 20:17:23 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10931
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10932
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10933
enterBoxForVariableSearch:title
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10934
    |box sel|
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10935
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10936
    box := self enterBoxForCodeSelectionTitle:title okText:'browse'.
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10937
    variableListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10938
	codeView hasSelection ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10939
	    (sel := variableListView selectionValue) notNil ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10940
		(sel startsWith:'---') ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10941
		    box initialText:sel
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10942
		]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10943
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 10944
	]
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10945
    ].
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10946
    ^ box
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10947
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10948
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10949
instVarMods
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10950
    "show an enterbox for instVar to search for"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10951
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10952
    self varRefsOrModsTitle:'instance variable to browse modifications of:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10953
                     access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10954
                       mods:true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10955
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10956
    "Modified: / 25.10.1997 / 20:14:52 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10957
!
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10958
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10959
instVarRefs
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10960
    "show an enterbox for instVar to search for"
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10961
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10962
    self varRefsOrModsTitle:'instance variable to browse references to:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10963
                     access:#instVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10964
                       mods:false
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10965
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10966
    "Modified: / 25.10.1997 / 20:14:27 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10967
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10968
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10969
showClassInstVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10970
    classInstVarsInVarList := true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10971
    self updateVariableList.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10972
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10973
    "Created: / 25.10.1997 / 19:43:04 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10974
    "Modified: / 25.10.1997 / 19:43:41 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10975
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10976
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10977
showClassVars
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10978
    classInstVarsInVarList := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10979
    self updateVariableList.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10980
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10981
    "Created: / 25.10.1997 / 19:42:55 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10982
    "Modified: / 25.10.1997 / 19:43:35 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10983
!
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10984
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10985
varRefsOrModsTitle:title access:accessor mods:mods
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 10986
    "show an enterbox for instvar to search for"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10987
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 10988
    self doClassMenu:[:currentClass |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10989
        |box|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10990
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10991
        box := self enterBoxForVariableSearch:title.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10992
        box action:[:aString |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10993
            aString notEmpty ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10994
                self withSearchCursorDo:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10995
                    |sel classes|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10996
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10997
                    sel := #'browseInstRefsTo:in:modificationsOnly:'.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10998
                    accessor == #classInstVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 10999
                        classes := Array with:currentClass class.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11000
                    ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11001
                        classes := Array with:currentClass.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11002
                        accessor == #classVarNames ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11003
                            sel := #'browseClassRefsTo:in:modificationsOnly:'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11004
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11005
                    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11006
                    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
 11007
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11008
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11009
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11010
        box showAtPointer
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11011
    ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11012
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11013
    "Created: / 25.10.1997 / 20:12:52 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11014
    "Modified: / 25.10.1997 / 21:10:34 / cg"
93
claus
parents: 92
diff changeset
 11015
!
claus
parents: 92
diff changeset
 11016
claus
parents: 92
diff changeset
 11017
varTypeInfo
claus
parents: 92
diff changeset
 11018
    "show typical usage of a variable"
claus
parents: 92
diff changeset
 11019
claus
parents: 92
diff changeset
 11020
    |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
 11021
     searchClass s|
93
claus
parents: 92
diff changeset
 11022
claus
parents: 92
diff changeset
 11023
    name := variableListView selectionValue.
claus
parents: 92
diff changeset
 11024
    name isNil ifTrue:[^ self].
claus
parents: 92
diff changeset
 11025
1390
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11026
    (classInstVarsInVarList or:[showInstance]) ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11027
        searchClass := currentClass whichClassDefinesClassVar:name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11028
        value := searchClass classVarAt:(name asSymbol).
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11029
        s := value displayString.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11030
        s size > 60 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11031
            s := (s copyTo:60) , ' ...'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11032
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11033
        msg := name , ' is (currently):\\' , s.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11034
        s ~= value classNameWithArticle ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11035
            msg := msg , '\\(' , value class name , ')'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11036
        ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11037
    ] ifTrue:[        
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11038
        searchClass := actualClass whichClassDefinesInstVar:name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11039
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11040
        idx := searchClass instVarOffsetOf:name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11041
        idx isNil ifTrue:[^ self].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11042
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11043
        classes := IdentitySet new.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11044
        values := IdentitySet new.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11045
        instCount := 0.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11046
        subInstCount := 0.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11047
        searchClass allSubInstancesDo:[:i |
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11048
            |val|
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11049
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11050
            val := i instVarAt:idx.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11051
            val notNil ifTrue:[values add:val].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11052
            classes add:val class.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11053
            (i isMemberOf:searchClass) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11054
                instCount := instCount + 1.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11055
            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11056
                subInstCount := subInstCount + 1
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11057
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11058
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11059
        (instCount == 0 and:[subInstCount == 0]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11060
            self warn:'there are currently no instances of ' , currentClass name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11061
            ^ self
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11062
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11063
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11064
        instCount ~~ 0 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11065
            msg := 'in (currently: ' , instCount printString,') instances '.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11066
            subInstCount ~~ 0 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11067
                msg := msg , 'and '
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11068
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11069
        ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11070
            msg := 'in '.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11071
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11072
        subInstCount ~~ 0 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11073
            msg := msg , '(currently: ' , subInstCount printString, ') derived instances '
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11074
        ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11075
        msg := msg, 'of ' , searchClass name , ',\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11076
        msg := msg , name , ' '.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11077
        ((values size == 1) 
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11078
        or:[classes size == 1 and:[classes first == UndefinedObject]]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11079
            values size == 1 ifTrue:[value := values first].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11080
            (value isNumber or:[value isString]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11081
                msg := msg , 'is always the same:\\      ' , 
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11082
                             value class name , ' (' , value storeString , ')'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11083
            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11084
                (value isNil or:[value == true or:[value == false]]) ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11085
                    msg := msg , 'is always:\\      ' , 
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11086
                                 value printString.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11087
                ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11088
                    msg := msg , 'is always the same:\\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11089
                    msg := msg , '      ' , value class name.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11090
                    value isLiteral ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11091
                        msg := msg , ' (' , value storeString , ')'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11092
                    ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11093
                ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11094
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11095
        ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11096
            classes size == 1 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11097
                msg := msg , 'is always:\\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11098
                msg := msg , '      ' , classes first name , '\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11099
            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11100
                msg := msg , 'is one of:\\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11101
                classes := classes asOrderedCollection.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11102
                classes size > 20 ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11103
                    classes := classes copyFrom:1 to:20.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11104
                    cut := true
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11105
                ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11106
                    cut := false.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11107
                ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11108
                names := classes collect:[:cls |
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11109
                    |nm|
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11110
                    cls == UndefinedObject ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11111
                        'nil'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11112
                    ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11113
                        cls == True ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11114
                            'true'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11115
                        ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11116
                            cls == False ifTrue:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11117
                                'false'
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11118
                            ] ifFalse:[
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11119
                                cls name
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11120
                            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11121
                        ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11122
                    ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11123
                ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11124
                names sort.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11125
                names do:[:nm |
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11126
                    msg := msg , '      ' , nm , '\'.
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11127
                ].
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11128
            ]
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11129
        ].
93
claus
parents: 92
diff changeset
 11130
    ].
claus
parents: 92
diff changeset
 11131
claus
parents: 92
diff changeset
 11132
    box := InfoBox title:msg withCRs.
claus
parents: 92
diff changeset
 11133
    box label:'variable type information'.
claus
parents: 92
diff changeset
 11134
    box showAtPointer
285
8a64105d4ba0 typeinfo also for classVariables
Claus Gittinger <cg@exept.de>
parents: 284
diff changeset
 11135
1390
cf8116e88410 fixed classInstVar typeInfo
Claus Gittinger <cg@exept.de>
parents: 1389
diff changeset
 11136
    "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
 11137
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11138
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11139
variableListMenu
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11140
    <resource: #programMenu >
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11141
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 11142
    |labels selectors m|
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11143
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11144
    currentClass isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11145
        variableListView flash.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11146
        ^ nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11147
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11148
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11149
    showInstance ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11150
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11151
                    'class instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11152
                    'class instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11153
                    'classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11154
                    'classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11155
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11156
                    'all class instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11157
                    'all class instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11158
                    'all classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11159
                    'all classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11160
                   ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11161
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11162
                    classInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11163
                    classInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11164
                    classVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11165
                    classVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11166
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11167
                    allClassInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11168
                    allClassInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11169
                    allClassVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11170
                    allClassVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11171
                     ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11172
    ] ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11173
        labels := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11174
                    'instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11175
                    'instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11176
                    'classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11177
                    'classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11178
                    '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11179
                    'all instvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11180
                    'all classvar refs ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11181
                    'all instvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11182
                    'all classvar mods ...'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11183
                   ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11184
        selectors := #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11185
                    instVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11186
                    instVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11187
                    classVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11188
                    classVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11189
                    nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11190
                    allInstVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11191
                    allClassVarRefs
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11192
                    allInstVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11193
                    allClassVarMods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11194
                     ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11195
    ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11196
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11197
    showInstance ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11198
        classInstVarsInVarList == true ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11199
            labels := labels , #('-' 'show classVars').
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11200
            selectors := selectors , #(nil #showClassVars).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11201
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11202
            labels := labels , #('-' 'show classInstVars').
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11203
            selectors := selectors , #(nil #showClassInstVars).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11204
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11205
    ].
285
8a64105d4ba0 typeinfo also for classVariables
Claus Gittinger <cg@exept.de>
parents: 284
diff changeset
 11206
8a64105d4ba0 typeinfo also for classVariables
Claus Gittinger <cg@exept.de>
parents: 284
diff changeset
 11207
    ("showInstance and:[" variableListView hasSelection "]" ) ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11208
        labels := labels , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11209
                                '-'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11210
                                'type information'
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11211
                           ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11212
        selectors := selectors , #(
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11213
                                nil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11214
                                varTypeInfo
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11215
                                ).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11216
    ].
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
    m := PopUpMenu 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11219
                labels:(resources array:labels)
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11220
                selectors:selectors.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11221
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11222
    currentClass instSize == 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11223
        m disableAll:#(instVarRefs instVarMods).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11224
        currentClass subclasses size == 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11225
            m disableAll:#(allInstVarRefs allInstVarMods).
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11226
        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11227
    ].
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 11228
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 11229
    currentClass isLoaded ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11230
        m disableAll
894
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 11231
    ].
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 11232
    ^ m
8efe0f142f40 keep class when switching namespaces
Claus Gittinger <cg@exept.de>
parents: 892
diff changeset
 11233
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11234
    "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
 11235
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11236
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11237
variableSelection:lineNr
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11238
    "variable selection changed"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11239
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11240
    |name idx|
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11241
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11242
    name := variableListView selectionValue.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11243
    name isNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11244
	self unhilightMethodCategories.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11245
	self unhilightMethods.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11246
	self autoSearch:nil.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11247
	^ self
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11248
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11249
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11250
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11251
     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
 11252
     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
 11253
     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
 11254
    "
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11255
    idx := variableListView list findLast:[:entry | entry = name].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11256
    idx ~~ lineNr ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11257
	"select it - user will see whats going on"
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11258
	variableListView setSelection:idx
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11259
    ].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11260
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11261
    "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
 11262
     variable, and highlight them"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11263
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11264
    self hilightMethodsInMethodCategoryList:true inMethodList:true.
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11265
    self autoSearch:name.
561
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
 11266
a2e208a1f0d2 #selection: now does a notification / #setSelection: does not
Claus Gittinger <cg@exept.de>
parents: 559
diff changeset
 11267
    "Modified: 25.5.1996 / 12:26:07 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11268
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11269
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11270
!BrowserView methodsFor:'variable stuff'!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11271
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11272
hilightEntryFor:entry
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11273
    "helper; given a list itme, highlight it"
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11274
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11275
    |e|
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11276
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11277
    methodCategoryListView font bold ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11278
	"/ already bold; use different color then
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11279
	methodCategoryListView foregroundColor brightness > 0.5 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11280
	    methodCategoryListView backgroundColor brightness < 0.25 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11281
		e := #color->Color blue
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11282
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11283
		e := #color->Color black
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11284
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11285
	] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11286
	    methodCategoryListView backgroundColor brightness > 0.75 ifTrue:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11287
		e := #color->Color red darkened
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11288
	    ] ifFalse:[
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11289
		e := #color->Color white.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11290
	    ]
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11291
	]
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11292
    ] ifFalse:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11293
	e := #bold.
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11294
    ].
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11295
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11296
    entry isString ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11297
	^ entry asText emphasizeAllWith:e.
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11298
    ].
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11299
    ^ 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
 11300
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11301
    "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
 11302
    "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
 11303
!
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11304
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11305
hilightMethodsInMethodCategoryList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11306
    "search for methods  which access the selected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11307
     variable, and highlight them"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11308
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11309
    self hilightMethodsInMethodCategoryList:true inMethodList:false
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11310
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11311
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11312
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11313
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11314
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11315
hilightMethodsInMethodCategoryList:inCat inMethodList:inMethods 
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11316
    "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
 11317
     variable, and highlight them"
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11318
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11319
    |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
 11320
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11321
    variableListView isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11322
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11323
    inCat ifTrue:[self unhilightMethodCategories].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11324
    inMethods ifTrue:[self unhilightMethods].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11325
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11326
    actualClass isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11327
    (methodCategoryListView isNil 
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11328
    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
 11329
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11330
    name := variableListView selectionValue.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11331
    name isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11332
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11333
    self withSearchCursorDo:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11334
        |classes filter any supers|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11335
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11336
        classes := Array with:actualClass.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11337
        (currentClassHierarchy notNil and:[fullProtocol]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11338
            supers := actualClass allSuperclasses.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11339
            supers notNil ifTrue:[    
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11340
                classes := classes , supers.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11341
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11342
            redefinedSelectors := IdentitySet new.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11343
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11344
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11345
        filter := SystemBrowser 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11346
                        filterToSearchRefsTo:name 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11347
                        classVars:(showInstance not and:[classInstVarsInVarList ~~ true]) 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11348
                        modificationsOnly:false. 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11349
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11350
        methodListView notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11351
            methodList := methodListView list.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11352
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11353
        methodCategoryListView notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11354
            methodCategoryList := methodCategoryListView list.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11355
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11356
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11357
        any := false.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11358
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11359
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11360
         highlight the method that ref this variable
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11361
        "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11362
        classes do:[:someClass |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11363
            (fullProtocol
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11364
            and:[classListView valueIsInSelection:(someClass name)]) ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11365
                someClass methodDictionary keysAndValuesDo:[:selector :method |
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11366
                    (inCat
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11367
                    or:[methodList notNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11368
                        and:[methodList includes:selector]])
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11369
                    ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11370
                        (redefinedSelectors isNil
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11371
                        or:[(redefinedSelectors includes:selector) not])
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11372
                       ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11373
                           (filter value:someClass value:method value:selector) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11374
                               |idx cat|
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11375
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11376
                               (inCat
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11377
                               and:[methodCategoryList notNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11378
                                   cat := method category.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11379
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11380
                                    highlight the methodCategory
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11381
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11382
                                   idx := methodCategoryListView list indexOf:cat.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11383
                                   idx ~~ 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11384
                                        entry := methodCategoryListView at:idx.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11385
                                        entry := self hilightEntryFor:entry.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11386
                                        methodCategoryListView at:idx put:entry
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11387
"/                                       methodCategoryListView attributeAt:idx put:#bold.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11388
                                   ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11389
                               ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11390
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11391
                               (inMethods
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11392
                               and:[methodList notNil]) ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11393
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11394
                                    highlight the method
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11395
                                   "
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11396
                                   idx := methodListView list 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11397
                                                findFirst:[:item | item string = selector
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11398
                                                                   or:[item string startsWith:(selector , ' ')]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11399
                                                          ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11400
                                   idx ~~ 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11401
                                        entry := methodListView at:idx.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11402
                                        entry := self hilightEntryFor:entry.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11403
                                        methodListView at:idx put:entry
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11404
"/                                        methodListView attributeAt:idx put:#bold.
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11405
                                   ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11406
                                   any := true
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11407
                               ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11408
                           ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11409
                           redefinedSelectors notNil ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11410
                               redefinedSelectors add:selector
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11411
                           ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11412
                        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11413
                    ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11414
                ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11415
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11416
        ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11417
        any ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11418
            self setSearchPattern:name
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11419
        ]
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11420
    ]
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11421
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11422
    "Created: / 23.11.1995 / 14:12:08 / cg"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11423
    "Modified: / 5.6.1996 / 11:38:19 / stefan"
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11424
    "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
 11425
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11426
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11427
hilightMethodsInMethodList
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11428
    "search for methods  which access the selected
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11429
     variable, and highlight them"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11430
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11431
    self hilightMethodsInMethodCategoryList:false inMethodList:true 
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11432
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11433
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11434
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11435
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11436
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11437
unhilightEntryFor:entry
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11438
    "helper; given a list itme, unhighlight it"
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11439
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11440
    entry isString ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11441
	^ entry string
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11442
    ].
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11443
    ^ entry copy string:(entry string)
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11444
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11445
    "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
 11446
!
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11447
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11448
unhilightMethodCategories
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11449
    "unhighlight items in method list"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11450
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11451
    |list entry sz "{ Class: SmallInteger }"|
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11452
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11453
    variableListView isNil ifTrue:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11454
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11455
    methodCategoryListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11456
	list := methodCategoryListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11457
	sz := list size.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11458
	1 to:sz do:[:idx |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11459
	    entry := list at:idx.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11460
	    entry := self unhilightEntryFor:entry.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11461
	    methodCategoryListView at:idx put:entry.
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11462
"/            methodCategoryListView attributeAt:idx put:nil.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11463
	]
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11464
    ].
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11465
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11466
    "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
 11467
!
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11468
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11469
unhilightMethods
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11470
    "unhighlight items in method list"
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11471
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11472
    |list entry sz "{Class: SmallInteger }" |
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11473
199
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11474
    variableListView isNil ifTrue:[^ self].
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11475
821e07871f4f superSend-search added; remember last class-aspect
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
 11476
    methodListView notNil ifTrue:[
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11477
	list := methodListView list.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11478
	sz := list size.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11479
	1 to:sz do:[:idx |
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11480
	    entry := list at:idx.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11481
	    entry := self unhilightEntryFor:entry.
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11482
	    methodListView at:idx put:entry.
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11483
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11484
"/            methodListView attributeAt:idx put:nil.
1330
2d8c64367afc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1316
diff changeset
 11485
	].
791
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11486
    ].
ed22bea001e8 nice trap/break marks
Claus Gittinger <cg@exept.de>
parents: 768
diff changeset
 11487
797
d0061c784af8 care for bold-font-views when boldifying
Claus Gittinger <cg@exept.de>
parents: 795
diff changeset
 11488
    "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
 11489
!
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11490
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11491
updateVariableList
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11492
    "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
 11493
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11494
    |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
 11495
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11496
    variableListView isNil ifTrue:[^ self].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11497
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11498
    oldSelection := variableListView selectionValue.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11499
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11500
    l := OrderedCollection new.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11501
    "
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11502
     show classVars/classInstVars, 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11503
     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
 11504
    "
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11505
    askMeta := false.
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11506
    showInstance ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11507
        nameAccessSelector := #instVarNames
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11508
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11509
        classInstVarsInVarList == true ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11510
            nameAccessSelector := #instVarNames.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11511
            askMeta := true.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11512
        ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11513
            nameAccessSelector := #classVarNames
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11514
        ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11515
    ].
572
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11516
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11517
    class := currentClassHierarchy notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11518
        currentClassHierarchy
572
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11519
    ] ifFalse:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11520
        currentClass
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11521
    ].
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11522
    class := currentClass.
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11523
    fullProtocol ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11524
        class := currentClassHierarchy
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11525
    ].
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11526
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11527
    class isNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11528
        variableListView list:nil.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11529
        ^ self
814
11abf716717e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 813
diff changeset
 11530
    ].
572
0ee9fbf0e535 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
 11531
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11532
    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
 11533
        |ignore clsName|
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11534
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11535
        ignore := fullProtocol 
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11536
                  and:[classListView valueIsInSelection:(aClass name asString)].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11537
        ignore ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11538
            askMeta ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11539
                subList := aClass class perform:nameAccessSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11540
            ] ifFalse:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11541
                subList := aClass perform:nameAccessSelector.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11542
            ].
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11543
            subList size ~~ 0 ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11544
                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
 11545
                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
 11546
                    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
 11547
                ] ifFalse:[
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11548
                    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
 11549
                ].
20842d41d0d0 dont show nameSpace-prefix in var-list, if class is in current nameSpace
Claus Gittinger <cg@exept.de>
parents: 1482
diff changeset
 11550
                l := l , (OrderedCollection with:'---- ' , clsName , ' ---------').
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11551
            ]
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11552
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11553
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11554
    l reverse.
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11555
    variableListView setAttributes:nil.
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
 11556
    l ~= variableListView list ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11557
        variableListView list:l.
609
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
 11558
    ].
99cdf593410c fixed fullProtocol method display when superclass gets striked-out
Claus Gittinger <cg@exept.de>
parents: 607
diff changeset
 11559
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11560
    l keysAndValuesDo:[:index :entry |
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11561
        (entry startsWith:'---') ifTrue:[
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11562
            variableListView attributeAt:index put:#disabled.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11563
            last := index
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11564
        ]
149
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11565
    ].
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11566
    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
 11567
54ab1ea8dc12 change classes versionString when class changes (prepare for sourceCode system)
Claus Gittinger <cg@exept.de>
parents: 142
diff changeset
 11568
    oldSelection notNil ifTrue:[
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11569
        variableListView setSelectElement:oldSelection.
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11570
        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
 11571
    ]
569
0b86821dc11a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 567
diff changeset
 11572
1355
34c98fc48b14 show resource-icon; better variableList (classInstVars)
Claus Gittinger <cg@exept.de>
parents: 1346
diff changeset
 11573
    "Modified: / 25.10.1997 / 21:01:11 / cg"
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11574
! !
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11575
759
8d667c66af50 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 758
diff changeset
 11576
!BrowserView class methodsFor:'documentation'!
201
3331e9abc9f0 more features & checkin from browser
Claus Gittinger <cg@exept.de>
parents: 199
diff changeset
 11577
3331e9abc9f0 more features & checkin from browser
Claus Gittinger <cg@exept.de>
parents: 199
diff changeset
 11578
version
1550
a1c0d6cb1954 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1543
diff changeset
 11579
    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.390 1998-04-16 17:02:35 cg Exp $'
263
7b9622ce4fcc more protocol to create containers for new classes
Claus Gittinger <cg@exept.de>
parents: 261
diff changeset
 11580
! !
74
f2c56efa3599 Initial revision
claus
parents:
diff changeset
 11581
BrowserView initialize!