Improvements in diffing tools
authorvrany
Tue, 19 Jul 2011 14:33:19 +0200
changeset 10333 29776a78e424
parent 10332 1aac52034cda
child 10334 3ac95963b1a5
Improvements in diffing tools
Tools__ChangeSetBrowser2.st
--- a/Tools__ChangeSetBrowser2.st	Tue Jul 19 14:32:56 2011 +0200
+++ b/Tools__ChangeSetBrowser2.st	Tue Jul 19 14:33:19 2011 +0200
@@ -30,8 +30,9 @@
 ToolApplicationModel subclass:#ChangeSetBrowser2
 	instanceVariableNames:'changesetHolder titleHolder allowOpenHolder changesetFile
 		navigatorChangesetHolder navigatorSpecHolder selectionHolder
-		sourceHolder classHolder selection1Holder list1GeneratorHolder
-		showRemovedAspect acceptEnabledHolder changeListViews sourceView'
+		classHolder selection1Holder list1GeneratorHolder
+		showRemovedAspect acceptEnabledHolder changeListViews sourceView
+		changeSourceHolder imageSourceHolder'
 	classVariableNames:'ShowRemoved LastSelectionConditionString'
 	poolDictionaries:''
 	category:'Interface-Browsers-ChangeSet'
@@ -173,15 +174,16 @@
     ^#()
 
     "
-        Tools::ChangeSetBrowser 
+         Tools::ChangeSetBrowser2 
             confirmChanges: 
-                (ChangeSet current copyFrom: ChangeSet current size - 10 to: ChangeSet current size)
+                (ChangeSet current copyFrom: ((ChangeSet current size - 10) max: 1) to: ChangeSet current size)
             label: 'Last 10 changes...'
     "
 
     "Created: / 08-11-2010 / 17:59:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (format): / 01-07-2011 / 16:34:06 / cg"
     "Modified: / 11-07-2011 / 16:18:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 19-07-2011 / 09:38:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 open
@@ -528,8 +530,8 @@
      the UIPainter may not be able to read the specification."
 
     "
-     UIPainter new openOnClass:Tools::ChangeSetBrowser andSelector:#windowSpecWithoutToolbar
-     Tools::ChangeSetBrowser new openInterface:#windowSpecWithoutToolbar
+     UIPainter new openOnClass:Tools::ChangeSetBrowser2 andSelector:#windowSpecWithoutToolbar
+     Tools::ChangeSetBrowser2 new openInterface:#windowSpecWithoutToolbar
     "
 
     <resource: #canvas>
@@ -561,17 +563,40 @@
                     specHolder: navigatorSpecHolder
                     createNewBuilder: false
                   )
-                 (TextEditorSpec
-                    name: 'SourceView'
-                    model: sourceHolder
-                    hasHorizontalScrollBar: true
-                    hasVerticalScrollBar: true
-                    acceptCallBack: accept:
-                    showingCode: true
-                    allowDoIt: true
-                    hasKeyboardFocusInitially: false
-                    viewClassName: 'Tools::CodeView2'
-                    postBuildCallback: postBuildSourceView:
+                 (SubCanvasSpec
+                    name: 'TextDiffTool'
+                    hasHorizontalScrollBar: false
+                    hasVerticalScrollBar: false
+                    majorKey: #'Tools::TextDiffTool'
+                    minorKey: windowSpecForEmbedding
+                    subAspectHolders: 
+                   (Array
+                      
+                     (SubChannelInfoSpec
+                        subAspect: classHolder
+                        aspect: classHolder
+                      ) 
+                     (SubChannelInfoSpec
+                        subAspect: labelAHolder
+                        aspect: labelAHolder
+                      )
+                      
+                     (SubChannelInfoSpec
+                        subAspect: labelBHolder
+                        aspect: labelBHolder
+                      ) 
+                     (SubChannelInfoSpec
+                        subAspect: textAHolder
+                        aspect: changeSourceHolder
+                      )
+                      
+                     (SubChannelInfoSpec
+                        subAspect: textBHolder
+                        aspect: imageSourceHolder
+                      )
+                    )
+                    createNewApplication: true
+                    createNewBuilder: true
                   )
                  )
                
@@ -1006,6 +1031,16 @@
     "Modified: / 17-03-2011 / 22:32:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+changeSourceHolder
+    <resource: #uiAspect>
+    changeSourceHolder isNil ifTrue: [ 
+        changeSourceHolder := nil asValue.
+    ].
+    ^ changeSourceHolder.
+
+    "Modified: / 19-07-2011 / 11:54:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 changesetHolder
     "return/create the 'changesetHolder' value holder (automatically generated)"
 
@@ -1044,6 +1079,30 @@
     ^ classHolder
 !
 
+imageSourceHolder
+    <resource: #uiAspect>
+    imageSourceHolder isNil ifTrue: [ 
+        imageSourceHolder := nil asValue.
+    ].
+    ^ imageSourceHolder.
+
+    "Created: / 19-07-2011 / 11:54:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+labelAHolder
+
+    ^'Change' asValue
+
+    "Created: / 19-07-2011 / 11:46:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+labelBHolder
+
+    ^'Image' asValue
+
+    "Created: / 19-07-2011 / 11:46:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 list1GeneratorHolder
     "return/create the 'list1GeneratorHolder' value holder (automatically generated)"
 
@@ -1129,25 +1188,6 @@
     showRemovedAspect := aValueHolder.
 !
 
-sourceHolder
-    <resource: #uiAspect>
-
-    "automatically generated by UIPainter ..."
-
-    "*** the code below creates a default model when invoked."
-    "*** (which may not be the one you wanted)"
-    "*** Please change as required and accept it in the browser."
-    "*** (and replace this comment by something more useful ;-)"
-
-    sourceHolder isNil ifTrue:[
-        sourceHolder := '' asValue.
-"/ if your app needs to be notified of changes, uncomment one of the lines below:
-"/       sourceHolder addDependent:self.
-"/       sourceHolder onChangeSend:#sourceHolderChanged to:self.
-    ].
-    ^ sourceHolder.
-!
-
 titleHolder
     "return/create the 'titleHolder' value holder (automatically generated)"
     
@@ -1173,11 +1213,13 @@
     | change |
     change := self theSingleSelectedChange.
     change notNil ifTrue:[
-        sourceHolder value: change source. classHolder value: change changeClass.
+        self classHolder value: change changeClass.
+        changeSourceHolder value: change changeSource. 
+        imageSourceHolder value: change imageSource.
         self showSource: true
     ] ifFalse:[
         self showSource: false.
-        sourceHolder value: ''.
+        changeSourceHolder value: ''.
     ].
 
     "Created: / 24-10-2009 / 19:49:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1591,7 +1633,7 @@
 !ChangeSetBrowser2 class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.3 2011-07-11 16:06:17 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.4 2011-07-19 12:33:19 vrany Exp $'
 !
 
 version_SVN