added: #applyAction:
authorClaus Gittinger <cg@exept.de>
Mon, 10 Sep 2012 14:01:52 +0200
changeset 11794 3d2efe798a56
parent 11793 3194ec5c59d1
child 11795 894f104886b8
added: #applyAction: pluggable apply action (for package/namespace override)
Tools__ChangeList.st
--- a/Tools__ChangeList.st	Mon Sep 10 00:07:11 2012 +0200
+++ b/Tools__ChangeList.st	Mon Sep 10 14:01:52 2012 +0200
@@ -29,7 +29,7 @@
 
 BrowserListWithFilter subclass:#ChangeList
 	instanceVariableNames:'listHolder showRemovedHolder showSameHolder allowRemoveHolder
-		allowAcceptHolder'
+		allowAcceptHolder applyAction'
 	classVariableNames:'LastSelectionConditionString'
 	poolDictionaries:''
 	category:'Interface-Browsers-ChangeSet'
@@ -353,6 +353,10 @@
     "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+applyAction:something
+    applyAction := something.
+!
+
 list
     ^ listHolder value
 
@@ -617,11 +621,15 @@
 !ChangeList methodsFor:'initialization'!
 
 initialize
+    super initialize.
 
-    super initialize.
     menuHolder := [self menuFor: #listMenu].
+    applyAction isNil ifTrue:[
+        applyAction := [:change | change apply ].
+    ].
 
     "Created: / 29-10-2010 / 12:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 10-09-2012 / 13:57:20 / cg"
 ! !
 
 !ChangeList methodsFor:'menu actions'!
@@ -631,7 +639,7 @@
 
     self acceptEnabled ifFalse:[^self].
 
-    (sel := self selectionHolder value) do:[:e|e change apply].
+    (sel := self selectionHolder value) do:[:e| applyAction value:e change].
     sel size == 1 ifTrue:[
         list := self listHolder value. 
         idx := list indexOf:(sel first). 
@@ -643,7 +651,7 @@
     ].
 
     "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 08-02-2012 / 14:53:25 / cg"
+    "Modified: / 10-09-2012 / 13:57:46 / cg"
 !
 
 listMenuApplyAll
@@ -651,9 +659,10 @@
     self acceptEnabled ifFalse:[^self].
 
     self selection value do:
-        [:e|e removed ifFalse:[e change apply]].
+        [:e|e removed ifFalse:[applyAction value:e change]].
 
     "Created: / 05-12-2009 / 14:53:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 10-09-2012 / 13:57:58 / cg"
 !
 
 listMenuBrowse
@@ -1101,11 +1110,11 @@
 !ChangeList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.17 2012-07-27 23:27:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.18 2012-09-10 12:01:52 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.17 2012-07-27 23:27:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.18 2012-09-10 12:01:52 cg Exp $'
 !
 
 version_SVN