--- a/Diff3.st Tue Apr 03 18:37:50 2012 +0100
+++ b/Diff3.st Wed Apr 04 01:09:32 2012 +0100
@@ -144,6 +144,19 @@
file2: anObject
file2 := anObject
+!
+
+fileAt: side
+ "Given a side (#left, #original or #right), returns the
+ corresponding file"
+
+ side == #left ifTrue:[ ^ file0 ].
+ side == #original ifTrue:[ ^ file1 ].
+ side == #right ifTrue:[ ^ file2 ].
+
+ self error:'Invalid parameter, must be one of #left, #original or #right'.
+
+ "Created: / 03-04-2012 / 23:30:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!Diff3 methodsFor:'merging'!
@@ -476,6 +489,31 @@
^ aCollection copyFrom: offset to: offset + length - 1.
!
+extractFrom: aCollection offset: lineOffset
+ "Given a text and lineOffset withing a chunk, return the line"
+ ^ aCollection at: offset + lineOffset - 1
+
+ "Created: / 04-04-2012 / 00:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+extractFromDiff: diff
+
+ ^self extractFrom: (diff fileAt: side)
+
+ "Created: / 03-04-2012 / 23:33:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+extractResolution
+
+ side == #left ifTrue:[ ^ #MergedUsingA ].
+ side == #original ifTrue:[ ^ #MergedUsingBase ].
+ side == #right ifTrue:[ ^ #MergedUsingB ].
+
+ self error:'Should not be reached'
+
+ "Created: / 04-04-2012 / 00:26:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
printOn: aStream
aStream nextPut: $(.
super printOn: aStream.
@@ -705,5 +743,5 @@
!Diff3 class methodsFor:'documentation'!
version_SVN
- ^ '$Id: Diff3.st 7948 2012-03-21 01:52:35Z vranyj1 $'
+ ^ '$Id: Diff3.st 7965 2012-04-04 00:09:32Z vranyj1 $'
! !
--- a/FileBrowserV3.st Tue Apr 03 18:37:50 2012 +0100
+++ b/FileBrowserV3.st Wed Apr 04 01:09:32 2012 +0100
@@ -12,7 +12,7 @@
"{ Package: 'stx:libtool' }"
FileBrowserV2 subclass:#FileBrowserV3
- instanceVariableNames:''
+ instanceVariableNames:'bookmarkBarVisibleHolder bookmarkHolder'
classVariableNames:''
poolDictionaries:''
category:'Interface-Tools-File'
@@ -34,6 +34,427 @@
"
! !
+!FileBrowserV3 class methodsFor:'help specs'!
+
+helpSpec
+ "This resource specification was automatically generated
+ by the UIHelpTool of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIHelpTool may not be able to read the specification."
+
+ "
+ UIHelpTool openOnClass:FileBrowserV3
+ "
+
+ <resource: #help>
+
+ ^ super helpSpec addPairsFrom:#(
+
+#editFile
+''
+
+#fileIn
+''
+
+)
+! !
+
+!FileBrowserV3 class methodsFor:'interface specs'!
+
+windowSpec
+ "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:FileBrowserV3 andSelector:#windowSpec
+ FileBrowserV3 new openInterface:#windowSpec
+ FileBrowserV3 open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: FileBrowser
+ name: FileBrowser
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 800 600)
+ menu: mainMenu
+ icon: defaultIcon
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (ViewSpec
+ name: 'ToolbarBox'
+ layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+ level: 0
+ visibilityChannel: toolBarVisibleHolder
+ component:
+ (SpecCollection
+ collection: (
+ (ActionButtonSpec
+ label: 'hideToolBarIcon'
+ name: 'HideToolBarButton'
+ layout: (LayoutFrame 0 0 0 0 13 0 40 0)
+ activeHelpKey: hideToolBar
+ hasCharacterOrientedLabel: false
+ translateLabel: true
+ model: hideToolbar
+ postBuildCallback: hideToolBarButtonCreated:
+ )
+ (MenuPanelSpec
+ name: 'ToolBar'
+ layout: (LayoutFrame 13 0 0 0 0 1 40 0)
+ level: 1
+ menu: toolBarMainMenu
+ textDefault: true
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'BookmarkBar'
+ layout: (LayoutFrame 0 0 40 0 0 1 66 0)
+ visibilityChannel: bookmarkBarVisibleHolder
+ component:
+ (SpecCollection
+ collection: (
+ (ActionButtonSpec
+ label: 'hideToolBarIcon'
+ name: 'Button1'
+ layout: (LayoutFrame 0 0 0 0 13 0 0 1)
+ activeHelpKey: hideToolBar
+ hasCharacterOrientedLabel: false
+ translateLabel: true
+ model: hideBookmarkBar
+ )
+ (SubCanvasSpec
+ name: 'Bookmarks'
+ layout: (LayoutFrame 13 0 0 0 0 1 0 1)
+ level: 1
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ miniScrollerHorizontal: false
+ majorKey: BookmarkBar
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: bookmarkHolder
+ aspect: bookmarkHolder
+ )
+ (SubChannelInfoSpec
+ subAspect: bookmarksHolder
+ aspect: bookmarkListHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ )
+ (ViewSpec
+ name: 'FilenameEntryFieldBox'
+ layout: (LayoutFrame 0 0 67 0 0 1 92 0)
+ level: 0
+ visibilityChannel: filenameEntryFieldVisibleHolder
+ component:
+ (SpecCollection
+ collection: (
+ (ActionButtonSpec
+ label: 'hideFilenameEntryFieldIcon'
+ name: 'HideFilenameEntryFieldButton'
+ layout: (LayoutFrame 0 0 0 0 13 0 0 1)
+ activeHelpKey: hideFilenameEntryField
+ hasCharacterOrientedLabel: false
+ translateLabel: true
+ model: hideFilenameEntryField
+ postBuildCallback: hideFilenameEntryFieldButtonCreated:
+ )
+ (HorizontalPanelViewSpec
+ name: 'HorizontalPanel1'
+ layout: (LayoutFrame 13 0.0 0 0.0 0 1.0 0 1.0)
+ level: 1
+ horizontalLayout: leftFit
+ verticalLayout: fit
+ horizontalSpace: 3
+ verticalSpace: 3
+ component:
+ (SpecCollection
+ collection: (
+ (ComboListSpec
+ name: 'ComboList1'
+ visibilityChannel: driveSelectorVisible
+ model: selectedDeviceDrive
+ comboList: listOfDeviceDrives
+ useIndex: false
+ hidePullDownMenuButton: false
+ extent: (Point 53 23)
+ )
+ (VariableHorizontalPanelSpec
+ name: 'VariableHorizontalPanel1'
+ level: 0
+ showHandle: true
+ component:
+ (SpecCollection
+ collection: (
+ (NonScrollableArbitraryComponentSpec
+ name: 'NonScrollableArbitraryComponent1'
+ component: FilenameEditFieldV2
+ postBuildCallback: postBuildEditField:
+ )
+ (ViewSpec
+ name: 'FilterBox'
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Filter:'
+ name: 'Filter'
+ layout: (LayoutFrame 0 0 0 0 40 0 0 1)
+ translateLabel: true
+ adjust: left
+ postBuildCallback: postBuildPathViewBox:
+ )
+ (ComboBoxSpec
+ name: 'FilterSelectionBox'
+ layout: (LayoutFrame 40 0 0 0 0 1 0 1)
+ model: filterModel
+ immediateAccept: true
+ acceptOnPointerLeave: false
+ comboList: filterListModel
+ )
+ )
+
+ )
+ postBuildCallback: postBuildPathViewBox:
+ )
+ )
+
+ )
+ handles: (Any 0.774936 1.0)
+ postBuildCallback: postBuildPathViewBox:
+ useDefaultExtent: true
+ )
+ )
+
+ )
+ postBuildCallback: postBuildPathViewBox:
+ )
+ )
+
+ )
+ )
+ (#'FileBrowserV2UISpecifications::PanelSpec'
+ name: 'BrowserBox'
+ layout: (LayoutFrame 0 0.0 92 0.0 0 1.0 -26 1.0)
+ level: 0
+ showHandle: true
+ snapMode: both
+ whichView: last
+ orientation: vertical
+ visibility: viewNoteBookApplicationHolder
+ component:
+ (SpecCollection
+ collection: (
+ (#'FileBrowserV2UISpecifications::PanelSpec'
+ name: 'HorizontalPanel'
+ level: 0
+ snapMode: both
+ whichView: first
+ orientation: horizontal
+ visibility: showDirectoryTree
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'DirectoryTreeBrowser'
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: DirectoryTreeBrowser
+ createNewApplication: true
+ createNewBuilder: true
+ postBuildCallback: postBuildDirectoryTree:
+ )
+ (SubCanvasSpec
+ name: 'DirectoryContentsBrowser'
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: DirectoryContentsBrowser
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.225 1.0)
+ )
+ (SubCanvasSpec
+ name: 'FileApplicationNoteBook'
+ tabable: false
+ hasHorizontalScrollBar: false
+ hasVerticalScrollBar: false
+ majorKey: FileApplicationNoteBook
+ createNewApplication: true
+ createNewBuilder: true
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ (ViewSpec
+ name: 'InfoBox'
+ layout: (LayoutFrame 0 0 -26 1 0 1 0 1)
+ level: 0
+ visibilityChannel: infoBarVisibleHolder
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'NotifyLabel'
+ name: 'NotifyLabel'
+ layout: (LayoutFrame 0 0 1 0.0 -220 1 1 1.0)
+ level: -1
+ translateLabel: true
+ labelChannel: notifyChannel
+ adjust: left
+ )
+ (LabelSpec
+ label: 'encoding'
+ name: 'EncodingLabel'
+ layout: (LayoutFrame -318 1 2 0.0 -235 1 0 1.0)
+ activeHelpKey: encodingLabel
+ level: 0
+ labelChannel: fileEncodingHolder
+ adjust: right
+ menu: encodingMenu
+ )
+ (LabelSpec
+ name: 'FileEncodingLockedLabel'
+ layout: (LayoutFrame -235 1 2 0.0 -220 1 20 0.0)
+ activeHelpKey: encodingLockedLabel
+ level: 0
+ labelChannel: fileEncodingLockImageHolder
+ adjust: right
+ menu: encodingMenu
+ )
+ (LabelSpec
+ label: 'Shown Files'
+ name: 'ShownFilesLabel'
+ layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
+ activeHelpKey: numberOfFiles
+ level: -1
+ translateLabel: true
+ labelChannel: shownFiles
+ adjust: right
+ )
+ (ViewSpec
+ name: 'ProgressIndicatorBox'
+ layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
+ level: -1
+ visibilityChannel: activityVisibilityChannel
+ component:
+ (SpecCollection
+ collection: (
+ (ProgressIndicatorSpec
+ name: 'ProgressIndicator1'
+ layout: (LayoutFrame 5 0.0 -7 0.5 -5 1.0 7 0.5)
+ backgroundColor: (Color 0.0 66.6666666666667 66.6666666666667)
+ isActivityIndicator: true
+ )
+ )
+
+ )
+ )
+ (LabelSpec
+ name: 'BusyLabel'
+ layout: (LayoutFrame -220 1 1 0.0 -65 1 1 1.0)
+ activeHelpKey: modeLabel
+ level: -1
+ visibilityChannel: busyLabelVisibleHolder
+ translateLabel: true
+ labelChannel: busyLabelHolder
+ adjust: right
+ )
+ (LabelSpec
+ label: 'M'
+ name: 'ModeLabel'
+ layout: (LayoutFrame -65 1 1 0.0 -55 1 1 1.0)
+ activeHelpKey: modeLabel
+ level: -1
+ translateLabel: true
+ labelChannel: modeLabelHolder
+ adjust: right
+ postBuildCallback: postBuildEditModeInfoLabel:
+ )
+ (LabelSpec
+ label: 'L'
+ name: 'LineLabel'
+ layout: (LayoutFrame -55 1 1 0.0 -20 1 1 1.0)
+ activeHelpKey: lineLabel
+ level: -1
+ translateLabel: true
+ labelChannel: cursorLineLabelHolder
+ adjust: right
+ )
+ (LabelSpec
+ label: 'C'
+ name: 'ColLabel'
+ layout: (LayoutFrame -20 1 1 0.0 0 1 1 1.0)
+ activeHelpKey: columnLabel
+ level: -1
+ translateLabel: true
+ labelChannel: cursorColLabelHolder
+ adjust: right
+ )
+ )
+
+ )
+ )
+ (LabelSpec
+ label: 'Preview'
+ name: 'PreviewLabel'
+ layout: (LayoutFrame 0 0.5 93 0 100 0.5 115 0)
+ level: 0
+ borderWidth: 1
+ visibilityChannel: previewVisibleHolder
+ backgroundColor: (Color 86.9993133440147 86.9993133440147 86.9993133440147)
+ translateLabel: true
+ )
+ (ArbitraryComponentSpec
+ name: 'Preview'
+ layout: (LayoutFrame 0 0.5 116 0 -147 1 -266 1)
+ level: 1
+ visibilityChannel: previewVisibleHolder
+ hasBorder: false
+ component: ImageView
+ )
+ (ActionButtonSpec
+ label: 'closePreviewButtonImage'
+ name: 'ClosePreviewButton'
+ layout: (LayoutFrame -169 1 94 0 -147 1 116 0)
+ visibilityChannel: previewVisibleHolder
+ hasCharacterOrientedLabel: false
+ translateLabel: true
+ )
+ )
+
+ )
+ )
+! !
+
!FileBrowserV3 class methodsFor:'menu specs'!
toolBarMainMenu
@@ -45,8 +466,8 @@
"
- MenuEditor new openOnClass:FileBrowserV2 andSelector:#toolBarMainMenu
- (Menu new fromLiteralArrayEncoding:(FileBrowserV2 toolBarMainMenu)) startUp
+ MenuEditor new openOnClass:FileBrowserV3 andSelector:#toolBarMainMenu
+ (Menu new fromLiteralArrayEncoding:(FileBrowserV3 toolBarMainMenu)) startUp
"
<resource: #menu>
@@ -118,14 +539,6 @@
labelImage: (ResourceRetriever ToolbarIconLibrary stxHomeIcon)
)
(MenuItem
- activeHelpKey: fileGotoBookmark
- label: 'Bookmarks'
- translateLabel: true
- isButton: true
- submenuChannel: gotoBookmarksMenu
- labelImage: (ResourceRetriever ToolbarIconLibrary directoryBookmarksIcon)
- )
- (MenuItem
activeHelpKey: fileHistory
enabled: enableFileHistory
label: 'File History'
@@ -149,50 +562,12 @@
label: '-'
)
(MenuItem
- activeHelpKey: cutFile
- enabled: hasSelection
- label: 'Cut'
- itemValue: cutFiles
- translateLabel: true
- isButton: true
- labelImage: (ResourceRetriever ToolbarIconLibrary cutFileIcon)
- )
- (MenuItem
- activeHelpKey: copyFile
- enabled: hasSelection
- label: 'Copy'
- itemValue: copyFiles
- translateLabel: true
- isButton: true
- labelImage: (ResourceRetriever ToolbarIconLibrary copyFileIcon)
- )
- (MenuItem
- activeHelpKey: pasteFile
- enabled: canPaste
- label: 'Paste'
- itemValue: pasteFiles
- translateLabel: true
- isButton: true
- labelImage: (ResourceRetriever ToolbarIconLibrary pasteFileIcon)
- )
- (MenuItem
- activeHelpKey: deleteFile
- enabled: hasSelection
- label: 'Delete'
- itemValue: deleteFiles
- translateLabel: true
- isButton: true
- labelImage: (ResourceRetriever ToolbarIconLibrary deleteFileIcon)
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
activeHelpKey: editFile
label: 'Edit File'
itemValue: doShowFileContents
translateLabel: true
isButton: true
+ isVisible: false
labelImage: (ResourceRetriever ToolbarIconLibrary editFileIcon)
)
(MenuItem
@@ -201,6 +576,15 @@
itemValue: fileFileIn
translateLabel: true
isButton: true
+ isVisible: false
+ labelImage: (ResourceRetriever ToolbarIconLibrary fileInIcon)
+ )
+ (MenuItem
+ activeHelpKey: fileIn
+ label: 'File In'
+ itemValue: fileFileIn
+ translateLabel: true
+ isButton: true
labelImage: (ResourceRetriever ToolbarIconLibrary fileInIcon)
)
(MenuItem
@@ -266,12 +650,109 @@
nil
nil
)
+! !
- "Created: / 03-04-2012 / 10:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!FileBrowserV3 methodsFor:'aspects'!
+
+bookmarkBarVisibleHolder
+ "return/create the 'bookmarkBarVisibleHolder' value holder (automatically generated)"
+
+ bookmarkBarVisibleHolder isNil ifTrue:[
+ bookmarkBarVisibleHolder := true asValue.
+ bookmarkBarVisibleHolder addDependent:self.
+ ].
+ ^ bookmarkBarVisibleHolder
+
+ "Modified: / 10-06-2011 / 23:56:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+bookmarkBarVisibleHolder:something
+ "set the 'bookmarkBarVisibleHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ bookmarkBarVisibleHolder notNil ifTrue:[
+ oldValue := bookmarkBarVisibleHolder value.
+ bookmarkBarVisibleHolder removeDependent:self.
+ ].
+ bookmarkBarVisibleHolder := something.
+ bookmarkBarVisibleHolder notNil ifTrue:[
+ bookmarkBarVisibleHolder addDependent:self.
+ ].
+ newValue := bookmarkBarVisibleHolder value.
+ oldValue ~~ newValue ifTrue:[
+ self update:#value with:newValue from:bookmarkBarVisibleHolder.
+ ].
+!
+
+bookmarkHolder
+ "return/create the 'bookmarkHolder' value holder (automatically generated)"
+
+ bookmarkHolder isNil ifTrue:[
+ bookmarkHolder := ValueHolder new.
+ ].
+ ^ bookmarkHolder
+!
+
+bookmarkListHolder
+
+ ^BookmarkList forWebBrowser
+
+ "Created: / 08-06-2011 / 12:16:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!FileBrowserV3 methodsFor:'change & update'!
+
+updateToolVisibility
+ |builder toolBar bookmarkBar infoBar filenameEntryField vPanel topOffset bottomOffset
+ toolBarVisible bookmarkBarVisible filenameEntryFieldVisible infoBarVisible d|
+
+ builder := self builder.
+
+ topOffset := 0.
+ bottomOffset := 0.
+
+ toolBarVisible := self toolBarVisibleHolder value.
+ toolBarVisible ifTrue:[
+ toolBar := builder componentAt:#ToolbarBox.
+ topOffset := topOffset + toolBar height.
+ ].
+
+ bookmarkBarVisible := self bookmarkBarVisibleHolder value.
+ bookmarkBarVisible ifTrue:[
+ bookmarkBar := builder componentAt:#Bookmarks.
+ topOffset := topOffset + (bookmarkBar height max: 25)
+ ].
+
+ filenameEntryFieldVisible := self filenameEntryFieldVisibleHolder value.
+ filenameEntryFieldVisible ifTrue:[
+ filenameEntryField := builder componentAt:#FilenameEntryFieldBox.
+ d := filenameEntryField layout bottomOffset - filenameEntryField layout topOffset.
+ filenameEntryField layout topOffset:topOffset bottomOffset:topOffset + d.
+ topOffset := topOffset + filenameEntryField height.
+ filenameEntryField container notNil ifTrue:[
+ filenameEntryField containerChangedSize.
+ ].
+ ].
+
+ infoBarVisible := self infoBarVisibleHolder value.
+ infoBarVisible ifTrue:[
+ infoBar := builder componentAt:#InfoBox.
+ bottomOffset := bottomOffset - infoBar height.
+ ].
+
+ vPanel := builder componentAt:#BrowserBox.
+ vPanel layout topOffset:topOffset+1.
+ vPanel layout bottomOffset:bottomOffset-1.
+ vPanel container notNil ifTrue:[
+ vPanel containerChangedSize.
+ ].
+
+ "Modified: / 03-04-2012 / 22:23:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!FileBrowserV3 class methodsFor:'documentation'!
version_SVN
- ^ '$Id: FileBrowserV3.st 7963 2012-04-03 12:32:03Z vranyj1 $'
+ ^ '$Id: FileBrowserV3.st 7965 2012-04-04 00:09:32Z vranyj1 $'
! !
--- a/Make.proto Tue Apr 03 18:37:50 2012 +0100
+++ b/Make.proto Wed Apr 04 01:09:32 2012 +0100
@@ -1,7 +1,7 @@
# $Header$
#
# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libtool at 2012-04-03 18:38:32.455.
+# automagically generated from the projectDefinition: stx_libtool at 2012-04-04 01:09:23.804.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -243,7 +243,7 @@
$(OUTDIR)NewLauncher.$(O) NewLauncher.$(H): NewLauncher.st $(INCLUDE_TOP)/stx/libtool/AbstractLauncherApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ToolApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)OrderedCollectionInspectorView.$(O) OrderedCollectionInspectorView.$(H): OrderedCollectionInspectorView.st $(INCLUDE_TOP)/stx/libtool/InspectorView.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SetInspectorView.$(O) SetInspectorView.$(H): SetInspectorView.st $(INCLUDE_TOP)/stx/libtool/InspectorView.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)SettingsDialog.$(O) SettingsDialog.$(H): SettingsDialog.st $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalList.$(H) $(INCLUDE_TOP)/stx/libbasic2/List.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItemWithLabelAndIcon.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItemWithLabel.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)SettingsDialog.$(O) SettingsDialog.$(H): SettingsDialog.st $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItemWithLabelAndIcon.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItemWithLabel.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalList.$(H) $(INCLUDE_TOP)/stx/libbasic2/List.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(STCHDR)
$(OUTDIR)SmalltalkCodeGeneratorTool.$(O) SmalltalkCodeGeneratorTool.$(H): SmalltalkCodeGeneratorTool.st $(INCLUDE_TOP)/stx/libtool/CodeGeneratorTool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Tools__BackgroundSourceProcessingService.$(O) Tools__BackgroundSourceProcessingService.$(H): Tools__BackgroundSourceProcessingService.st $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)Tools__BreakpointService.$(O) Tools__BreakpointService.$(H): Tools__BreakpointService.st $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Tue Apr 03 18:37:50 2012 +0100
+++ b/Make.spec Wed Apr 04 01:09:32 2012 +0100
@@ -1,7 +1,7 @@
# $Header$
#
# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libtool at 2012-04-03 18:38:30.253.
+# automagically generated from the projectDefinition: stx_libtool at 2012-04-04 01:09:22.570.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
--- a/Tools__TextDiff3Tool.st Tue Apr 03 18:37:50 2012 +0100
+++ b/Tools__TextDiff3Tool.st Wed Apr 04 01:09:32 2012 +0100
@@ -15,14 +15,14 @@
TextDiffTool subclass:#TextDiff3Tool
instanceVariableNames:'labelMergedHolder textMergedHolder mergeHolder mergeDataHolder
- mergeView'
+ mergeView mergeService'
classVariableNames:''
poolDictionaries:''
category:'Interface-Diff'
!
CodeViewService subclass:#MergeService
- instanceVariableNames:'dataHolder data'
+ instanceVariableNames:'dataHolder data sectionInterval'
classVariableNames:''
poolDictionaries:''
privateIn:TextDiff3Tool
@@ -416,21 +416,39 @@
doMergeUsingA
- self mergeData mergeUsingA: self textA
+ | interval |
+ interval := mergeService sectionInterval.
+ interval notNil ifTrue:[
+ self mergeData mergeUsingA: self textA interval: interval
+ ] ifFalse:[
+ self mergeData mergeUsingA: self textA
+ ]
"Created: / 17-03-2012 / 12:55:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
doMergeUsingB
- self mergeData mergeUsingB: self textB
+ | interval |
+ interval := mergeService sectionInterval.
+ interval notNil ifTrue:[
+ self mergeData mergeUsingB: self textB interval: interval
+ ] ifFalse:[
+ self mergeData mergeUsingB: self textA
+ ]
"Created: / 17-03-2012 / 12:55:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
doMergeUsingBase
- self mergeData mergeUsingBase: self textC
+ | interval |
+ interval := mergeService sectionInterval.
+ interval notNil ifTrue:[
+ self mergeData mergeUsingBase: self textC interval: interval
+ ] ifFalse:[
+ self mergeData mergeUsingBase: self textC
+ ]
"Created: / 17-03-2012 / 12:55:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
@@ -641,7 +659,7 @@
mergeView := aCodeView2.
mergeView registerService:
- (MergeService new
+ ((mergeService := MergeService new)
dataHolder: self mergeDataHolder;
yourself).
self updateCodeViewSynchronization.
@@ -694,6 +712,10 @@
]
"Created: / 19-03-2012 / 13:15:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sectionInterval
+ ^ sectionInterval
! !
!TextDiff3Tool::MergeService methodsFor:'aspects'!
@@ -764,6 +786,7 @@
data notNil ifTrue:[
data addDependent: self.
].
+ sectionInterval := nil.
self dataChanged
"Created: / 19-03-2012 / 11:56:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -785,6 +808,32 @@
super update:something with:aParameter from:changedObject
"Modified: / 19-03-2012 / 12:41:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateSelection: lineNr
+ "For given number, update sectionInterval"
+
+ | conflict |
+ lineNr notNil ifTrue:[
+ conflict := (self infoAtLine: lineNr) conflict.
+ ].
+ lineNr isNil"conflict isNil" ifTrue:[
+ sectionInterval := nil
+ ] ifFalse:[
+ | start stop i |
+ i := lineNr - 1.
+ [ i > 0 and:[ (self infoAtLine: i) conflict == conflict ]]
+ whileTrue:[ i := i - 1 ].
+ start := i + 1.
+ i := lineNr + 1.
+ [ i < (data listInfos size) and:[ (self infoAtLine: i) conflict == conflict ]]
+ whileTrue:[ i := i + 1 ].
+ stop := i - 1.
+ sectionInterval := start to: stop.
+ ].
+ gutterView invalidate.
+
+ "Created: / 03-04-2012 / 19:29:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!TextDiff3Tool::MergeService methodsFor:'drawing'!
@@ -795,21 +844,52 @@
Ask JV what the args means if unsure (I'm lazy to document
them, now it is just an experiment...)"
- | info |
+ | info color |
view == gutterView ifFalse:[ ^ self ].
info := self infoAtLine: lineNo.
- info isNil ifTrue:[ ^self ].
+ info notNil ifTrue:[
+ color := info color.
+ color notNil ifTrue:[
+ view fillRectangleX: x y:y - h
+ width: 8
+ height:h + textView lineSpacing + 5"Magic constant to make it look nicer"
+ color: color.
+ ].
+ ].
- view fillRectangleX:x y:y - h
- width:6 height:h + textView lineSpacing + 5"Magic constant to make it look nicer"
- color: info color.
+ (sectionInterval notNil and:[sectionInterval includes: lineNo]) ifTrue:[
+ "Drawing outside annotation area is not nice, but..."
+ view fillRectangleX:view width - 7 y:y - h
+ width:4
+ height:h + textView lineSpacing + 5"Magic constant to make it look nicer"
+ color: Color gray.
+ ]
"Created: / 19-03-2012 / 13:15:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!TextDiff3Tool::MergeService methodsFor:'event handling'!
+buttonPress: button x:x y:y in: view
+
+ "Handles an event in given view (a subview of codeView).
+ If the method returns true, it has eaten the event and it will not be processed
+ by the view."
+
+ |lineNr|
+
+ view == gutterView ifFalse:[ ^ false ].
+ button == 1 ifFalse:[ ^ false ].
+
+ self updateSelection: (textView yVisibleToLineNr:y).
+
+
+ ^false
+
+ "Created: / 03-04-2012 / 19:23:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
linesModifiedFrom: start to: end
start to: end do:[:i|
@@ -837,5 +917,5 @@
!TextDiff3Tool class methodsFor:'documentation'!
version_SVN
- ^ '$Id: Tools__TextDiff3Tool.st 7950 2012-03-21 12:48:24Z vranyj1 $'
+ ^ '$Id: Tools__TextDiff3Tool.st 7965 2012-04-04 00:09:32Z vranyj1 $'
! !
--- a/Tools__TextMergeInfo.st Tue Apr 03 18:37:50 2012 +0100
+++ b/Tools__TextMergeInfo.st Wed Apr 04 01:09:32 2012 +0100
@@ -43,6 +43,22 @@
"
! !
+!TextMergeInfo methodsFor:'* uncategorized *'!
+
+conflictLineText
+
+ ^ '<conflict>' asText allBold colorizeAllWith: Color red.
+
+ "Created: / 03-04-2012 / 23:26:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+noSourceLineText
+
+ ^'<no source line>' asText colorizeAllWith: Color red.
+
+ "Created: / 03-04-2012 / 23:26:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!TextMergeInfo methodsFor:'accessing'!
list
@@ -54,7 +70,13 @@
!
text
- ^(list reject:[:l|l isNil]) asString
+ ^String streamContents:[:s|
+ 1 to: list size do:[:i|
+ (listInfos at: i) offset ~~ -1 ifTrue:[
+ s nextPutLine: (list at: i)
+ ]
+ ].
+ ].
"Created: / 19-03-2012 / 14:58:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
@@ -63,7 +85,7 @@
text1: text1 text2: text2 text3: text3
- | t1c t2c t3c merges lnr |
+ | t1c t2c t3c diff3 diffs merges resolution lnr |
list := StringCollection new.
listInfos := OrderedCollection new.
@@ -73,24 +95,40 @@
t3c := (text3 ? #()) asStringCollection.
- merges := Diff3 new
+ diff3 := Diff3 new
file0: t1c; "/Base version
file1: t2c; "/A
- file2: t3c; "/B
- merge.
+ file2: t3c. "/B\
+ diffs := diff3 diffIndices.
+ merges := diff3 mergeIndices.
+
lnr := 1.
- merges do:[:merge|
- merge key == #ok ifTrue:[
- merge value do:[:line|
- list add: line.
- listInfos add: (LineInfo line: lnr resolution: #Merged ).
+ diffs with: merges do:[:diff :merge|
+ | lines |
+ diff isChunk ifTrue:[
+ lines := merge extractFromDiff: diff3.
+ 1 to: diff length do:[:i|
+ list add: (lines at: i).
+ listInfos add: (LineInfo line: lnr resolution: #NoConflict conflict: diff offset: i ).
lnr := lnr + 1.
].
].
- merge key == #conflict ifTrue:[
- 1 to: merge value length do:[:i|
- list add:nil. "/no resolution now"
- listInfos add: (LineInfo line: lnr resolution: #Conflict conflict: merge value offset: i).
+ diff isConflict ifTrue:[
+ 1 to: diff length do:[:i|
+ merge isConflict ifTrue:[
+ list add: self conflictLineText.
+ listInfos add: (LineInfo line: lnr resolution: #Conflict conflict: diff offset: i).
+ ] ifFalse:[
+ lines := merge extractFromDiff: diff3.
+ resolution := merge extractResolution.
+ i <= lines size ifTrue:[
+ list add: (lines at: i).
+ listInfos add: (LineInfo line: lnr resolution: resolution conflict: diff offset: i).
+ ] ifFalse:[
+ list add: self noSourceLineText.
+ listInfos add: (LineInfo line: lnr resolution: resolution conflict: diff offset: -1).
+ ].
+ ].
lnr := lnr + 1.
].
].
@@ -110,11 +148,39 @@
(1 to: list size) collect:[:lineNr|
(LineInfo line: lineNr resolution: #MergedUsingA )
].
- self changed:#resulution
+ self changed:#resolution
"Created: / 21-03-2012 / 12:03:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+mergeUsingA: textA interval: interval
+ "Given textA and section interval, merges the section
+ using textA."
+
+ | listA offset |
+ listA := textA asStringCollection.
+ offset := 0.
+ interval do:[:lineNr|
+ | info chunk line |
+ info := listInfos at: lineNr.
+ chunk := info conflict left.
+ offset < chunk length ifTrue:[
+ line := listA at: chunk offset + offset.
+ info offset: offset + 1.
+ ] ifFalse:[
+ line := self noSourceLineText.
+ info offset: -1
+ ].
+ list at: lineNr put: line.
+ info resolution: #MergedUsingA.
+ offset := offset + 1.
+ ].
+
+ self changed:#resolution
+
+ "Created: / 04-04-2012 / 00:51:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
mergeUsingB: textB
list := (textB ? #()) asStringCollection.
@@ -127,6 +193,34 @@
"Created: / 21-03-2012 / 12:04:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+mergeUsingB: textA interval: interval
+ "Given textA and section interval, merges the section
+ using textA."
+
+ | listA offset |
+ listA := textA asStringCollection.
+ offset := 0.
+ interval do:[:lineNr|
+ | info chunk line |
+ info := listInfos at: lineNr.
+ chunk := info conflict right.
+ offset < chunk length ifTrue:[
+ line := listA at: chunk offset + offset.
+ info offset: offset + 1.
+ ] ifFalse:[
+ line := self noSourceLineText.
+ info offset: -1
+ ].
+ list at: lineNr put: line.
+ info resolution: #MergedUsingB.
+ offset := offset + 1.
+ ].
+
+ self changed:#resolution
+
+ "Created: / 04-04-2012 / 01:01:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
mergeUsingBase: textBase
list := (textBase ? #()) asStringCollection.
@@ -137,6 +231,34 @@
self changed:#resulution
"Created: / 21-03-2012 / 12:07:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+mergeUsingBase: textA interval: interval
+ "Given textA and section interval, merges the section
+ using textA."
+
+ | listA offset |
+ listA := textA asStringCollection.
+ offset := 0.
+ interval do:[:lineNr|
+ | info chunk line |
+ info := listInfos at: lineNr.
+ chunk := info conflict original.
+ offset < chunk length ifTrue:[
+ line := listA at: chunk offset + offset.
+ info offset: offset + 1.
+ ] ifFalse:[
+ line := self noSourceLineText.
+ info offset: -1
+ ].
+ list at: lineNr put: line.
+ info resolution: #MergedUsingBase.
+ offset := offset + 1.
+ ].
+
+ self changed:#resolution
+
+ "Created: / 04-04-2012 / 01:01:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!TextMergeInfo methodsFor:'testing'!
@@ -175,14 +297,28 @@
color
+ | color |
+
self isMerged ifTrue:[
- self isMergedUsingA ifTrue:[ ^Tools::TextDiff3Tool colorA].
- self isMergedUsingB ifTrue:[ ^Tools::TextDiff3Tool colorB].
- self isMergedUsingBase ifTrue:[ ^Tools::TextDiff3Tool colorBase].
- ^ Tools::TextDiff3Tool colorMerged
+ self isMergedUsingA ifTrue:[
+ color := Tools::TextDiff3Tool colorA
+ ] ifFalse:[self isMergedUsingB ifTrue:[
+ color := Tools::TextDiff3Tool colorB
+ ] ifFalse:[self isMergedUsingBase ifTrue:[
+ color := Tools::TextDiff3Tool colorBase
+ ] ifFalse:[
+ color := Tools::TextDiff3Tool colorMerged
+ ]]].
+ offset == -1 ifTrue:[
+ color := color lighter.
+ ].
+ ] ifFalse:[
+ self isConflict ifTrue:[
+ color := Tools::TextDiff3Tool colorConflict
+ ].
].
- self isConflict ifTrue:[ ^ Tools::TextDiff3Tool colorConflict ].
- ^nil
+
+ ^color
"Created: / 19-03-2012 / 15:05:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -214,6 +350,10 @@
^ offset
!
+offset:something
+ offset := something.
+!
+
resolution
^ resolution
!
@@ -282,5 +422,5 @@
!TextMergeInfo class methodsFor:'documentation'!
version_SVN
- ^ '$Id: Tools__TextMergeInfo.st 7951 2012-03-21 14:05:42Z vranyj1 $'
+ ^ '$Id: Tools__TextMergeInfo.st 7965 2012-04-04 00:09:32Z vranyj1 $'
! !
--- a/bc.mak Tue Apr 03 18:37:50 2012 +0100
+++ b/bc.mak Wed Apr 04 01:09:32 2012 +0100
@@ -1,7 +1,7 @@
# $Header$
#
# DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libtool at 2012-04-03 18:38:33.700.
+# automagically generated from the projectDefinition: stx_libtool at 2012-04-04 01:09:24.569.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -185,7 +185,7 @@
$(OUTDIR)NewLauncher.$(O) NewLauncher.$(H): NewLauncher.st $(INCLUDE_TOP)\stx\libtool\AbstractLauncherApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ToolApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)OrderedCollectionInspectorView.$(O) OrderedCollectionInspectorView.$(H): OrderedCollectionInspectorView.st $(INCLUDE_TOP)\stx\libtool\InspectorView.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SetInspectorView.$(O) SetInspectorView.$(H): SetInspectorView.st $(INCLUDE_TOP)\stx\libtool\InspectorView.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)SettingsDialog.$(O) SettingsDialog.$(H): SettingsDialog.st $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalList.$(H) $(INCLUDE_TOP)\stx\libbasic2\List.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItemWithLabelAndIcon.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItemWithLabel.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)SettingsDialog.$(O) SettingsDialog.$(H): SettingsDialog.st $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItemWithLabelAndIcon.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItemWithLabel.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalList.$(H) $(INCLUDE_TOP)\stx\libbasic2\List.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(STCHDR)
$(OUTDIR)SmalltalkCodeGeneratorTool.$(O) SmalltalkCodeGeneratorTool.$(H): SmalltalkCodeGeneratorTool.st $(INCLUDE_TOP)\stx\libtool\CodeGeneratorTool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Tools__BackgroundSourceProcessingService.$(O) Tools__BackgroundSourceProcessingService.$(H): Tools__BackgroundSourceProcessingService.st $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)Tools__BreakpointService.$(O) Tools__BreakpointService.$(H): Tools__BreakpointService.st $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/libtool.rc Tue Apr 03 18:37:50 2012 +0100
+++ b/libtool.rc Wed Apr 04 01:09:32 2012 +0100
@@ -3,7 +3,7 @@
// automagically generated from the projectDefinition: stx_libtool.
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 6,2,7959,7959
+ FILEVERSION 6,2,7964,7964
PRODUCTVERSION 6,2,1,1
#if (__BORLANDC__)
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE
@@ -20,12 +20,12 @@
BEGIN
VALUE "CompanyName", "eXept Software AG\0"
VALUE "FileDescription", "Smalltalk/X Tools (LIB)\0"
- VALUE "FileVersion", "6.2.7959.7959\0"
+ VALUE "FileVersion", "6.2.7964.7964\0"
VALUE "InternalName", "stx:libtool\0"
VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
VALUE "ProductName", "Smalltalk/X\0"
VALUE "ProductVersion", "6.2.1.1\0"
- VALUE "ProductDate", "Tue, 03 Apr 2012 17:38:47 GMT\0"
+ VALUE "ProductDate", "Wed, 04 Apr 2012 00:09:46 GMT\0"
END
END