MCChangeSelector.st
author Claus Gittinger <cg@exept.de>
Mon, 14 May 2018 02:21:18 +0200
changeset 1048 582b3a028cbc
parent 579 76eef5d694b4
child 995 92bb466548a9
permissions -rw-r--r--
#FEATURE by cg class: MCMethodDefinition changed: #postloadOver:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
120
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCPatchBrowser subclass:#MCChangeSelector
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'kept'
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
579
76eef5d694b4 category change
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
     7
	category:'SCM-Monticello-UI'
120
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCChangeSelector methodsFor:'as yet unclassified'!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
buttonSpecs
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ #((Select select 'Select these changes')
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
		 (Cancel cancel 'Cancel the operation')
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
		)
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
cancel
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	self answer: nil
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
defaultLabel
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	^ 'Change Selector'
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
innerButtonRow
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	^ self buttonRow:
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
		#(('Select All' selectAll 'select all changes')
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
		  ('Select None' selectNone 'select no changes'))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
kept
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	^ kept ifNil: [kept _ Set new]
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
listSelectionAt: aNumber
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	^ self kept includes: (self items at: aNumber)
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
listSelectionAt: aNumber put: aBoolean
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	| item |
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	item _ self items at: aNumber.
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	aBoolean
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
		ifTrue: [self kept add: item ]
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
		ifFalse: [self kept remove: item ifAbsent: []]
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
select
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	self answer: (MCPatch operations: kept)
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
selectAll
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	kept addAll: self items.
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	self changed: #list
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
selectNone
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
	kept _ Set new.
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	self changed: #list
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
widgetSpecs
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	Preferences annotationPanes ifFalse: [ ^#(
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
		((buttonRow) (0 0 1 0) (0 0 0 30))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
		((multiListMorph:selection:listSelection:menu: list selection listSelectionAt: methodListMenu:) (0 0 1 0.4) (0 30 0 0))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
		((innerButtonRow) (0 0.4 1 0.4) (0 0 0 30))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
		((textMorph: text) (0 0.4 1 1) (0 30 0 0))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
		)].
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	^ #(
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
		((buttonRow) (0 0 1 0) (0 0 0 30))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
		((multiListMorph:selection:listSelection:menu: list selection listSelectionAt: methodListMenu:) (0 0 1 0.4) (0 30 0 0))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
		((innerButtonRow) (0 0.4 1 0.4) (0 0 0 30))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
		((textMorph: annotations) (0 0.4 1 0.4) (0 30 0 60))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
		((textMorph: text) (0 0.4 1 1) (0 60 0 0))
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
		)
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
! !
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
!MCChangeSelector class methodsFor:'documentation'!
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
version
579
76eef5d694b4 category change
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
    83
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCChangeSelector.st,v 1.2 2012-09-11 21:01:15 cg Exp $'
120
3ba3023297b3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
! !