eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Tools::ChangeSetDiffTool':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: ChangeSetDiffTool (in Tools)


Inheritance:

   Object
   |
   +--Model
      |
      +--ApplicationModel
         |
         +--Tools::ChangeSetDiffTool

Package:
stx:libtool
Category:
Interface-Diff
Version:
rev: 1.30 date: 2023/12/12 21:40:36
user: cg
file: Tools__ChangeSetDiffTool.st directory: libtool
module: stx stc-classLibrary: libtool

Description:


Tool for viewing/merging differences between two change sets


[instance variables:]

[class variables:]

copyright

Copyright (c) 2007-2010 Jan Vrany Copyright (c) 2009-2010 eXept Software AG Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Class protocol:

accessing
o  autoMoveToNextConflict

o  autoMoveToNextConflict: aBoolean

accessing-defaults
o  versionAColor

o  versionBColor

o  versionBaseColor

o  versionNotPresentText

image specs
o  mergeDiff3AToMergedArrow30x30

o  mergeDiff3BToMergedArrow30x30

o  mergeDiff3BaseToAArrow30x30

o  mergeDiff3BaseToBArrow30x30

o  versionA24x24

o  versionB24x24

o  versionBase24x24

o  versionMerged24x24

interface opening
o  open
(comment from inherited method)
create an instance of the application and open its view.
Sorry, but for visualworks compatibility, the builder is returned,
not the application instance

interface specs
o  labelDiff2Spec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#labelDiff2Spec
     Tools::ChangeSetDiffTool new openInterface:#labelDiff2Spec

o  labelDiff3Spec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#labelDiff3Spec
     Tools::ChangeSetDiffTool new openInterface:#labelDiff3Spec

o  labelMergeSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#labelMergeSpec
     Tools::ChangeSetDiffTool new openInterface:#labelMergeSpec

o  labelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:SVN::DiffBrowser andSelector:#labelSpec
     SVN::DiffBrowser new openInterface:#labelSpec

o  oneColumnNavigatorSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#oneColumnNavigatorSpec
     Tools::ChangeSetDiffTool new openInterface:#oneColumnNavigatorSpec

o  twoColumnNavigatorSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#twoColumnNavigatorSpec
     Tools::ChangeSetDiffTool new openInterface:#twoColumnNavigatorSpec

o  windowSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#windowSpec
     Tools::ChangeSetDiffTool new openInterface:#windowSpec
     Tools::ChangeSetDiffTool open

interface specs - labels
o  mergeALabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#mergeALabelSpec
     Tools::ChangeSetDiffTool new openInterface:#mergeALabelSpec

o  mergeBLabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#mergeBLabelSpec
     Tools::ChangeSetDiffTool new openInterface:#mergeBLabelSpec

o  mergeBaseLabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#mergeBaseLabelSpec
     Tools::ChangeSetDiffTool new openInterface:#mergeBaseLabelSpec

o  mergeMergeLabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#mergeMergeLabelSpec
     Tools::ChangeSetDiffTool new openInterface:#mergeMergeLabelSpec

o  versionALabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#versionALabelSpec
     Tools::ChangeSetDiffTool new openInterface:#versionALabelSpec

o  versionBLabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#versionBLabelSpec
     Tools::ChangeSetDiffTool new openInterface:#versionBLabelSpec

o  versionBaseLabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#versionBaseLabelSpec
     Tools::ChangeSetDiffTool new openInterface:#versionBaseLabelSpec

o  versionMergeLabelSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:Tools::ChangeSetDiffTool andSelector:#versionMergeLabelSpec
     Tools::ChangeSetDiffTool new openInterface:#versionMergeLabelSpec

menu specs
o  listMenu
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:Tools::ChangeSetDiffTool andSelector:#listMenu
     (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetDiffTool listMenu)) startUp

o  listMenuDiff
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:Tools::ChangeSetDiffTool andSelector:#listMenuDiff
     (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetDiffTool listMenuDiff)) startUp

o  listMenuMerge
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:Tools::ChangeSetDiffTool andSelector:#listMenuMerge
     (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetDiffTool listMenuMerge)) startUp

o  mainMenu
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:Tools::ChangeSetDiffTool andSelector:#mainMenu
     (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetDiffTool mainMenu)) startUp

o  toolbarMenu
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:Tools::ChangeSetDiffTool andSelector:#toolbarMenu
     (Menu new fromLiteralArrayEncoding:(Tools::ChangeSetDiffTool toolbarMenu)) startUp

plugIn spec
o  aspectSelectors
This resource specification was automatically generated
by the UIPainter of ST/X.


Instance protocol:

accessing
o  beSingleColumn

o  beTwoColumn

o  beTwoColumn: aBoolean

o  codeAspect

o  diffInfo

o  diffset

o  diffset: aDiff3Set

o  patchset

o  selection

o  showCopyrightMethodDiffs

o  showCopyrightMethodDiffs: aBoolean

o  showVersionMethodDiffs

o  showVersionMethodDiffs: aBoolean

o  title: aString

accessing-menus
o  listMenu

accessing-selection
o  selection: entry

o  theFirstSelectedEntry
selection might be an Iterator

o  theLastSelectedEntry
selection might be an Iterator

o  theSingleSelectedObject

accessing-subApps
o  textDiff2Tool

o  textDiff3Tool

accessing-subviews
o  labelsView: something

o  list1View: aView

o  list2View: aView

o  navigatorAndDiffPanelView: something

aspects
o  autoMoveToNextConflictHolder

o  canSaveHolder
return/create the 'canSaveHolder' value holder (automatically generated)

o  codeAspectHolder
return/create the valueHolder 'codeAspectHolder'

o  diffInfoHolder
return/create the 'diffInfoHolder' value holder (automatically generated)

o  diffInfoHolder: something
set the 'diffInfoHolder' value holder (automatically generated)

o  diffListEntryLabelGeneratorAspect

o  diffsetHolder
return/create the 'diffsetHolder' value holder (automatically generated)

o  diffsetHolder: aValueHolder
set the 'diffsetHolder' value holder (automatically generated)

o  diffsetHolderPrivate
return/create the 'diffSetHolderPrivate' value holder (automatically generated)

o  firstColSelectionHolder
return/create the valueHolder 'firstColSelectionHolder'

o  hasDiffsetHolder
return/create the 'hasDiffsetHolder' value holder (automatically generated)

o  hasDiffsetHolder: something
set the 'hasDiffsetHolder' value holder (automatically generated)

o  hasSelectionHolder

o  highlightConflictsHolder
return/create the 'highlightConflictsHolder' value holder (automatically generated)

o  highlightConflictsHolder: something
set the 'highlightConflictsHolder' value holder (automatically generated)

o  infoPanel

o  labelSpecHolder
return/create the 'labelSpecHolder' value holder (automatically generated)

o  listHolder
return/create the 'listHolder' value holder (automatically generated)

o  listMenuHolder
diffMenuHolder := ValueHolder with:self listMenu

o  mergeDataHolder
return/create the 'mergeDataHolder' value holder (automatically generated)

o  mergeDataHolder: something
set the 'mergeDataHolder' value holder (automatically generated)

o  mergeHolder
return/create the 'mergeHolder' value holder (automatically generated)

o  mergeHolder: something
set the 'mergeHolder' value holder (automatically generated)

o  mergeSavedHolder
return/create the 'mergeSavedHolder' value holder (automatically generated)

o  nameAspect

o  navigatorPanelSpecHolder

o  secondColSelectionHolder
return/create the valueHolder 'firstColSelectionHolder'

o  selectionHolder
return/create the 'selectionHolder' value holder (automatically generated)

o  showCopyrightMethodDiffsHolder
return/create the 'showCopyrightMethodDiffsHolder' value holder (automatically generated)

o  showCopyrightMethodDiffsHolder: something
set the 'showCopyrightMethodDiffsHolder' value holder (automatically generated)

o  showVersionMethodDiffsHolder
return/create the 'showVersionMethodDiffsHolder' value holder (automatically generated)

o  showVersionMethodDiffsHolder: something
set the 'showVersionMethodDiffsHolder' value holder (automatically generated)

o  singleSelectionHolder
return/create the 'singleSelectionHolder' value holder (automatically generated)

o  textDiffToolHolder
return/create the 'textDiffToolHolder' value holder (automatically generated)

o  textDiffToolHolder: something
set the 'textDiffToolHolder' value holder (automatically generated)

o  textDiffToolWindowSpecHolder
return/create the 'textDiffToolWindowSpecHolder' value holder (automatically generated)

o  textDiffToolWindowSpecHolder: something
set the 'textDiffToolWindowSpecHolder' value holder (automatically generated)

o  titleHolder
return/create the 'titleHolder' value holder (automatically generated)

o  versionALabelHolder

o  versionATextHolder

o  versionBLabelHolder

o  versionBTextHolder

o  versionBaseLabelHolder

o  versionBaseTextHolder

change & update
o  diffInfoChanged

o  diffsetChanged

o  mergeDataChanged
Resolution has been changed...

o  mergeDataHolderChanged

o  selectionChanged
Maybe, there was no merge data beforehand. In that case, update

o  update: aspect with: param from: sender
Resolution has been changed...

o  updateListMenu
Modified (format): / 12-12-2023 / 22:40:23 / exept MBP

o  updateViews

hooks
o  commonPostOpen
(comment from inherited method)
a common hook for postOpenWith:, postOpenAsSubcanvasWith: and postOpenAsDialogWith:.
Notice: redefined methods should do a super send.
otherwise resources might be undefined.

initialization
o  initialize
defaultValue here

menu actions
o  changesetMenuBrowse: changeset

o  changesetMenuBrowseA

o  changesetMenuBrowseB

o  changesetMenuBrowseBase

o  changesetMenuBrowseMerge

o  fileMenuOpen

o  fileMenuOpenOnDiffBetween: a and: b

o  fileMenuOpenOnDiffInfo: info

o  fileMenuSave

o  fileMenuSaveAs

o  fileMenuSaveAs: aFilename

o  fileMenuSaveAs: aFilename format: format

o  fileMenuSaveAsPatch

o  fileMenuSaveMergedAs

o  listMenuBrowse
must do collect because selection is an iterator..."

o  listMenuInspect

o  listMenuLoadVersionA

o  listMenuLoadVersionB

o  listMenuMergeUsingA

o  listMenuMergeUsingB

o  listMenuMergeUsingBase

o  listMenuOpenInExternal: command

o  menuMoveDown

o  menuMoveDownConflict

o  menuMoveDownToSuchThat: aBlock

o  menuMoveTo: entry
self window sensor pushUserEvent:#selection: for: self withArgument: entry

o  menuMoveUp

o  menuMoveUpConflict

o  menuMoveUpToSuchThat: aBlock

private
o  labelHeight: height

queries
o  canBrowse
^[self selection notNil
and:[self selection versionA notNil]]

o  canSave
Returns true, if a merged file can be saved

o  canSaveAs
Returns true, if a merged file can be saved

o  canSaveAsPatch

o  canSaveMergedAs
Returns true, if a merged file can be saved

o  hasSelection
aspect holding true if a change is selected

o  isOneColumnBrowser

startup & release
o  closeRequest
Warn about unsaved merge..."

testing
o  isDiff2

o  isDiff2Or3

o  isDiff3

o  isMerge


Private classes:

    OpenDialog

Examples:


Starting the application:
  Tools::ChangeSetDiffTool open

Show differences between CVS HEAD and SVN jv-branch NewSystemBrowser:
  | cvsCs svnCs |

  cvsCs := ChangeSet fromFile:'/home/jv/Private/Projects/SmalltalkX/sources/branches/exept@HEAD/stx/libtool/Tools__NewSystemBrowser.st'.
  svnCs := ChangeSet fromFile:'/home/jv/Private/Projects/SmalltalkX/sources/branches/jv2/build/stx/libtool/Tools__NewSystemBrowser.st'.

  Tools::ChangeSetDiffTool new
      open;
      fileMenuOpenOnDiffBetween: cvsCs and: svnCs.

Show differences between CVS HEAD and SVN jv-branch and base version of NewSystemBrowser:
  | cvsBaseCs cvsCs svnCs |

  cvsBaseCs := ChangeSet fromFile:'/home/jv/Private/Projects/SmalltalkX/sources/branches/exept@2012-01-01/stx/libtool/Tools__NewSystemBrowser.st'.
  cvsCs := ChangeSet fromFile:'/home/jv/Private/Projects/SmalltalkX/sources/branches/exept@HEAD/stx/libtool/Tools__NewSystemBrowser.st'.
  svnCs := ChangeSet fromFile:'/home/jv/Private/Projects/SmalltalkX/sources/branches/jv2/build/stx/libtool/Tools__NewSystemBrowser.st'.

  Tools::ChangeSetDiffTool new
      open;
      fileMenuOpenOnDiffBetween: cvsCs and: svnCs base: cvsBaseCs



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 27 Jul 2024 07:45:40 GMT