- Tools::ChangeSetSpec jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 03 Aug 2012 16:14:04 +0100
branchjv
changeset 12276 415495417f39
parent 12275 a416cf8a4b50
child 12277 46aea706fdb7
- Tools::ChangeSetSpec added: #changeSet changed: #specClasses - Tools::ChangeSetSelectionDialog added: #editorSpecForExplicit changed: #aspectSelectors #specLabelList category of: - Tools::ChangeSetDiffTool added: #canSaveMergedAs #fileMenuSaveMergedAs changed: #fileMenuOpen #mainMenu #updateViews - Tools::ChangeSetDiffInfo changed: #isMerge - extensions ...
Tools__ChangeSetDiffInfo.st
Tools__ChangeSetDiffTool.st
Tools__ChangeSetSelectionDialog.st
Tools__ChangeSetSpec.st
libtool.rc
--- a/Tools__ChangeSetDiffInfo.st	Fri Aug 03 14:47:21 2012 +0100
+++ b/Tools__ChangeSetDiffInfo.st	Fri Aug 03 16:14:04 2012 +0100
@@ -129,7 +129,10 @@
 
 isMerge
 
-    ^specBase notNil and:[specMerge notNil]
+    ^
+"/    specBase notNil and:[
+        specMerge notNil
+"/    ]
 
     "Created: / 20-03-2012 / 10:23:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -154,5 +157,5 @@
 !ChangeSetDiffInfo class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: Tools__ChangeSetDiffInfo.st 7947 2012-03-20 16:59:54Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetDiffInfo.st 8036 2012-08-03 15:14:04Z vranyj1 $'
 ! !
--- a/Tools__ChangeSetDiffTool.st	Fri Aug 03 14:47:21 2012 +0100
+++ b/Tools__ChangeSetDiffTool.st	Fri Aug 03 16:14:04 2012 +0100
@@ -757,7 +757,7 @@
            (Menu
               (
                (MenuItem
-                  label: 'Open'
+                  label: 'Open...'
                   itemValue: fileMenuOpen
                   translateLabel: true
                   shortcutKey: Ctrlo
@@ -777,9 +777,16 @@
                 )
                (MenuItem
                   enabled: canSaveAsPatch
-                  label: 'Save as patch '
+                  label: 'Save As Patch '
                   itemValue: fileMenuSaveAsPatch
                   translateLabel: true
+                  isVisible: false
+                )
+               (MenuItem
+                  enabled: canSaveMergedAs
+                  label: 'Save Merged as... '
+                  itemValue: fileMenuSaveMergedAs
+                  translateLabel: true
                 )
                (MenuItem
                   label: '-'
@@ -1527,13 +1534,13 @@
         self textDiffToolHolder value isDiff3 ifFalse:[
             textDiffToolHolder value: self textDiff3Tool.
         ].
-        self mergeHolder value: self diffInfo isMerge.
+
     ] ifFalse:[
         self textDiffToolHolder value isDiff2 ifFalse:[
             textDiffToolHolder value: self textDiff2Tool.
         ].
-        self mergeHolder value: false.
-    ]
+    ].
+    self mergeHolder value: self diffInfo isMerge.
 
     "Created: / 20-03-2012 / 10:21:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -1589,13 +1596,18 @@
 
     | dlg info |
     dlg := OpenDialog new.
-    dlg diffInfo: LastDiffInfo.
+    info := LastDiffInfo.
+    info isNil ifTrue:[
+        info := ChangeSetDiffInfo new.
+        info changeSetMergedSpec: ChangeSetSpec changeSet
+    ].
+    dlg diffInfo: info.
     dlg open ifFalse:[^self].
     info := dlg diffInfo.
 
     ^self fileMenuOpenOnDiffInfo: info
 
-    "Modified: / 01-08-2012 / 15:53:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-08-2012 / 15:37:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 fileMenuOpenOnDiffInfo: info
@@ -1651,6 +1663,13 @@
     "Modified: / 05-12-2009 / 12:37:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+fileMenuSaveMergedAs
+
+    self halt.
+
+    "Modified: / 03-08-2012 / 15:39:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 listMenuBrowse
 
     | items |
@@ -1775,6 +1794,17 @@
     "Created: / 20-03-2012 / 14:55:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+canSaveMergedAs
+    "Returns true, if a merged file can be saved"
+
+    | info |
+    info := self diffInfo.
+    info isNil ifTrue:[^false].
+    ^info isMerge
+
+    "Created: / 03-08-2012 / 15:25:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 hasSelection
 
     ^[self selection notNil]
@@ -2003,7 +2033,7 @@
                         )
                        (SubCanvasSpec
                           name: 'SubCanvas3'
-                          layout: (LayoutFrame 30 0 30 0 0 1 0 1)
+                          layout: (LayoutFrame 30 0 30 0 0 1 -25 1)
                           level: 0
                           hasHorizontalScrollBar: false
                           hasVerticalScrollBar: false
@@ -2027,7 +2057,7 @@
                        )
                      
                     )
-                    extent: (Point 640 97)
+                    extent: (Point 640 123)
                   )
                  )
                
@@ -2538,8 +2568,12 @@
     info := ChangeSetDiffInfo new.
     info specA: self changeSetASpec.
     info specB: self changeSetBSpec.
-    info specBase: self changeSetBaseSpec.
-    info specMerge: self changeSetMergedSpec.
+    self changesetSpecBaseEnabledHolder value ifTrue:[
+        info specBase: self changeSetBaseSpec.
+    ].
+    changesetSpecMergedEnabledHolder value ifTrue:[
+        info specMerge: self changeSetMergedSpec.
+    ].
     ^info
 
     "Created: / 01-08-2012 / 15:41:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2685,5 +2719,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ChangeSetDiffTool.st 8035 2012-08-03 13:47:21Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetDiffTool.st 8036 2012-08-03 15:14:04Z vranyj1 $'
 ! !
--- a/Tools__ChangeSetSelectionDialog.st	Fri Aug 03 14:47:21 2012 +0100
+++ b/Tools__ChangeSetSelectionDialog.st	Fri Aug 03 16:14:04 2012 +0100
@@ -230,6 +230,37 @@
       )
 !
 
+editorSpecForExplicit
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:Tools::ChangeSetSelectionDialog andSelector:#editorSpecForExplicit
+     Tools::ChangeSetSelectionDialog new openInterface:#editorSpecForExplicit
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(FullSpec
+        name: 'editorSpecForExplicit'
+        window: 
+       (WindowSpec
+          label: 'ChangeSet Spec Editor'
+          name: 'ChangeSet Spec Editor'
+          min: (Point 10 10)
+          bounds: (Rectangle 0 0 441 310)
+        )
+        component: 
+       (SpecCollection
+          collection: ()
+        )
+      )
+!
+
 editorSpecForFile
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -352,11 +383,10 @@
      (if this app is embedded in a subCanvas)."
 
     ^ #(
+        #enabledHolder
         #specHolder
-        #enabledHolder
       ).
 
-    "Modified: / 19-03-2012 / 23:22:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetSelectionDialog methodsFor:'actions'!
@@ -477,13 +507,6 @@
 specLabelList
     <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 ;-)"
-
     specLabelList isNil ifTrue:[
         specLabelList := List withAll:
             (ChangeSetSpec specClasses collect:[:cls|cls label])
@@ -600,5 +623,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ChangeSetSelectionDialog.st 7946 2012-03-20 12:36:40Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetSelectionDialog.st 8036 2012-08-03 15:14:04Z vranyj1 $'
 ! !
--- a/Tools__ChangeSetSpec.st	Fri Aug 03 14:47:21 2012 +0100
+++ b/Tools__ChangeSetSpec.st	Fri Aug 03 16:14:04 2012 +0100
@@ -66,6 +66,13 @@
 
 !ChangeSetSpec class methodsFor:'instance creation'!
 
+changeSet
+
+    ^Explicit new
+
+    "Created: / 03-08-2012 / 15:35:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 changeSet: changeset
 
     ^Explicit new changeSet: changeset
@@ -112,10 +119,10 @@
 
 specClasses
 
-    ^self allSubclasses reject:[:e|e == Explicit]
+    ^self allSubclasses"/ reject:[:e|e == Explicit]
 
     "Created: / 05-07-2011 / 23:30:45 / jv"
-    "Modified: / 19-03-2012 / 23:57:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-08-2012 / 15:21:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetSpec methodsFor:'accessing'!
@@ -240,15 +247,17 @@
 editorSpecSelector
     "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
 
-    ^ self shouldImplement
+    ^ #editorSpecForExplicit
+
+    "Modified: / 03-08-2012 / 15:21:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 label
     "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
 
-    ^ 'Explictly specified changeset'
+    ^ 'ChangeSet object'
 
-    "Modified: / 19-03-2012 / 23:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 03-08-2012 / 15:19:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetSpec::Explicit methodsFor:'accessing'!
@@ -256,7 +265,13 @@
 changeSet
     "superclass Tools::ChangeSetSpec says that I am responsible to implement this method"
 
-    ^ self shouldImplement
+    ^changeSet isNil ifTrue:[changeSet := ChangeSet new].
+
+    "Modified: / 03-08-2012 / 15:22:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+changeSet:something
+    changeSet := something.
 ! !
 
 !ChangeSetSpec::Explicit methodsFor:'testing'!
@@ -370,5 +385,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__ChangeSetSpec.st 7947 2012-03-20 16:59:54Z vranyj1 $'
+    ^ '$Id: Tools__ChangeSetSpec.st 8036 2012-08-03 15:14:04Z vranyj1 $'
 ! !
--- a/libtool.rc	Fri Aug 03 14:47:21 2012 +0100
+++ b/libtool.rc	Fri Aug 03 16:14:04 2012 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 1998-2012\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.2.1\0"
-      VALUE "ProductDate", "Fri, 03 Aug 2012 13:52:21 GMT\0"
+      VALUE "ProductDate", "Fri, 03 Aug 2012 15:13:44 GMT\0"
     END
 
   END