Tools__TextDiff3Tool.st
branchjv
changeset 12193 c0bdf75cfde5
parent 12190 2a77dea2eceb
child 12198 414e7b69ecda
equal deleted inserted replaced
12192:15f47901fb64 12193:c0bdf75cfde5
    12 "{ Package: 'stx:libtool' }"
    12 "{ Package: 'stx:libtool' }"
    13 
    13 
    14 "{ NameSpace: Tools }"
    14 "{ NameSpace: Tools }"
    15 
    15 
    16 TextDiffTool subclass:#TextDiff3Tool
    16 TextDiffTool subclass:#TextDiff3Tool
    17 	instanceVariableNames:'mergeHolder'
    17 	instanceVariableNames:'labelMergedHolder textMergedHolder mergeHolder'
    18 	classVariableNames:''
    18 	classVariableNames:''
    19 	poolDictionaries:''
    19 	poolDictionaries:''
    20 	category:'Interface-Diff'
    20 	category:'Interface-Diff'
    21 !
    21 !
    22 
    22 
   134             )
   134             )
   135            )
   135            )
   136          
   136          
   137         )
   137         )
   138       )
   138       )
       
   139 !
       
   140 
       
   141 mergeSpec
       
   142     "This resource specification was automatically generated
       
   143      by the UIPainter of ST/X."
       
   144 
       
   145     "Do not manually edit this!! If it is corrupted,
       
   146      the UIPainter may not be able to read the specification."
       
   147 
       
   148     "
       
   149      UIPainter new openOnClass:Tools::TextDiff3Tool andSelector:#mergeSpec
       
   150      Tools::TextDiff3Tool new openInterface:#mergeSpec
       
   151     "
       
   152 
       
   153     <resource: #canvas>
       
   154 
       
   155     ^ 
       
   156      #(FullSpec
       
   157         name: mergeSpec
       
   158         window: 
       
   159        (WindowSpec
       
   160           label: 'Merge view'
       
   161           name: 'Merge view'
       
   162           min: (Point 10 10)
       
   163           bounds: (Rectangle 0 0 782 506)
       
   164         )
       
   165         component: 
       
   166        (SpecCollection
       
   167           collection: (
       
   168            (VariableVerticalPanelSpec
       
   169               name: 'DiffAndMergePanel'
       
   170               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
       
   171               component: 
       
   172              (SpecCollection
       
   173                 collection: (
       
   174                  (UISubSpecification
       
   175                     name: 'DiffView'
       
   176                     minorKey: diff3Spec
       
   177                   )
       
   178                  (TransparentBoxSpec
       
   179                     name: 'MergeView'
       
   180                     component: 
       
   181                    (SpecCollection
       
   182                       collection: (
       
   183                        (UISubSpecification
       
   184                           name: 'MergeLabel'
       
   185                           layout: (LayoutFrame 0 0 0 0 0 1 30 0)
       
   186                           minorKey: versionMergedLabelSpec
       
   187                         )
       
   188                        (TextEditorSpec
       
   189                           name: 'MergeCode'
       
   190                           layout: (LayoutFrame 0 0 30 0 0 1 0 1)
       
   191                           model: textMergedHolder
       
   192                           hasHorizontalScrollBar: true
       
   193                           hasVerticalScrollBar: true
       
   194                           hasKeyboardFocusInitially: false
       
   195                           viewClassName: 'Tools::CodeView2'
       
   196                         )
       
   197                        )
       
   198                      
       
   199                     )
       
   200                   )
       
   201                  )
       
   202                
       
   203               )
       
   204               handles: (Any 0.5 1.0)
       
   205             )
       
   206            )
       
   207          
       
   208         )
       
   209       )
       
   210 
       
   211     "Modified: / 17-03-2012 / 12:37:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   212 ! !
       
   213 
       
   214 !TextDiff3Tool class methodsFor:'interface specs - labels'!
       
   215 
       
   216 versionMergedLabelSpec
       
   217     "This resource specification was automatically generated
       
   218      by the UIPainter of ST/X."
       
   219 
       
   220     "Do not manually edit this!! If it is corrupted,
       
   221      the UIPainter may not be able to read the specification."
       
   222 
       
   223     "
       
   224      UIPainter new openOnClass:Tools::TextDiff3Tool andSelector:#versionMergedLabelSpec
       
   225      Tools::TextDiff3Tool new openInterface:#versionMergedLabelSpec
       
   226     "
       
   227 
       
   228     <resource: #canvas>
       
   229 
       
   230     ^ 
       
   231      #(FullSpec
       
   232         name: versionMergedLabelSpec
       
   233         window: 
       
   234        (WindowSpec
       
   235           label: 'Merge'
       
   236           name: 'Merge'
       
   237           min: (Point 10 10)
       
   238           bounds: (Rectangle 0 0 774 30)
       
   239         )
       
   240         component: 
       
   241        (SpecCollection
       
   242           collection: (
       
   243            (LabelSpec
       
   244               label: 'versionMerged24x24'
       
   245               name: 'VersionMergedIcon'
       
   246               layout: (LayoutFrame 0 0 -12 0.5 27 0 12 0.5)
       
   247               hasCharacterOrientedLabel: false
       
   248               translateLabel: true
       
   249             )
       
   250            (LabelSpec
       
   251               label: 'Merge'
       
   252               name: 'VersionMergeLabel'
       
   253               layout: (LayoutFrame 30 0 5 0 -350 1 0 1)
       
   254               translateLabel: true
       
   255               labelChannel: labelMergedHolder
       
   256               resizeForLabel: true
       
   257               adjust: left
       
   258               useDynamicPreferredWidth: true
       
   259               usePreferredWidth: true
       
   260             )
       
   261            (HorizontalPanelViewSpec
       
   262               name: 'HorizontalPanel1'
       
   263               layout: (LayoutFrame -350 1 0 0 0 1 0 1)
       
   264               horizontalLayout: center
       
   265               verticalLayout: center
       
   266               horizontalSpace: 3
       
   267               verticalSpace: 3
       
   268               component: 
       
   269              (SpecCollection
       
   270                 collection: (
       
   271                  (ActionButtonSpec
       
   272                     label: 'Merge'
       
   273                     name: 'MergeAuto'
       
   274                     translateLabel: true
       
   275                     model: doMergeAuto
       
   276                     extent: (Point 80 22)
       
   277                   )
       
   278                  (ActionButtonSpec
       
   279                     label: 'Use Base'
       
   280                     name: 'MergeBase'
       
   281                     translateLabel: true
       
   282                     model: doMergeUsingBase
       
   283                     extent: (Point 80 22)
       
   284                   )
       
   285                  (ActionButtonSpec
       
   286                     label: 'Use A'
       
   287                     name: 'MergeUsingA'
       
   288                     translateLabel: true
       
   289                     model: doMergeUsingA
       
   290                     extent: (Point 80 22)
       
   291                   )
       
   292                  (ActionButtonSpec
       
   293                     label: 'Use B'
       
   294                     name: 'MergeUsingB'
       
   295                     translateLabel: true
       
   296                     model: doMergeUsingB
       
   297                     extent: (Point 80 22)
       
   298                   )
       
   299                  )
       
   300                
       
   301               )
       
   302             )
       
   303            )
       
   304          
       
   305         )
       
   306       )
   139 ! !
   307 ! !
   140 
   308 
   141 !TextDiff3Tool class methodsFor:'plugIn spec'!
   309 !TextDiff3Tool class methodsFor:'plugIn spec'!
   142 
   310 
   143 aspectSelectors
   311 aspectSelectors
   163         #textCHolder
   331         #textCHolder
   164       ).
   332       ).
   165 
   333 
   166 ! !
   334 ! !
   167 
   335 
       
   336 !TextDiff3Tool methodsFor:'accessing'!
       
   337 
       
   338 beDiff3Tool
       
   339 
       
   340     self mergeHolder value: false
       
   341 
       
   342     "Created: / 17-03-2012 / 12:23:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   343 !
       
   344 
       
   345 beMergeTool
       
   346 
       
   347     self mergeHolder value: true
       
   348 
       
   349     "Created: / 17-03-2012 / 12:23:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   350 ! !
       
   351 
       
   352 !TextDiff3Tool methodsFor:'actions'!
       
   353 
       
   354 doMergeAuto
       
   355     self halt.
       
   356 
       
   357     "Created: / 17-03-2012 / 12:55:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   358 !
       
   359 
       
   360 doMergeUsingA
       
   361 
       
   362     self textMergedHolder value: self textAHolder value
       
   363 
       
   364     "Created: / 17-03-2012 / 12:55:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   365 !
       
   366 
       
   367 doMergeUsingB
       
   368 
       
   369     self textMergedHolder value: self textBHolder value
       
   370 
       
   371     "Created: / 17-03-2012 / 12:55:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   372 !
       
   373 
       
   374 doMergeUsingBase
       
   375 
       
   376     self textMergedHolder value: self textCHolder value
       
   377 
       
   378     "Created: / 17-03-2012 / 12:55:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   379 ! !
       
   380 
   168 !TextDiff3Tool methodsFor:'aspects'!
   381 !TextDiff3Tool methodsFor:'aspects'!
   169 
   382 
   170 mergeHolder
   383 mergeHolder
   171     "return/create the 'mergeHolder' value holder (automatically generated)"
   384     "return/create the 'mergeHolder' value holder (automatically generated)"
   172 
   385 
   194     ].
   407     ].
   195     newValue := mergeHolder value.
   408     newValue := mergeHolder value.
   196     oldValue ~~ newValue ifTrue:[
   409     oldValue ~~ newValue ifTrue:[
   197         self update:#value with:newValue from:mergeHolder.
   410         self update:#value with:newValue from:mergeHolder.
   198     ].
   411     ].
       
   412 ! !
       
   413 
       
   414 !TextDiff3Tool methodsFor:'aspects-versions'!
       
   415 
       
   416 labelMergedHolder
       
   417     "return/create the 'labelMergedHolder' value holder (automatically generated)"
       
   418 
       
   419     labelMergedHolder isNil ifTrue:[
       
   420         labelMergedHolder := ValueHolder with:'Merge'.
       
   421     ].
       
   422     ^ labelMergedHolder
       
   423 
       
   424     "Modified: / 17-03-2012 / 12:36:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   425 !
       
   426 
       
   427 labelMergedHolder:something
       
   428     "set the 'labelMergedHolder' value holder (automatically generated)"
       
   429 
       
   430     labelMergedHolder := something.
       
   431 !
       
   432 
       
   433 textMergedHolder
       
   434     "return/create the 'textMergedHolder' value holder (automatically generated)"
       
   435 
       
   436     textMergedHolder isNil ifTrue:[
       
   437         textMergedHolder := ValueHolder new.
       
   438     ].
       
   439     ^ textMergedHolder
       
   440 !
       
   441 
       
   442 textMergedHolder:something
       
   443     "set the 'textMergedHolder' value holder (automatically generated)"
       
   444 
       
   445     textMergedHolder := something.
   199 ! !
   446 ! !
   200 
   447 
   201 !TextDiff3Tool methodsFor:'change & update'!
   448 !TextDiff3Tool methodsFor:'change & update'!
   202 
   449 
   203 update:something with:aParameter from:changedObject
   450 update:something with:aParameter from:changedObject
   275 ! !
   522 ! !
   276 
   523 
   277 !TextDiff3Tool class methodsFor:'documentation'!
   524 !TextDiff3Tool class methodsFor:'documentation'!
   278 
   525 
   279 version_SVN
   526 version_SVN
   280     ^ '$Id: Tools__TextDiff3Tool.st 7936 2012-03-16 22:44:50Z vranyj1 $'
   527     ^ '$Id: Tools__TextDiff3Tool.st 7939 2012-03-17 13:13:35Z vranyj1 $'
   281 ! !
   528 ! !