diff -r 25c2a13f00c5 -r 184cea584be5 Tools__ChangeList.st --- a/Tools__ChangeList.st Sun Jan 12 23:30:25 2014 +0000 +++ b/Tools__ChangeList.st Wed Apr 01 10:38:01 2015 +0100 @@ -1,6 +1,6 @@ " COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague - All Rights Reserved + All Rights Reserved Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation @@ -30,7 +30,7 @@ BrowserListWithFilter subclass:#ChangeList instanceVariableNames:'listHolder showRemovedHolder showSameHolder showTimestampHolder allowRemoveHolder allowAcceptHolder scrollToBottom applyAction - showConflictsOnlyHolder' + showConflictsOnlyHolder showDefinitionsOnlyHolder' classVariableNames:'LastSelectionConditionString' poolDictionaries:'' category:'Interface-Browsers-ChangeSet' @@ -48,7 +48,7 @@ copyright " COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague - All Rights Reserved + All Rights Reserved Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation @@ -103,6 +103,12 @@ "Modified: / 31-08-2011 / 10:54:40 / cg" ! +iconNone + ^ nil + + "Created: / 05-09-2014 / 00:34:41 / Jan Vrany " +! + iconPlus ^ ToolbarIconLibrary iconPlusBlue12x12 @@ -203,100 +209,105 @@ ^#( (DataSetColumnSpec - label: 'Removed' - id: 'removed' - labelButtonType: Button - width: 20 - minWidth: 20 - editorType: CheckToggle - rendererType: CheckToggle - model: notRemoved - menuFromApplication: false - printSelector: notRemoved - isResizeable: false - showRowSeparator: false - showSelectionHighLighted: false - showColSeparator: false + label: 'Removed' + id: 'removed' + labelButtonType: Button + width: 20 + minWidth: 20 + height: heightOfFirstRow + editorType: CheckToggle + rendererType: CheckToggle + model: notRemoved + menuFromApplication: false + printSelector: notRemoved + isResizeable: false + showRowSeparator: false + showColSeparator: false ) (DataSetColumnSpec - label: 'Delta' - id: 'delta' - labelButtonType: Button - width: 20 - minWidth: 20 - menuFromApplication: false - printSelector: iconDelta - canSelect: false - isResizeable: false - showRowSeparator: false - showSelectionHighLighted: false - showColSeparator: false + label: 'Delta' + id: 'delta' + labelButtonType: Button + width: 20 + minWidth: 20 + height: heightOfFirstRow + menuFromApplication: false + printSelector: iconDelta + canSelect: false + isResizeable: false + showRowSeparator: false + showColSeparator: false ) (DataSetColumnSpec - label: 'Change' - id: change - labelAlignment: left - labelButtonType: Button - menuFromApplication: false - printSelector: label - canSelect: false - showRowSeparator: false - showColSeparator: false + label: 'Change' + id: change + labelAlignment: left + labelButtonType: Button + height: heightOfFirstRow + menuFromApplication: false + printSelector: label + canSelect: false + showRowSeparator: false + showColSeparator: false ) (DataSetColumnSpec - label: 'Class' - id: 'className' - labelAlignment: left - activeHelpKey: '' - activeHelpKeyForLabel: '' - labelButtonType: Button - usePreferredWidth: true - model: className - menuFromApplication: false - canSelect: false - showRowSeparator: false - showColSeparator: false + label: 'Class' + id: 'className' + labelAlignment: left + activeHelpKey: '' + activeHelpKeyForLabel: '' + labelButtonType: Button + usePreferredWidth: true + height: heightOfFirstRow + model: className + menuFromApplication: false + canSelect: false + showRowSeparator: false + showColSeparator: false ) (DataSetColumnSpec - label: 'Selector' - id: 'selector' - labelAlignment: left - activeHelpKey: '' - activeHelpKeyForLabel: '' - labelButtonType: Button - usePreferredWidth: true - model: selector - menuFromApplication: false - canSelect: false - showRowSeparator: false - showColSeparator: false + label: 'Selector' + id: 'selector' + labelAlignment: left + activeHelpKey: '' + activeHelpKeyForLabel: '' + labelButtonType: Button + usePreferredWidth: true + height: heightOfFirstRow + model: selector + menuFromApplication: false + canSelect: false + showRowSeparator: false + showColSeparator: false ) (DataSetColumnSpec - label: 'Category' - id: category - labelAlignment: left - labelButtonType: Button - usePreferredWidth: true - model: category - menuFromApplication: false - canSelect: false - showRowSeparator: false - showColSeparator: false + label: 'Category' + id: category + labelAlignment: left + labelButtonType: Button + usePreferredWidth: true + height: heightOfFirstRow + model: category + menuFromApplication: false + canSelect: false + showRowSeparator: false + showColSeparator: false ) (DataSetColumnSpec - label: 'Time Stamp' - id: timeStamp - labelAlignment: left - labelButtonType: Button - usePreferredWidth: true - model: timeStamp - menuFromApplication: false - canSelect: false - showRowSeparator: false - showColSeparator: false + label: 'Time Stamp' + id: timeStamp + labelAlignment: left + labelButtonType: Button + usePreferredWidth: true + height: heightOfFirstRow + model: timeStamp + menuFromApplication: false + canSelect: false + showRowSeparator: false + showColSeparator: false ) ) - + ! ! !ChangeList class methodsFor:'menu specs'! @@ -316,7 +327,7 @@ - ^ + ^ #(Menu ( (MenuItem @@ -357,7 +368,7 @@ (MenuItem label: 'Select...' translateLabel: true - submenu: + submenu: (Menu ( (MenuItem @@ -440,6 +451,7 @@ (if this app is embedded in a subCanvas)." ^ #( + environmentHolder #allowAcceptHolder #allowRemoveHolder #inGeneratorHolder @@ -451,8 +463,10 @@ #showSameHolder #showTimestampHolder #showConflictsOnlyHolder + #showDefinitionsOnlyHolder ). + "Modified: / 24-02-2014 / 10:37:49 / Jan Vrany " ! ! !ChangeList methodsFor:'accessing'! @@ -557,7 +571,7 @@ "return/create the valueHolder 'acceptEnabledHolder'" allowAcceptHolder isNil ifTrue:[ - allowAcceptHolder := ValueHolder with:nil "defaultValue here". + allowAcceptHolder := ValueHolder with:nil "defaultValue here". ]. ^ allowAcceptHolder @@ -572,35 +586,35 @@ allowRemoveHolder "return/create the 'allowRemoveHolder' value holder (automatically generated)" - + allowRemoveHolder isNil ifTrue:[ - allowRemoveHolder := ValueHolder with:true. - allowRemoveHolder addDependent:self. + allowRemoveHolder := ValueHolder with:true. + allowRemoveHolder addDependent:self. ]. ^ allowRemoveHolder "Modified (comment): / 24-01-2012 / 19:44:27 / Jan Vrany " ! -allowRemoveHolder:something +allowRemoveHolder:something "set the 'showRemovedHolder' value holder (automatically generated)" - + |oldValue newValue| allowRemoveHolder notNil ifTrue:[ - oldValue := allowRemoveHolder value. - allowRemoveHolder removeDependent:self. + oldValue := allowRemoveHolder value. + allowRemoveHolder removeDependent:self. ]. allowRemoveHolder := something. allowRemoveHolder notNil ifTrue:[ - allowRemoveHolder addDependent:self. + allowRemoveHolder addDependent:self. ]. newValue := allowRemoveHolder value. oldValue ~~ newValue ifTrue:[ - self - update:#value - with:newValue - from:allowRemoveHolder. + self + update:#value + with:newValue + from:allowRemoveHolder. ]. ! @@ -619,7 +633,7 @@ listHolder listHolder isNil ifTrue:[ - listHolder := ValueHolder new. + listHolder := ValueHolder new. ]. ^ listHolder ! @@ -628,10 +642,12 @@ "return/create the 'showConflictsOnlyHolder' value holder (automatically generated)" showConflictsOnlyHolder isNil ifTrue:[ - showConflictsOnlyHolder := ValueHolder with: true. + showConflictsOnlyHolder := ValueHolder with: false. showConflictsOnlyHolder addDependent: self. ]. ^ showConflictsOnlyHolder + + "Modified: / 05-09-2014 / 00:54:13 / Jan Vrany " ! showConflictsOnlyHolder:something @@ -653,12 +669,43 @@ ]. ! +showDefinitionsOnlyHolder + "return/create the 'showDefinitionsOnlyHolder' value holder (automatically generated)" + + showDefinitionsOnlyHolder isNil ifTrue:[ + showDefinitionsOnlyHolder := ValueHolder with: false. + showDefinitionsOnlyHolder addDependent: self. + ]. + ^ showDefinitionsOnlyHolder + + "Modified: / 05-09-2014 / 00:52:55 / Jan Vrany " +! + +showDefinitionsOnlyHolder:something + "set the 'showDefinitionsOnlyHolder' value holder (automatically generated)" + + |oldValue newValue| + + showDefinitionsOnlyHolder notNil ifTrue:[ + oldValue := showDefinitionsOnlyHolder value. + showDefinitionsOnlyHolder removeDependent:self. + ]. + showDefinitionsOnlyHolder := something. + showDefinitionsOnlyHolder notNil ifTrue:[ + showDefinitionsOnlyHolder addDependent:self. + ]. + newValue := showDefinitionsOnlyHolder value. + oldValue ~~ newValue ifTrue:[ + self update:#value with:newValue from:showDefinitionsOnlyHolder. + ]. +! + showRemovedHolder "return/create the 'showRemovedHolder' value holder (automatically generated)" showRemovedHolder isNil ifTrue:[ - showRemovedHolder := ValueHolder with: true. - showRemovedHolder addDependent: self. + showRemovedHolder := ValueHolder with: true. + showRemovedHolder addDependent: self. ]. ^ showRemovedHolder ! @@ -669,16 +716,16 @@ |oldValue newValue| showRemovedHolder notNil ifTrue:[ - oldValue := showRemovedHolder value. - showRemovedHolder removeDependent:self. + oldValue := showRemovedHolder value. + showRemovedHolder removeDependent:self. ]. showRemovedHolder := something. showRemovedHolder notNil ifTrue:[ - showRemovedHolder addDependent:self. + showRemovedHolder addDependent:self. ]. newValue := showRemovedHolder value. oldValue ~~ newValue ifTrue:[ - self update:#value with:newValue from:showRemovedHolder. + self update:#value with:newValue from:showRemovedHolder. ]. ! @@ -686,8 +733,8 @@ "return/create the 'showSameHolder' value holder (automatically generated)" showSameHolder isNil ifTrue:[ - showSameHolder := ValueHolder with: true. - showSameHolder addDependent:self. + showSameHolder := ValueHolder with: true. + showSameHolder addDependent:self. ]. ^ showSameHolder @@ -700,16 +747,16 @@ |oldValue newValue| showSameHolder notNil ifTrue:[ - oldValue := showSameHolder value. - showSameHolder removeDependent:self. + oldValue := showSameHolder value. + showSameHolder removeDependent:self. ]. showSameHolder := something. showSameHolder notNil ifTrue:[ - showSameHolder addDependent:self. + showSameHolder addDependent:self. ]. newValue := showSameHolder value. oldValue ~~ newValue ifTrue:[ - self update:#value with:newValue from:showSameHolder. + self update:#value with:newValue from:showSameHolder. ]. ! @@ -775,6 +822,9 @@ sender == showConflictsOnlyHolder ifTrue:[ self updateList ]. + sender == showDefinitionsOnlyHolder ifTrue:[ + self updateList + ]. ^super update: aspect with: param from: sender @@ -819,19 +869,24 @@ handlesKeyPress:key inView:aView - ^(key == #Accept or:[ key == #Ctrls]) - and:[ listView scrolledView == aView ] + (super handlesKeyPress:key inView:aView) + or:[(key == #Accept or:[ key == #Ctrls]) + and:[ listView scrolledView == aView ]] "Created: / 08-02-2012 / 14:43:11 / cg" + "Modified: / 10-04-2014 / 11:31:37 / Jan Vrany " ! keyPress:key x:x y:y view:aView (key == #Accept or:[ key == #Ctrls]) ifTrue:[ - self listMenuApply. - ^ self - ]. + self listMenuApply. + ^ self + ]. + + super keyPress:key x:x y:y view:aView "Created: / 08-02-2012 / 14:42:18 / cg" + "Modified: / 10-04-2014 / 11:31:52 / Jan Vrany " ! ! !ChangeList methodsFor:'generators'! @@ -842,7 +897,7 @@ ^Iterator on: [:whatToDo| - selectionHolder value do: + (selectionHolder value ? #()) do: [:changeListItem| | change | change := changeListItem change. change isCompositeChange ifTrue: @@ -857,9 +912,10 @@ postBuildListView: aView super postBuildListView: aView. - listView scrolledView delegate: self. + aView scrolledView delegate: self. "Created: / 29-11-2011 / 14:56:59 / Jan Vrany " + "Modified: / 10-04-2014 / 11:29:05 / Jan Vrany " ! ! !ChangeList methodsFor:'initialization'! @@ -904,7 +960,7 @@ self acceptEnabled ifFalse:[^self]. self selection value do: - [:e|e removed ifFalse:[applyAction value:e change]]. + [:e|e removed ifFalse:[applyAction value:e change]]. "Created: / 05-12-2009 / 14:53:03 / Jan Vrany " "Modified: / 10-09-2012 / 13:57:58 / cg" @@ -913,30 +969,34 @@ listMenuBrowse self listMenuBrowseChanges: - ((self selectionHolder value ? #()) collect:[:e|e change]) + ((self selectionHolder value ? #()) collect:[:e|e change]) "Modified: / 24-01-2012 / 22:00:45 / Jan Vrany " ! listMenuBrowseChanges: changes - | classes methods methodsOnly browserClass| + | collectChanges classes methods methodsOnly browserClass| classes := Set new. methods := Set new. methodsOnly := true. - changes do: [:each | - each isClassChange ifTrue:[ - each changeClass ifNotNil:[ + + collectChanges := + [:each | + (each isClassChange and:[each changeClass notNil]) ifTrue:[ classes add: each changeClass. - each isMethodCodeChange - ifTrue: - [each changeMethod ifNotNil: - [methods add:each changeMethod]] - ifFalse: - [methodsOnly := false] + each isMethodCodeChange ifTrue:[ + each changeMethod notNil ifTrue: [methods add:each changeMethod] + ] ifFalse:[ + methodsOnly := false + ] + ] ifFalse:[ + each isCompositeChange ifTrue:[ + each changes do:collectChanges + ] ] - ] - ]. + ]. + changes do: collectChanges. browserClass := environment browserClass. methodsOnly @@ -956,7 +1016,7 @@ listMenuDeleteSelection self selectionHolder value do: - [:each|each removed: true]. + [:each|each removed: true]. self updateList ! @@ -966,8 +1026,8 @@ selection := self selectionHolder value collect:[:e|e change]. selection size = 1 - ifTrue:[selection anyOne inspect] - ifFalse:[selection inspect]. + ifTrue:[selection anyOne inspect] + ifFalse:[selection inspect]. "Modified: / 24-10-2009 / 22:02:18 / Jan Vrany " ! @@ -982,11 +1042,11 @@ self listMenuSelectAllSuchThat:[:change|true] ! -listMenuSelectAllSuchThat:conditionBlock +listMenuSelectAllSuchThat:conditionBlock |newSelection| - newSelection := self listHolder value - select:[:entry | conditionBlock value:entry change ]. + newSelection := self listHolder value + select:[:entry | conditionBlock value:entry change ]. self selectionHolder value:newSelection ! @@ -1015,23 +1075,23 @@ "/ change is an instance of Change "/ change will be selected if and only if block returns true - + true"/always select the change ] '. LastSelectionConditionString isNil ifTrue:[ - LastSelectionConditionString := template. + LastSelectionConditionString := template. ]. textHolder := ValueHolder new. dialog := Dialog - forRequestText:(resources string:'Enter condition for selection') - lines:20 - columns:70 - initialAnswer:LastSelectionConditionString - model:textHolder. + forRequestText:(resources string:'Enter condition for selection') + lines:20 + columns:70 + initialAnswer:LastSelectionConditionString + model:textHolder. dialog addButton:(Button label:'Template' action:[textHolder value:template. textHolder changed:#value.]). dialog open. dialog accepted ifFalse:[^ self]. @@ -1041,8 +1101,8 @@ conditionBlock := Parser evaluate:conditionBlockString. conditionBlock isBlock ifFalse:[ - self error:'Bad selection block (syntax error?)'. - ^ self + self error:'Bad selection block (syntax error?)'. + ^ self ]. self listMenuSelectAllSuchThat: conditionBlock @@ -1051,7 +1111,7 @@ listMenuUndeleteSelection self selectionHolder value do: - [:each|each removed: false]. + [:each|each removed: false]. self updateList ! ! @@ -1143,7 +1203,7 @@ "Created: / 26-07-2012 / 17:56:50 / Jan Vrany " ! -listEntryFor:chg +listEntryFor:chg ^ListEntry change:chg application: self "Modified: / 05-12-2009 / 14:39:54 / Jan Vrany " @@ -1167,7 +1227,8 @@ ! updateList - |inGenerator changeset firstLineShown oldSel newList newSel | + |inGenerator changeset firstLineShown oldSel newList newSel| + self withWaitCursorDo:[ inGenerator := self inGeneratorHolder value. listView notNil ifTrue:[ @@ -1178,12 +1239,30 @@ oldSel := self selection. changeset := inGenerator isNil ifTrue:[ #() ] ifFalse:[ inGenerator ]. - newList := changeset - select: - [:chg | - (self showRemovedHolder value or:[ chg removed not ]) - and:[self showSameHolder value or:[chg delta ~~ #=]] - ]. + self showDefinitionsOnlyHolder value ifTrue:[ + newList := changeset select: [:chg | chg isOrContainsClassDefinitionChange ]. + ] ifFalse:[ + self showConflictsOnlyHolder value ifTrue:[ + newList := changeset select: [:chg | chg isConflict ]. + ] ifFalse:[ + | showRemoved showSame | + + showRemoved := self showRemovedHolder value. + showSame := self showSameHolder value. + + newList := changeset select: [:chg | + (showRemoved or:[ chg removed not ]) + and:[showSame or:[chg delta ~~ #=]] + ]. + ]. + ]. +"/ OLD CODE +"/ newList := changeset +"/ select: +"/ [:chg | +"/ (self showRemovedHolder value or:[ chg removed not ]) +"/ and:[self showSameHolder value or:[chg delta ~~ #=]] +"/ ]. newList := self filterList: newList. newList := newList collect:[:chg | self listEntryFor:chg ]. self listHolder value ~= newList ifTrue:[ @@ -1206,8 +1285,9 @@ ] ] + "Modified: / 28-12-2011 / 15:46:15 / cg" - "Modified: / 01-08-2012 / 18:10:52 / Jan Vrany " + "Modified: / 12-02-2014 / 17:15:42 / Jan Vrany " ! ! !ChangeList methodsFor:'queries'! @@ -1319,30 +1399,33 @@ ! children + |app addIf showRemoved showSame| children isNil ifTrue:[ change isCompositeChange ifTrue:[ + app := self application. + children := OrderedCollection new: change changes size. - self application showConflictsOnlyHolder value ifTrue:[ - change changes do:[:chg| - (chg isConflict) ifTrue:[ - children add: ((self application listEntryFor: chg) parent: self) - ] - ]. + app showDefinitionsOnlyHolder value ifTrue:[ + addIf := [:chg | chg isOrContainsClassDefinitionChange]. ] ifFalse:[ - |showRemoved showSame| + app showConflictsOnlyHolder value ifTrue:[ + addIf := [:chg | chg isConflict]. + ] ifFalse:[ + showRemoved := app showRemovedHolder value. + showSame := app showSameHolder value. - showRemoved := self application showRemovedHolder value. - showSame := self application showSameHolder value. - - change changes do:[:chg| - ((showRemoved or:[ chg removed not ]) - and:[showSame or:[chg delta ~~ #=]]) - ifTrue:[ - children add: ((self application listEntryFor: chg) parent: self) - ] - ]. - ] + addIf := [:chg | + ((showRemoved or:[ chg removed not ]) + and:[showSame or:[chg delta ~~ #=]]) + ]. + ] + ]. + change changes do:[:chg| + (addIf value:chg) ifTrue:[ + children add: ((app listEntryFor: chg) parent: self) + ] + ]. ] ifFalse:[ children := #() ] @@ -1371,29 +1454,6 @@ "Created: / 31-08-2011 / 10:29:21 / cg" ! -iconDelta - | iconSelector | - - iconSelector := self iconSelector. - iconSelector isNil ifTrue:[^nil]. - self removed ifTrue:[iconSelector := iconSelector , #Grayed]. - ^self application class perform: iconSelector asSymbol. - - "Created: / 05-12-2009 / 14:11:06 / Jan Vrany " - "Modified: / 18-11-2011 / 14:56:33 / cg" -! - -iconRemoved - |appClass| - - appClass := self application class. - ^self removed - ifTrue: [appClass uncheckedIcon ] - ifFalse:[appClass checkedIcon ] - - "Created: / 05-12-2009 / 14:11:13 / Jan Vrany " -! - imageSource "return the source for the in-image version of the change" @@ -1479,18 +1539,18 @@ !ChangeList::ListEntry methodsFor:'displaying'! displayLabel:aLabel h:lH on:aGC x:newX y:y h:h + | list cx icon | - | list cx icon colW colS | list := self application. cx := x := newX. (list allowRemoveHolder value and:[list showRemovedHolder value]) ifTrue: [ - (icon := self iconRemoved) notNil ifTrue:[ - icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) - ]. - cx := cx + 22."experimental value - this looks good" + (icon := self iconRemoved) notNil ifTrue:[ + icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) + ]. + cx := cx + 22."experimental value - this looks good" ]. (icon := self iconDelta) notNil ifTrue:[ - icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) + icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) ]. cx := cx + 16."12 + 2px gap" @@ -1510,9 +1570,64 @@ "/ ]. "Modified: / 27-07-2012 / 17:13:24 / Jan Vrany " -! ! +! + +displayLabel:aLabel h:lH on:aGC x:newX y:y h:h isHighlightedAsSelected:isHighlightedAsSelected + | list cx icon | + + list := self application. + cx := x := newX. + (list allowRemoveHolder value and:[list showRemovedHolder value]) ifTrue: [ + (icon := self iconRemoved) notNil ifTrue:[ + icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) + ]. + cx := cx + 22."experimental value - this looks good" + ]. + (icon := self iconDelta) notNil ifTrue:[ + icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2) + ]. + cx := cx + 16."12 + 2px gap" + + super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h isHighlightedAsSelected:isHighlightedAsSelected. -!ChangeList::ListEntry methodsFor:'private'! +"/ "Now, display additional columns..." +"/ (list showColumn: #timestamp) ifTrue:[ +"/ cx := cx + (aLabel widthOn: aGC) + 5."px - padding" +"/ colS := change timeOfChangeIfKnown notNil +"/ ifTrue:[change timeOfChangeIfKnown printString] +"/ ifFalse:['???']. +"/ [ (colW := colS widthOn: aGC) > (aGC width - cx - 5) ] whileTrue:[ +"/ colS = '...' ifTrue:[ ^ self ]. +"/ colS := '...' , (colS copyFrom: 6). +"/ ]. +"/ super displayLabel:colS h:lH on:aGC x: (aGC width - 5 - colW) y:y h:h. +"/ ]. + + "Modified: / 27-07-2012 / 17:13:24 / Jan Vrany " +! + +iconDelta + | iconSelector | + + iconSelector := self iconSelector. + iconSelector isNil ifTrue:[^nil]. + self removed ifTrue:[iconSelector := iconSelector , #Grayed]. + ^self application class perform: iconSelector asSymbol. + + "Created: / 05-12-2009 / 14:11:06 / Jan Vrany " + "Modified: / 18-11-2011 / 14:56:33 / cg" +! + +iconRemoved + |appClass| + + appClass := self application class. + ^self removed + ifTrue: [appClass uncheckedIcon ] + ifFalse:[appClass checkedIcon ] + + "Created: / 05-12-2009 / 14:11:13 / Jan Vrany " +! iconSelector ^ application iconSelectorForChange:change @@ -1530,19 +1645,14 @@ !ChangeList class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.26 2013-09-05 23:18:30 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.37 2015-02-26 01:06:39 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.26 2013-09-05 23:18:30 cg Exp $' -! - -version_HG - - ^ '$Changeset: $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.37 2015-02-26 01:06:39 cg Exp $' ! version_SVN - ^ '$Id: Tools__ChangeList.st,v 1.26 2013-09-05 23:18:30 cg Exp $' + ^ '$Id: Tools__ChangeList.st,v 1.37 2015-02-26 01:06:39 cg Exp $' ! !