class: Tools::ChangeList
added:
#iconExcla
#iconSelectorForChange:
changed:
#hasSingleChangeSelectedAndCanBrowse
#listMenuApply
#listMenuBrowseChanges:
--- a/Tools__ChangeList.st Sun Apr 14 20:13:55 2013 +0200
+++ b/Tools__ChangeList.st Sun Apr 14 21:55:58 2013 +0200
@@ -87,6 +87,10 @@
"Modified: / 31-08-2011 / 10:54:00 / cg"
!
+iconExcla
+ ^ ToolbarIconLibrary iconExclaRed12x12
+!
+
iconMinus
^ ToolbarIconLibrary iconMinusRed12x12
@@ -685,18 +689,19 @@
!ChangeList methodsFor:'menu actions'!
listMenuApply
- |sel list idx|
+ |sel list idx selectionHolder|
self acceptEnabled ifFalse:[^self].
+ selectionHolder := self selectionHolder.
- (sel := self selectionHolder value) do:[:e| applyAction value:e change].
+ (sel := selectionHolder value) do:[:e| applyAction value:e change].
sel size == 1 ifTrue:[
list := self listHolder value.
idx := list indexOf:(sel first).
idx < list size ifTrue:[
- self selectionHolder value:(Array with:(list at:idx+1))
+ selectionHolder value:(Array with:(list at:idx+1))
] ifFalse:[
- self selectionHolder value:#()
+ selectionHolder value:#()
].
].
@@ -724,31 +729,35 @@
!
listMenuBrowseChanges: changes
+ | classes methods methodsOnly browserClass|
- | classes methods methodsOnly |
classes := Set new.
methods := Set new.
methodsOnly := true.
- changes do:
- [:each|
- each isClassChange ifTrue:
- [each changeClass ifNotNil:
- [classes add: each changeClass.
+ changes do: [:each |
+ each isClassChange ifTrue:[
+ each changeClass ifNotNil:[
+ classes add: each changeClass.
each isMethodCodeChange
ifTrue:
[each changeMethod ifNotNil:
[methods add:each changeMethod]]
ifFalse:
- [methodsOnly := false]]]].
+ [methodsOnly := false]
+ ]
+ ]
+ ].
+
+ browserClass := Smalltalk browserClass.
methodsOnly
ifTrue:
[methods size = 1
- ifTrue:[Smalltalk browserClass openInMethod: methods anyOne]
- ifFalse:[Smalltalk browserClass browseMethods: methods asArray title: 'Selected methods from changeset' sort: true]]
+ ifTrue:[ browserClass openInMethod: methods anyOne]
+ ifFalse:[ browserClass browseMethods: methods asArray title: 'Selected methods from changeset' sort: true]]
ifFalse:
[classes size = 1
- ifTrue:[Smalltalk browserClass browseClass: classes anyOne]
- ifFalse:[Smalltalk browserClass browseClasses: classes]]
+ ifTrue:[ browserClass browseClass: classes anyOne]
+ ifFalse:[ browserClass browseClasses: classes]]
"Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Created: / 24-01-2012 / 22:00:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -872,6 +881,22 @@
"Modified: / 24-07-2009 / 22:06:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
+iconSelectorForChange:change
+ | delta sym selectorOrNil |
+
+ masterApplication notNil ifTrue:[
+ selectorOrNil := masterApplication iconSelectorForChange:change.
+ selectorOrNil notNil ifTrue:[ ^ selectorOrNil ].
+ ].
+ delta := change deltaDetail.
+ sym := delta shortDeltaSymbol.
+ sym = #+ ifTrue:[^#iconPlus].
+ sym = #- ifTrue:[^#iconMinus].
+ sym = #= ifTrue:[^#iconEqual].
+ "/ different.
+ ^ nil.
+!
+
listEntryFor:chg
^ListEntry change:chg application: self
@@ -948,14 +973,15 @@
!
hasSingleChangeSelectedAndCanBrowse
-
+ self selectionHolder value ? #() do: [:each |
+ |chg|
- self selectionHolder value ? #() do:
- [:each|
- (each change isClassChange and:
- [each change isMethodChange not
- or:[each change isMethodCodeChange]]) ifFalse:[^false]].
- ^true
+ chg := each change.
+ chg isClassChange ifTrue:[
+ (chg isMethodChange not or:[chg isMethodCodeChange]) ifFalse:[^ false]
+ ].
+ ].
+ ^ true
! !
!ChangeList::ListEntry class methodsFor:'instance creation'!
@@ -1074,27 +1100,6 @@
"Created: / 31-08-2011 / 10:29:21 / cg"
!
-iconDelta
-
- | iconSelector |
- iconSelector := self iconSelector.
- iconSelector isNil ifTrue:[^nil].
- self removed ifTrue:[iconSelector := iconSelector , #Grayed].
- ^self application class perform: iconSelector asSymbol.
-
- "Created: / 05-12-2009 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 18-11-2011 / 14:56:33 / cg"
-!
-
-iconRemoved
-
- ^self removed
- ifTrue: [self application class uncheckedIcon ]
- ifFalse:[self application class checkedIcon ]
-
- "Created: / 05-12-2009 / 14:11:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
imageSource
"return the source for the in-image version of the change"
@@ -1155,22 +1160,33 @@
"Modified: / 24-01-2012 / 21:44:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 27-07-2012 / 21:26:23 / cg"
-! !
+!
+
+iconDelta
+ | iconSelector |
+
+ iconSelector := self iconSelector.
+ iconSelector isNil ifTrue:[^nil].
+ self removed ifTrue:[iconSelector := iconSelector , #Grayed].
+ ^self application class perform: iconSelector asSymbol.
-!ChangeList::ListEntry methodsFor:'private'!
+ "Created: / 05-12-2009 / 14:11:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-11-2011 / 14:56:33 / cg"
+!
+
+iconRemoved
+ |appClass|
+
+ appClass := self application class.
+ ^self removed
+ ifTrue: [appClass uncheckedIcon ]
+ ifFalse:[appClass checkedIcon ]
+
+ "Created: / 05-12-2009 / 14:11:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
iconSelector
- | delta sym |
-
- delta := change deltaDetail.
- sym := delta shortDeltaSymbol.
- sym = #+ ifTrue:[^#iconPlus].
- sym = #- ifTrue:[^#iconMinus].
- sym = #= ifTrue:[^#iconEqual].
- "/ different.
- ^ nil.
-
- "Modified: / 31-08-2011 / 10:39:32 / cg"
+ ^ application iconSelectorForChange:change
! !
!ChangeList::ListEntry methodsFor:'protocol-queries'!
@@ -1185,11 +1201,11 @@
!ChangeList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.23 2013-04-14 06:49:03 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.24 2013-04-14 19:55:58 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.23 2013-04-14 06:49:03 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.24 2013-04-14 19:55:58 cg Exp $'
!
version_SVN