--- a/Tools__ChangeList.st Tue Jan 24 18:41:02 2012 +0100
+++ b/Tools__ChangeList.st Tue Jan 24 23:18:39 2012 +0100
@@ -28,7 +28,8 @@
"{ NameSpace: Tools }"
BrowserListWithFilter subclass:#ChangeList
- instanceVariableNames:'listHolder showRemovedHolder showSameHolder acceptEnabledHolder'
+ instanceVariableNames:'listHolder showRemovedHolder showSameHolder allowRemoveHolder
+ allowAcceptHolder'
classVariableNames:'LastSelectionConditionString'
poolDictionaries:''
category:'Interface-Browsers-ChangeSet'
@@ -185,6 +186,7 @@
"Do not manually edit this!! If it is corrupted,
the MenuEditor may not be able to read the specification."
+
"
MenuEditor new openOnClass:Tools::ChangeList andSelector:#listMenu
(Menu new fromLiteralArrayEncoding:(Tools::ChangeList listMenu)) startUp
@@ -200,14 +202,14 @@
label: 'Apply'
itemValue: listMenuApply
translateLabel: true
- isVisible: acceptEnabledHolder
+ isVisible: allowAcceptHolder
shortcutKey: Accept
)
(MenuItem
label: 'Apply all'
itemValue: listMenuApplyAll
translateLabel: true
- isVisible: acceptEnabledHolder
+ isVisible: allowAcceptHolder
)
(MenuItem
enabled: hasSingleChangeSelectedAndCanBrowse
@@ -223,10 +225,12 @@
itemValue: listMenuDeleteSelection
nameKey: Delete
translateLabel: true
+ isVisible: allowRemoveHolder
shortcutKey: Delete
)
(MenuItem
label: '-'
+ isVisible: allowRemoveHolder
)
(MenuItem
label: 'Select...'
@@ -281,6 +285,7 @@
(MenuItem
label: 'Show Deleted'
translateLabel: true
+ isVisible: allowRemoveHolder
indication: showRemovedHolder
)
(MenuItem
@@ -308,7 +313,9 @@
(if this app is embedded in a subCanvas)."
^ #(
- #acceptEnabledHolder
+ #allowAcceptHolder
+ #allowRemoveHolder
+
#inGeneratorHolder
#menuHolder
#outGeneratorHolder
@@ -317,20 +324,27 @@
#showSameHolder
).
+ "Modified: / 24-01-2012 / 19:54:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeList methodsFor:'accessing'!
-acceptEnabled
- "return the value in 'acceptEnabledHolder'"
+allowAccept
+ ^ self allowAcceptHolder value
- ^ self acceptEnabledHolder value
+ "Created: / 24-01-2012 / 19:52:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-acceptEnabled: newValue
- "set the value in 'acceptEnabledHolder'"
+allowAccept: aBoolean
+ ^ self allowAcceptHolder value: aBoolean
- self acceptEnabledHolder value: newValue
+ "Created: / 24-01-2012 / 19:52:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+allowRemoved
+ ^ self allowRemoveHolder value ? true
+
+ "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
list
@@ -368,29 +382,68 @@
selectionDoubleclicked
- | app |
+ self listMenuBrowse
+"/ | app |
+"/
+"/ self selection do:
+"/ [:e|e removed: e removed not].
+"/ ((app := self masterApplication) respondsTo: #redrawChangeListViews)
+"/ ifTrue:[app redrawChangeListViews].
- self selection do:
- [:e|e removed: e removed not].
- ((app := self masterApplication) respondsTo: #redrawChangeListViews)
- ifTrue:[app redrawChangeListViews].
-
- "Modified: / 16-03-2011 / 22:51:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-01-2012 / 22:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeList methodsFor:'aspects'!
-acceptEnabledHolder
+allowAcceptHolder
"return/create the valueHolder 'acceptEnabledHolder'"
- acceptEnabledHolder isNil ifTrue:[
- acceptEnabledHolder := ValueHolder with:nil "defaultValue here".
+ allowAcceptHolder isNil ifTrue:[
+ allowAcceptHolder := ValueHolder with:nil "defaultValue here".
].
- ^ acceptEnabledHolder
+ ^ allowAcceptHolder
+
+ "Created: / 24-01-2012 / 19:53:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+allowAcceptHolder:something
+ "set the 'allowAcceptHolder' value holder (automatically generated)"
+
+ allowAcceptHolder := something.
!
-acceptEnabledHolder:aValueModel
- acceptEnabledHolder := aValueModel.
+allowRemoveHolder
+ "return/create the 'allowRemoveHolder' value holder (automatically generated)"
+
+ allowRemoveHolder isNil ifTrue:[
+ allowRemoveHolder := ValueHolder with:true.
+ allowRemoveHolder addDependent:self.
+ ].
+ ^ allowRemoveHolder
+
+ "Modified (comment): / 24-01-2012 / 19:44:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+allowRemoveHolder:something
+ "set the 'showRemovedHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ allowRemoveHolder notNil ifTrue:[
+ oldValue := allowRemoveHolder value.
+ allowRemoveHolder removeDependent:self.
+ ].
+ allowRemoveHolder := something.
+ allowRemoveHolder notNil ifTrue:[
+ allowRemoveHolder addDependent:self.
+ ].
+ newValue := allowRemoveHolder value.
+ oldValue ~~ newValue ifTrue:[
+ self
+ update:#value
+ with:newValue
+ from:allowRemoveHolder.
+ ].
!
listHolder
@@ -572,22 +625,29 @@
listMenuBrowse
+ self listMenuBrowseChanges:
+ ((self selectionHolder value ? #()) collect:[:e|e change])
+
+ "Modified: / 24-01-2012 / 22:00:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+listMenuBrowseChanges: changes
+
| classes methods methodsOnly |
classes := Set new.
methods := Set new.
methodsOnly := true.
- self selectionHolder value do:
+ changes do:
[:each|
- each change isClassChange ifTrue:
- [each change changeClass ifNotNil:
- [classes add: each change changeClass.
- each change isMethodCodeChange
+ each isClassChange ifTrue:
+ [each changeClass ifNotNil:
+ [classes add: each changeClass.
+ each isMethodCodeChange
ifTrue:
- [each change changeMethod ifNotNil:
- [methods add:each change changeMethod]]
+ [each changeMethod ifNotNil:
+ [methods add:each changeMethod]]
ifFalse:
[methodsOnly := false]]]].
-
methodsOnly
ifTrue:
[methods size = 1
@@ -598,10 +658,8 @@
ifTrue:[Smalltalk browserClass browseClass: classes anyOne]
ifFalse:[Smalltalk 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>"
!
listMenuDeleteSelection
@@ -961,7 +1019,7 @@
| cx icon |
cx := x := newX.
- self application showRemoved ifTrue:
+ self application allowRemoveHolder value ifTrue:
[(icon := self iconRemoved) ifNotNil:
[icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ].
cx := cx + 22."experimental value - this looks good"].
@@ -972,7 +1030,7 @@
super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h
- "Modified: / 05-12-2009 / 14:49:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-01-2012 / 21:44:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeList::ListEntry methodsFor:'private'!
@@ -1002,11 +1060,11 @@
!ChangeList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.12 2011-12-28 16:17:51 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.13 2012-01-24 22:18:39 vrany Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.12 2011-12-28 16:17:51 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.13 2012-01-24 22:18:39 vrany Exp $'
!
version_SVN