MCSnapshotBrowser.st
author Claus Gittinger <cg@exept.de>
Sat, 01 Sep 2018 17:32:13 +0200
changeset 1086 efc5221435a5
parent 597 4db2df739520
child 995 92bb466548a9
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
128
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCCodeTool subclass:#MCSnapshotBrowser
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'categorySelection classSelection protocolSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
		methodSelection switch'
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	classVariableNames:''
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	poolDictionaries:''
597
4db2df739520 category change
Claus Gittinger <cg@exept.de>
parents: 128
diff changeset
     8
	category:'SCM-Monticello-UI'
128
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!MCSnapshotBrowser class methodsFor:'as yet unclassified'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
forSnapshot: aSnapshot
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	^ self new snapshot: aSnapshot
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
!MCSnapshotBrowser methodsFor:'accessing'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
allClassNames
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	^ (items 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		select: [:ea | ea isOrganizationDefinition not] 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
		thenCollect: [:ea | ea className]) asSet.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
extensionClassNames
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	^ (self allClassNames difference: self packageClassNames) asSortedCollection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
extensionsCategory
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	^ '*Extensions'
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
methodsForSelectedClass
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	^ items select: [:ea | (ea className = classSelection) 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
									and: [ea isMethodDefinition]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
									and: [ea classIsMeta = self switchIsClass]].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
methodsForSelectedClassCategory
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	| visibleClasses |
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	visibleClasses _ self visibleClasses.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ items select: [:ea | (visibleClasses includes: ea className) 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
									and: [ea isMethodDefinition]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
									and: [ea classIsMeta = self switchIsClass]].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
methodsForSelectedProtocol
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	| methods |
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	protocolSelection ifNil: [^ Array new].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	methods _ self methodsForSelectedClass asOrderedCollection.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	(protocolSelection = '-- all --') 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
		ifFalse: [methods removeAllSuchThat: [:ea | ea category ~= protocolSelection]].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	^ methods 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
								
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
packageClassNames
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	^ self packageClasses collect: [:ea | ea className]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
packageClasses
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	^ items select: [:ea | ea isClassDefinition]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
selectedClass
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
	classSelection ifNil: [ ^nil ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
	^Smalltalk at: classSelection ifAbsent: [ nil ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
selectedClassOrMetaClass
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
	| class |
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
	classSelection ifNil: [ ^nil ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
	class _ Smalltalk at: classSelection ifAbsent: [ ^nil ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
	^self switchIsClass ifTrue: [ class class ]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
		ifFalse: [ class ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
selectedMessageCategoryName
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	^protocolSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
selectedMessageName
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	^methodSelection ifNotNil: [^ methodSelection selector ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
snapshot: aSnapshot
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
	items _ aSnapshot definitions asSortedCollection.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
	self categorySelection: 0.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!MCSnapshotBrowser methodsFor:'listing'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
categoryList
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
	^ self visibleCategories
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
classList
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
	^ self visibleClasses
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
methodList
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
	^ self visibleMethods collect: [:ea | ea selector]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
protocolList
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
	^ self visibleProtocols
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
visibleCategories
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
	^ (self packageClasses collect: [:ea | ea category]) 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
			asSet asSortedCollection add: self extensionsCategory; yourself.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
visibleClasses
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
	^ categorySelection = self extensionsCategory
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
		ifTrue: [self extensionClassNames]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
		ifFalse: [self packageClasses
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
					select: [:ea | ea category = categorySelection]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
					thenCollect: [:ea | ea className]].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
visibleMethods
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
	^ classSelection 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
		ifNil: [#()]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
		ifNotNil: [self methodsForSelectedProtocol]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
visibleProtocols
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
	| methods protocols |
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
	self switchIsComment ifTrue: [^ Array new].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
	methods _ self methodsForSelectedClass.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
	protocols _ (methods collect: [:ea | ea category]) asSet asSortedCollection.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
	(protocols size > 1) ifTrue: [protocols add: '-- all --'].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
	^ protocols 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
!MCSnapshotBrowser methodsFor:'menus'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
categoryListMenu: aMenu 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
	categorySelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
		ifNotNil: [aMenu
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
				add: (categorySelection = '*Extensions'
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
						ifTrue: ['load all extension methods' translated]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
						ifFalse: ['load class category {1}' translated format: {categorySelection}])
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
				action: #loadCategorySelection].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
	^ aMenu
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
classListMenu: aMenu 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
	classSelection ifNil: [ ^aMenu ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
	super classListMenu: aMenu.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
	aMenu
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
		addLine;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
				add: ('load class {1}' translated format: {classSelection})
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
				action: #loadClassSelection.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
	^ aMenu
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
inspectSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
	^ self methodSelection inspect
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
loadCategorySelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
	"Load the entire selected category"
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
	categorySelection ifNil: [ ^self ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
	self methodsForSelectedClassCategory do: [ :m | m load ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
loadClassSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
	classSelection ifNil: [ ^self ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
	(self packageClasses detect: [ :ea | ea className = classSelection ] ifNone: [ ^self ]) load.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
	self methodsForSelectedClass do: [ :m | m load ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
loadMethodSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
	methodSelection ifNil: [ ^self ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
	methodSelection load.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
loadProtocolSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
	protocolSelection ifNil: [ ^self ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
	self methodsForSelectedProtocol do: [ :m | m load ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
methodListMenu: aMenu 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
	super methodListMenu: aMenu.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
	self selectedMessageName
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
		ifNotNilDo: [:msgName | aMenu addLine; add: 'load method' translated action: #loadMethodSelection].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
	^ aMenu
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
protocolListMenu: aMenu 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
	protocolSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
		ifNotNil: [aMenu
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
				add: ('load protocol ''{1}''' translated format: {protocolSelection})
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
				action: #loadProtocolSelection ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
	^ aMenu
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
!MCSnapshotBrowser methodsFor:'morphic ui'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
buttonSpecs
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
	^ #(('instance' switchBeInstance 'show instance' buttonEnabled switchIsInstance)
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
		('?' switchBeComment 'show comment' buttonEnabled switchIsComment)
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
		('class' switchBeClass 'show class' buttonEnabled switchIsClass))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
defaultExtent
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
	^ 650@400.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
defaultLabel
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
	^ 'Snapshot Browser'
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
widgetSpecs
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
	Preferences annotationPanes ifFalse: [ ^#(
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
		((listMorph: category) (0 0 0.25 0.4))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
		((listMorph: class) (0.25 0 0.50 0.4) (0 0 0 -30))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
		((listMorph: protocol) (0.50 0 0.75 0.4))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
		((listMorph:selection:menu:keystroke:  methodList methodSelection methodListMenu: methodListKey:from:) (0.75 0 1 0.4))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
		((buttonRow) (0.25 0.4 0.5 0.4) (0 -30 0 0))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
		((textMorph: text) (0 0.4 1 1))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
		) ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
	^#(
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
		((listMorph: category) (0 0 0.25 0.4))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
		((listMorph: class) (0.25 0 0.50 0.4) (0 0 0 -30))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
		((listMorph: protocol) (0.50 0 0.75 0.4))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
		((listMorph:selection:menu:keystroke:  methodList methodSelection methodListMenu: methodListKey:from:) (0.75 0 1 0.4))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
		((buttonRow) (0.25 0.4 0.5 0.4) (0 -30 0 0))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
		((textMorph: annotations) (0 0.4 1 0.4) (0 0 0 30))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
		((textMorph: text) (0 0.4 1 1) (0 30 0 0))
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
		)
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
!MCSnapshotBrowser methodsFor:'selecting'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
categorySelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
	^ categorySelection ifNil: [0] ifNotNil: [self visibleCategories indexOf: categorySelection]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
categorySelection: aNumber
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
	categorySelection _ aNumber = 0 ifFalse: [self visibleCategories at: aNumber].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
	self classSelection: 0.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
	self changed: #categorySelection;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
		changed: #annotations;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
		changed: #classList.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
classSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
	^ classSelection ifNil: [0] ifNotNil: [self visibleClasses indexOf: classSelection]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
classSelection: aNumber
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
	classSelection _ aNumber = 0 ifFalse: [self visibleClasses at: aNumber].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
	self protocolSelection: 0.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
	self changed: #classSelection; 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
		changed: #protocolList;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
		changed: #annotations;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
		changed: #methodList.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
methodSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
	^ methodSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
			ifNil: [0] 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
			ifNotNil: [self visibleMethods indexOf: methodSelection]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
methodSelection: aNumber
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
	methodSelection _ aNumber = 0 ifFalse: [self visibleMethods at: aNumber].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
	self changed: #methodSelection; changed: #text; changed: #annotations
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
protocolSelection
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
	^ protocolSelection 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
		ifNil: [0]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
		ifNotNil: [self visibleProtocols indexOf: protocolSelection]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
protocolSelection: anInteger
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
	protocolSelection _ (anInteger = 0 ifFalse: [self visibleProtocols at: anInteger]).
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
	self methodSelection: 0.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
	self changed: #protocolSelection;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
		changed: #methodList;	
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
		changed: #annotations
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
!MCSnapshotBrowser methodsFor:'switch'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
signalSwitchChanged
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
	self protocolSelection: 0.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
	self 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
		changed: #switchIsInstance;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
		changed: #switchIsComment;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
		changed: #switchIsClass;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
		changed: #protocolList;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
		changed: #methodList;
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
		changed: #text.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
switchBeClass
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
	switch _ #class.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
	self signalSwitchChanged.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
switchBeComment
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
	switch _ #comment.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
	self signalSwitchChanged.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
switchBeInstance
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
	switch _ #instance.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
	self signalSwitchChanged.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
switchIsClass
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
	^ switch = #class
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
switchIsComment
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
	^ switch = #comment.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
switchIsInstance
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
	switch ifNil: [switch _ #instance].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
	^ switch = #instance.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
!MCSnapshotBrowser methodsFor:'text'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
annotations
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
	methodSelection ifNotNil: [^ methodSelection annotations ].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
	^ ''
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
annotations: stuff
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
	self changed: #annotations
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
classCommentString
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
	^ (items 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
		detect: [:ea | ea isClassDefinition and: [ea className = classSelection]]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
		ifNone: [^ '']) comment.
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
classDefinitionString
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
	| defs |
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
	defs _ items select: [:ea | (ea isClassDefinition or: [ea isClassDefinitionExtension])
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
			and: [ea className = classSelection]].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
	defs isEmpty ifTrue: [^ 'This class is defined elsewhere.'].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
	^ String streamContents: [:stream | 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
		defs asArray sort 
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
			do: [:ea | ea printDefinitionOn: stream]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
			separatedBy: [stream nextPut: $.; cr]
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
	].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
text
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
	self switchIsComment ifTrue: [^ self classCommentString].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
	methodSelection ifNotNil: [^ methodSelection source].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
	protocolSelection ifNotNil: [^ ''].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
	classSelection ifNotNil: [^ self classDefinitionString].
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
	^ ''
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
text: aTextOrString
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
	self changed: #text
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
! !
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
!MCSnapshotBrowser class methodsFor:'documentation'!
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
version
597
4db2df739520 category change
Claus Gittinger <cg@exept.de>
parents: 128
diff changeset
   383
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCSnapshotBrowser.st,v 1.2 2012-09-11 21:14:41 cg Exp $'
128
4e35d110409a initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
! !