--- a/Tools__ChangeSetBrowser2.st Thu Aug 04 20:02:49 2011 +0200
+++ b/Tools__ChangeSetBrowser2.st Thu Aug 04 20:03:20 2011 +0200
@@ -29,10 +29,11 @@
ToolApplicationModel subclass:#ChangeSetBrowser2
instanceVariableNames:'changesetHolder titleHolder allowOpenHolder changesetFile
- navigatorChangesetHolder navigatorSpecHolder selectionHolder
- classHolder codeAspectHolder selection1Holder
- list1GeneratorHolder showRemovedAspect acceptEnabledHolder
- changeListViews sourceView changeSourceHolder imageSourceHolder'
+ navigatorChangesetHolder navigatorSpecHolder list1 list1Holder
+ selection1Holder list2 list2Holder selection2Holder classHolder
+ codeAspectHolder showRemovedAspect showSameAspect
+ acceptEnabledHolder sourceView changeSourceHolder
+ imageSourceHolder'
classVariableNames:'ShowRemoved LastSelectionConditionString'
poolDictionaries:''
category:'Interface-Browsers-ChangeSet'
@@ -167,7 +168,7 @@
offsets:(0 @ 0 corner:0 @ -30)).
dialog
okAction:
- [^browser navigatorChangesetHolder value condenseChangesForRemoved];
+ [^browser list1Holder value condenseChangesForRemoved];
abortAction:
[^#()].
dialog openWithExtent: 800@700.
@@ -182,7 +183,7 @@
"Created: / 08-11-2010 / 17:59:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified (format): / 01-07-2011 / 16:34:06 / cg"
- "Modified: / 19-07-2011 / 19:39:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-08-2011 / 18:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
open
@@ -221,8 +222,8 @@
the UIPainter may not be able to read the specification."
"
- UIPainter new openOnClass:Tools::ChangeSetBrowser andSelector:#hierarchicalNavigatorSpec
- Tools::ChangeSetBrowser new openInterface:#hierarchicalNavigatorSpec
+ UIPainter new openOnClass:Tools::ChangeSetBrowser2 andSelector:#hierarchicalNavigatorSpec
+ Tools::ChangeSetBrowser2 new openInterface:#hierarchicalNavigatorSpec
"
<resource: #canvas>
@@ -255,31 +256,38 @@
)
(SubChannelInfoSpec
subAspect: inGeneratorHolder
- aspect: navigatorChangesetHolder
+ aspect: list1Holder
)
(SubChannelInfoSpec
subAspect: menuHolder
- aspect: changeMenuHolder
+ aspect: list1MenuHolder
)
(SubChannelInfoSpec
subAspect: selectionHolder
- aspect: selectionHolder
+ aspect: selection1Holder
)
(SubChannelInfoSpec
subAspect: showRemovedHolder
aspect: showRemovedAspect
)
+ (SubChannelInfoSpec
+ subAspect: showSameHolder
+ aspect: showSameAspect
+ )
+
)
createNewApplication: true
createNewBuilder: true
- postBuildCallback: addChangeListView:
+ postBuildCallback: list1View:
)
)
)
)
+
+ "Modified: / 04-08-2011 / 18:43:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
oneColumnNavigatorSpec
@@ -290,8 +298,8 @@
the UIPainter may not be able to read the specification."
"
- UIPainter new openOnClass:Tools::ChangeSetBrowser andSelector:#oneColumnNavigatorSpec
- Tools::ChangeSetBrowser new openInterface:#oneColumnNavigatorSpec
+ UIPainter new openOnClass:Tools::ChangeSetBrowser2 andSelector:#oneColumnNavigatorSpec
+ Tools::ChangeSetBrowser2 new openInterface:#oneColumnNavigatorSpec
"
<resource: #canvas>
@@ -324,31 +332,38 @@
)
(SubChannelInfoSpec
subAspect: inGeneratorHolder
- aspect: changesetHolder
+ aspect: list1Holder
)
(SubChannelInfoSpec
subAspect: menuHolder
- aspect: changeMenuHolder
+ aspect: list1MenuHolder
)
(SubChannelInfoSpec
subAspect: selectionHolder
- aspect: selectionHolder
+ aspect: selection1Holder
)
(SubChannelInfoSpec
subAspect: showRemovedHolder
aspect: showRemovedAspect
)
+ (SubChannelInfoSpec
+ subAspect: showSameHolder
+ aspect: showSameAspect
+ )
+
)
createNewApplication: true
createNewBuilder: true
- postBuildCallback: addChangeListView:
+ postBuildCallback: list1View:
)
)
)
)
+
+ "Modified: / 04-08-2011 / 18:43:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
twoColumnNavigatorSpec
@@ -359,8 +374,8 @@
the UIPainter may not be able to read the specification."
"
- UIPainter new openOnClass:Tools::ChangeSetBrowser andSelector:#twoColumnNavigatorSpec
- Tools::ChangeSetBrowser new openInterface:#twoColumnNavigatorSpec
+ UIPainter new openOnClass:Tools::ChangeSetBrowser2 andSelector:#twoColumnNavigatorSpec
+ Tools::ChangeSetBrowser2 new openInterface:#twoColumnNavigatorSpec
"
<resource: #canvas>
@@ -398,16 +413,16 @@
)
(SubChannelInfoSpec
subAspect: inGeneratorHolder
- aspect: navigatorChangesetHolder
+ aspect: list1Holder
)
(SubChannelInfoSpec
subAspect: menuHolder
- aspect: changeMenuHolder
+ aspect: list1MenuHolder
)
(SubChannelInfoSpec
subAspect: outGeneratorHolder
- aspect: list1GeneratorHolder
+ aspect: list2Holder
)
(SubChannelInfoSpec
@@ -418,10 +433,14 @@
subAspect: showRemovedHolder
aspect: showRemovedAspect
)
+ (SubChannelInfoSpec
+ subAspect: showSameHolder
+ aspect: showSameAspect
+ )
)
createNewApplication: true
createNewBuilder: true
- postBuildCallback: addChangeListView:
+ postBuildCallback: list1View:
)
(SubCanvasSpec
name: 'SecondColumn'
@@ -437,26 +456,30 @@
)
(SubChannelInfoSpec
subAspect: inGeneratorHolder
- aspect: list1GeneratorHolder
+ aspect: list2Holder
)
(SubChannelInfoSpec
subAspect: menuHolder
- aspect: changeMenuHolder
+ aspect: list2MenuHolder
)
(SubChannelInfoSpec
subAspect: selectionHolder
- aspect: selectionHolder
+ aspect: selection2Holder
)
(SubChannelInfoSpec
subAspect: showRemovedHolder
aspect: showRemovedAspect
)
+ (SubChannelInfoSpec
+ subAspect: showSameHolder
+ aspect: showSameAspect
+ )
)
createNewApplication: true
createNewBuilder: true
- postBuildCallback: addChangeListView:
+ postBuildCallback: list2View:
)
)
@@ -467,6 +490,8 @@
)
)
+
+ "Modified: / 04-08-2011 / 18:43:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
windowSpec
@@ -622,8 +647,8 @@
the MenuEditor may not be able to read the specification."
"
- MenuEditor new openOnClass:Tools::ChangeSetBrowser andSelector:#changeMenu
- (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetBrowser changeMenu)) startUp
+ MenuEditor new openOnClass:Tools::ChangeSetBrowser2 andSelector:#changeMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetBrowser2 changeMenu)) startUp
"
<resource: #menu>
@@ -632,16 +657,17 @@
#(Menu
(
(MenuItem
- enabled: hasChangeSelectedAndNotRemoved
+ enabled: hasChangeSelectedAndNotRemoved:
label: 'Apply'
- itemValue: changeMenuApplySelection
+ itemValue: changeMenuApplySelection:
translateLabel: true
isVisible: acceptEnabledHolder
shortcutKey: Accept
+ auxValue: 100
)
(MenuItem
label: 'Apply all'
- itemValue: changeMenuApply
+ itemValue: changeMenuApply:
translateLabel: true
isVisible: acceptEnabledHolder
)
@@ -650,14 +676,14 @@
)
(MenuItem
label: 'Delete'
- itemValue: changeMenuDeleteSelection
+ itemValue: changeMenuDeleteSelection:
nameKey: Delete
translateLabel: true
shortcutKey: Delete
)
(MenuItem
label: 'Undelete'
- itemValue: changeMenuUndeleteSelection
+ itemValue: changeMenuUndeleteSelection:
nameKey: Undelete
translateLabel: true
shortcutKey: Delete
@@ -673,22 +699,22 @@
(
(MenuItem
label: 'Select same'
- itemValue: changeMenuSelectSame
+ itemValue: changeMenuSelectSame:
translateLabel: true
)
(MenuItem
label: 'Select additions (new classes/methods)'
- itemValue: changeMenuSelectAdditions
+ itemValue: changeMenuSelectAdditions:
translateLabel: true
)
(MenuItem
label: 'Select removals'
- itemValue: changeMenuSelectRemovals
+ itemValue: changeMenuSelectRemovals:
translateLabel: true
)
(MenuItem
label: 'Select differences'
- itemValue: changeMenuSelectDifferences
+ itemValue: changeMenuSelectDifferences:
translateLabel: true
)
(MenuItem
@@ -696,12 +722,12 @@
)
(MenuItem
label: 'Select all'
- itemValue: changeMenuSelectAll
+ itemValue: changeMenuSelectAll:
translateLabel: true
)
(MenuItem
label: 'Select none'
- itemValue: changeMenuSelectNone
+ itemValue: changeMenuSelectNone:
translateLabel: true
)
(MenuItem
@@ -709,7 +735,7 @@
)
(MenuItem
label: 'Select using block'
- itemValue: changeMenuSelectUsingBlock
+ itemValue: changeMenuSelectUsingBlock:
translateLabel: true
)
)
@@ -721,20 +747,24 @@
label: '-'
)
(MenuItem
- enabled: false
label: 'Show Deleted'
translateLabel: true
indication: showRemovedAspect
)
(MenuItem
+ label: 'Show Same'
+ translateLabel: true
+ indication: showSameAspect
+ )
+ (MenuItem
label: 'Inspect change'
- itemValue: changeMenuInspect
+ itemValue: changeMenuInspect:
translateLabel: true
)
(MenuItem
- enabled: hasSingleChangeSelectedAndCanBrowse
+ enabled: hasSingleChangeSelectedAndCanBrowse:
label: 'Browse'
- itemValue: changeMenuBrowse
+ itemValue: changeMenuBrowse:
translateLabel: true
)
)
@@ -751,8 +781,8 @@
the MenuEditor may not be able to read the specification."
"
- MenuEditor new openOnClass:Tools::ChangeSetBrowser andSelector:#mainMenu
- (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetBrowser mainMenu)) startUp
+ MenuEditor new openOnClass:Tools::ChangeSetBrowser2 andSelector:#mainMenu
+ (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetBrowser2 mainMenu)) startUp
"
<resource: #menu>
@@ -803,12 +833,6 @@
)
)
(MenuItem
- label: 'Change'
- translateLabel: true
- submenuChannel: changeMenu
- keepLinkedMenu: true
- )
- (MenuItem
label: 'View'
translateLabel: true
submenu:
@@ -832,6 +856,19 @@
choice: navigatorSpecHolder
choiceValue: twoColumnNavigatorSpec
)
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Show Deleted'
+ translateLabel: true
+ indication: showRemovedAspect
+ )
+ (MenuItem
+ label: 'Show Same'
+ translateLabel: true
+ indication: showSameAspect
+ )
)
nil
nil
@@ -947,6 +984,20 @@
self changesetHolder value: aChangeSet
!
+list1View: aSubApplicationView
+
+ list1 := aSubApplicationView application
+
+ "Created: / 04-08-2011 / 17:56:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+list2View: aSubApplicationView
+
+ list2 := aSubApplicationView application
+
+ "Created: / 04-08-2011 / 17:57:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
readOnly: aBoolean
"Created: / 20-07-2010 / 09:48:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -954,13 +1005,19 @@
theSingleSelectedChange
- | change |
+ | change sel |
change := nil.
- selectionHolder value do:
+ sel := selection2Holder value.
+ sel isNil ifTrue:[
+ sel := selection1Holder value.
+ ].
+ sel do:
[:each|
change ifNotNil:[nil].
change ifNil:[change := each]].
^change
+
+ "Modified: / 04-08-2011 / 18:55:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
title: aString
@@ -980,11 +1037,28 @@
!ChangeSetBrowser2 methodsFor:'accessing - menus'!
-changeMenuHolder
+list1MenuHolder
+
+ ^[
+ | menu |
+ menu := builder menuFor: #changeMenu.
+ menu allItemsDo:[:item|item argument: list1].
+ menu
+ ]
- ^[self menuFor: #changeMenu]
+ "Created: / 04-08-2011 / 18:11:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+list2MenuHolder
- "Created: / 29-10-2010 / 13:23:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ ^[
+ | menu |
+ menu := builder menuFor: #changeMenu.
+ menu allItemsDo:[:item|item argument: list2].
+ menu
+ ]
+
+ "Created: / 04-08-2011 / 18:13:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetBrowser2 methodsFor:'actions'!
@@ -1113,28 +1187,34 @@
"Created: / 19-07-2011 / 11:46:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-list1GeneratorHolder
- "return/create the 'list1GeneratorHolder' value holder (automatically generated)"
+list1Holder
+ "return/create the 'list1Holder' value holder (automatically generated)"
- list1GeneratorHolder isNil ifTrue:[
- list1GeneratorHolder := ValueHolder new.
+ list1Holder isNil ifTrue:[
+ list1Holder := ValueHolder new.
].
- ^ list1GeneratorHolder
+ ^ list1Holder
!
-list1GeneratorHolder:something
- "set the 'list1GeneratorHolder' value holder (automatically generated)"
+list1Holder:something
+ "set the 'list1Holder' value holder (automatically generated)"
- list1GeneratorHolder := something.
+ list1Holder := something.
!
-listHolder
+list2Holder
+ "return/create the 'list2Holder' value holder (automatically generated)"
- ^self navigatorSpecHolder value == #twoColumnNavigatorSpec
- ifTrue:[self list1GeneratorHolder]
- ifFalse:[self navigatorChangesetHolder]
+ list2Holder isNil ifTrue:[
+ list2Holder := ValueHolder new.
+ ].
+ ^ list2Holder
+!
- "Created: / 20-03-2011 / 22:16:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+list2Holder:something
+ "set the 'list2Holder' value holder (automatically generated)"
+
+ list2Holder := something.
!
navigatorChangesetHolder
@@ -1165,23 +1245,30 @@
"return/create the 'selection1Holder' value holder (automatically generated)"
selection1Holder isNil ifTrue:[
- selection1Holder := ValueHolder with:#().
+ selection1Holder := ValueHolder new.
].
^ selection1Holder
+!
- "Modified: / 24-10-2009 / 20:29:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+selection1Holder:something
+ "set the 'selection1Holder' value holder (automatically generated)"
+
+ selection1Holder := something.
!
-selectionHolder
- "return/create the 'selectionHolder' value holder (automatically generated)"
+selection2Holder
+ "return/create the 'selection2Holder' value holder (automatically generated)"
- selectionHolder isNil ifTrue:[
- selectionHolder := ValueHolder new.
- selectionHolder addDependent: self.
+ selection2Holder isNil ifTrue:[
+ selection2Holder := ValueHolder new.
].
- ^ selectionHolder
+ ^ selection2Holder
+!
- "Modified: / 24-10-2009 / 19:56:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+selection2Holder:something
+ "set the 'selection2Holder' value holder (automatically generated)"
+
+ selection2Holder := something.
!
showRemovedAspect
@@ -1198,6 +1285,23 @@
showRemovedAspect := aValueHolder.
!
+showSameAspect
+ "return/create the 'showSameAspect' value holder (automatically generated)"
+
+ showSameAspect isNil ifTrue:[
+ showSameAspect := ValueHolder with: true.
+ ].
+ ^ showSameAspect
+
+ "Modified: / 04-08-2011 / 18:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+showSameAspect:something
+ "set the 'showSameAspect' value holder (automatically generated)"
+
+ showSameAspect := something.
+!
+
titleHolder
"return/create the 'titleHolder' value holder (automatically generated)"
@@ -1213,9 +1317,9 @@
changesetChanged
self titleHolder value: (self changeset name ? (self defaultTitle)).
- self navigatorChangesetHolder value: self getNavigatorChangeSet
+ self list1Holder value: self getNavigatorChangeSet
- "Modified: / 26-10-2010 / 22:57:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-08-2011 / 18:05:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
selectionChanged
@@ -1245,7 +1349,8 @@
update: aspect with: param from: sender
sender == changesetHolder ifTrue: [ ^ self changesetChanged ].
- sender == selectionHolder ifTrue: [ ^ self selectionChanged ].
+ sender == selection1Holder ifTrue: [ ^ self selectionChanged ].
+ sender == selection2Holder ifTrue: [ ^ self selectionChanged ].
"Created: / 24-10-2009 / 19:29:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
@@ -1321,75 +1426,41 @@
!ChangeSetBrowser2 methodsFor:'menu actions - changes'!
-changeMenuApply
+changeMenuApply: changeList
| changesToApply |
changesToApply := OrderedCollection new.
self changesDo:[:chg|chg removed ifFalse:[changesToApply add: chg]].
- self changeMenuApply: changesToApply.
+ self changeMenuApplyChanges: changesToApply.
- "Created: / 29-10-2010 / 13:53:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-03-2011 / 22:54:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:26:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuApply: changesToApply
-
- | changesThatFailToApply |
-
- changesThatFailToApply := ChangeSet new.
- ProgressIndicator
- displayProgress:'Applying changes...'
- at:(Screen default center)
- from:200 to:400
- during:[:val |
- 1 to: changesToApply size do:
- [:i|
- val value:((100 / changesToApply size) * i) rounded.
- [self changeMenuApplyChange: (changesToApply at: i)]
- on: Error do:[changesThatFailToApply add: (changesToApply at: i)]]]
-
- "Created: / 29-10-2010 / 14:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-changeMenuApplyChange: aChange
-
- aChange isClassDefinitionChange ifTrue:
- [(Smalltalk at: aChange superClassName asSymbol)
- ifNil:[^self error: 'Nil superclass']].
- aChange apply
-
- "Modified: / 29-10-2010 / 14:57:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-changeMenuApplySelection
+changeMenuApplySelection: changeList
self selectionDo:[:change|self changeMenuApplyChange:change].
- "Created: / 29-10-2010 / 13:53:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 29-10-2010 / 14:55:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:27:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuBrowse
- "automatically generated by UIEditor ..."
+changeMenuBrowse: changeList
- "*** the code below performs no action"
- "*** (except for some feedback on the Transcript)"
- "*** Please change as required and accept in the browser."
- "*** (and replace this comment by something more useful ;-)"
+ self breakPoint: #jv.
+ Dialog warn: 'Not yet implemented'
- "action to be added ..."
-
- Transcript showCR:self class name, ': action for #changeMenuBrowse ...'.
+ "Created: / 04-08-2011 / 17:27:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuDeleteSelection
+changeMenuDeleteSelection: changeList
self selectionDo:[:chg|chg removed: true]
"Modified: / 29-10-2010 / 13:53:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:28:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuInspect
+changeMenuInspect: changeList
| changes |
changes := OrderedCollection new: 1.
@@ -1398,75 +1469,61 @@
ifTrue:[changes anyOne inspect]
ifFalse:[changes inspect].
- "Created: / 29-10-2010 / 14:16:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:28:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuInspect:aValueHolder
-
- aValueHolder value size = 1
- ifTrue:[aValueHolder value anyOne inspect]
- ifFalse:[aValueHolder value inspect]
-!
-
-changeMenuInspectChangeset
+changeMenuInspectChangeset: changeList
self changesetHolder value inspect.
+
+ "Created: / 04-08-2011 / 17:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuSelectAdditions
+changeMenuSelectAdditions: changeList
- self changeMenuSelectAllSuchThat:[:change|change delta = #+]
+ self changeMenuSelectIn: changeList suchThat:[:change|change delta = #+]
- "Modified: / 29-10-2010 / 13:16:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:29:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuSelectAll
+changeMenuSelectAll: changeList
- self changeMenuSelectAllSuchThat:[:change|true]
+ self changeMenuSelectIn: changeList suchThat:[:change|true]
- "Modified: / 29-10-2010 / 13:17:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:29:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuSelectAllSuchThat:conditionBlock
+changeMenuSelectDifferences: changeList
- | newSelection |
- newSelection := OrderedCollection new.
- self listDo: [:chg|(conditionBlock value: chg) ifTrue:[newSelection add: chg]].
- self selectionHolder value: newSelection.
+ self changeMenuSelectIn: changeList suchThat:[:change|change delta = #~]
- "Created: / 29-10-2010 / 13:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 20-03-2011 / 22:33:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:29:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuSelectDifferences
+changeMenuSelectNone: changeList
- self changeMenuSelectAllSuchThat:[:change|change delta = #~]
+ self changeMenuSelectIn: changeList suchThat:[:change|false]
- "Created: / 29-10-2010 / 14:07:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuSelectNone
+changeMenuSelectRemovals: changeList
- self changesDo:[:chg|chg removed: true].
+ self changeMenuSelectIn: changeList suchThat:[:change|change delta = #-]
- "Modified: / 29-10-2010 / 14:23:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 29-10-2010 / 13:18:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:35:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuSelectRemovals
+changeMenuSelectSame: changeList
- self changeMenuSelectAllSuchThat:[:change|change delta = #-]
+ self changeMenuSelectIn: changeList suchThat:[:change|change delta = #=]
- "Modified: / 29-10-2010 / 13:18:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 29-10-2010 / 13:18:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:35:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuSelectSame
-
- self changeMenuSelectAllSuchThat:[:change|change delta = #=]
-
- "Modified: / 29-10-2010 / 13:18:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-changeMenuSelectUsingBlock
+changeMenuSelectUsingBlock: changeList
|conditionBlockString conditionBlock dialog textHolder template|
@@ -1506,37 +1563,63 @@
^ self
].
- self changeMenuSelectAllSuchThat: conditionBlock
+ self changeMenuSelectIn: changeList suchThat: conditionBlock
"Modified: / 29-10-2010 / 13:05:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:42:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-changeMenuUndeleteSelection
+changeMenuUndeleteSelection: changeList
self selectionDo:[:chg|chg removed: false]
"Modified: / 29-10-2010 / 13:53:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 17:42:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ChangeSetBrowser2 methodsFor:'menu actions - changes - helpers'!
+
+changeMenuApplyChange: aChange
+
+ aChange isClassDefinitionChange ifTrue:
+ [(Smalltalk at: aChange superClassName asSymbol)
+ ifNil:[^self error: 'Nil superclass']].
+ aChange apply
+
+ "Modified: / 29-10-2010 / 14:57:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+changeMenuApplyChanges: changesToApply
+
+ | changesThatFailToApply |
+
+ changesThatFailToApply := ChangeSet new.
+ ProgressIndicator
+ displayProgress:'Applying changes...'
+ at:(Screen default center)
+ from:200 to:400
+ during:[:val |
+ 1 to: changesToApply size do:
+ [:i|
+ val value:((100 / changesToApply size) * i) rounded.
+ [self changeMenuApplyChange: (changesToApply at: i)]
+ on: Error do:[changesThatFailToApply add: (changesToApply at: i)]]]
+
+ "Created: / 04-08-2011 / 17:26:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+changeMenuSelectIn: changeList suchThat:conditionBlock
+
+ | sel |
+ sel := OrderedCollection new.
+ changeList listHolder value do: [:chg|(conditionBlock value: chg) ifTrue:[sel add: chg]].
+ changeList selectionHolder value: sel.
+
+ "Created: / 04-08-2011 / 17:29:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetBrowser2 methodsFor:'private'!
-addChangeListView: aView
-
- changeListViews ifNil:[changeListViews := Set new].
- changeListViews add: aView
-
- "Created: / 16-03-2011 / 22:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-changesDo: aBlock
-
- self navigatorChangesetHolder value do:[:chg|chg do: aBlock].
- self redrawChangeListViews
-
- "Created: / 29-10-2010 / 13:46:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 16-03-2011 / 22:43:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
getNavigatorChangeSet
| changeset |
@@ -1556,33 +1639,16 @@
redrawChangeListViews
- changeListViews ifNil:[^self].
- changeListViews do:[:v|
- v allSubViewsDo:
- [:sv|sv redraw]
- ]
+ list1 notNil ifTrue:[
+ list1 builder window allSubViewsDo: [:v|v redraw]
+ ].
+ list2 notNil ifTrue:[
+ list2 builder window allSubViewsDo: [:v|v redraw]
+ ].
"Created: / 16-03-2011 / 22:41:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-selectionDo: aBlock
-
- | applyBlock |
- applyBlock := [:e|aBlock value: e change].
-
- selectionHolder value isNilOrEmptyCollection ifTrue:[
- (self navigatorChangesetHolder value ? #()) do: aBlock
- ] ifFalse:[
- selection1Holder value isNilOrEmptyCollection not
- ifTrue:[selection1Holder value do: applyBlock]
- ifFalse:[selectionHolder value do: applyBlock].
- ].
- self redrawChangeListViews
-
- "Created: / 29-10-2010 / 13:47:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 08-04-2011 / 10:15:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
showSource: aBoolean
| panel |
@@ -1632,26 +1698,31 @@
"Created: / 20-03-2011 / 21:34:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-hasChangeSelectedAndNotRemoved
+hasChangeSelectedAndNotRemoved: changeList
- self selectionDo:[:e|e removed ifFalse:[^true]].
- ^false
+ | sel |
+ sel := changeList selection.
+ sel isEmptyOrNil ifTrue:[^false].
+ ^(sel anySatisfy:[:each|each removed]) not
- "Created: / 18-03-2011 / 08:01:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 24-07-2011 / 06:52:28 / cg"
+ "Created: / 04-08-2011 / 18:23:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-hasSingleChangeSelectedAndCanBrowse
+hasSingleChangeSelectedAndCanBrowse: changeList
- ^false
+ | sel |
+ sel := changeList selection.
+ sel isEmptyOrNil ifTrue:[^false].
+ ^true
- "Created: / 18-03-2011 / 08:02:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-08-2011 / 18:25:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetBrowser2 class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.7 2011-07-24 04:58:13 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.8 2011-08-04 18:03:20 vrany Exp $'
!
version_SVN