|
Class: ChangesBrowser
Object
|
+--GraphicsMedium
|
+--DisplaySurface
|
+--SimpleView
|
+--View
|
+--TopView
|
+--StandardSystemView
|
+--ChangesBrowser
|
+--ChangeSetBrowser
- Package:
- stx:libtool
- Category:
- Interface-Browsers
- Version:
- rev:
1.603
date: 2024/04/27 16:19:12
- user: cg
- file: ChangesBrowser.st directory: libtool
- module: stx stc-classLibrary: libtool
this implements a browser for the changes-file
(actually, it can display any sourceFile's contents).
See the extra document 'doc/misc/cbrowser.doc' for how to use this browser.
written jan 90 by claus
This is a very old leftover class (it was one of the very first apps in ST/X
and the Merovingian has not yet detected this one ;-)
At the time this was originally written, I had a 2Mb machine, and every memory byte was a very valuable.
Therefore, the original did not keep any infos in memory, but instead kept a list of change-chunk file offsets,
and parsed the chunks over and over (eg. when searching for classname/selector etc.)
Later, when bigger memories became available, more and more infos where cached in additional arrays (classname,
selector, etc.) and those where finally condensed into a single changeInfo object.
However, now that really enough memory is avail, this is really no longer useful, and we should keep
changeSet entries instead (which hold the same info plus more).
The ChangeSetBrowser does exactly this, but does not support all of the fancy compress/delete etc.
operations of the ChangesBrowser, to which we got used so much.
Thus, this one kept on living its zombie life and gets occasional features added (sigh)...
(Well, like many workhorses, they become ugly when aged, but still do their duty)
It MUST eventually be completely replaced by the ChangeSetBrowser class in the near future.
(Whenever someone finds time or gets pay for it ;-)
[Class variables:]
CompressSnapshotInfo if true (the default), snapshot entries
are also compressed in the compress function.
Some users prefer them to be not compressed.
Set it to false for this.
Notice:
this needs a total rewrite, to build up a changeSet from the file
(which did not exist when the ChangesBrowser was originally written)
and manipulate that changeSet.
This way, we get a browser for any upcoming incore changeSets for
free. Also, this will put the chunk analysation code into Change and
subclasses (where it belongs) and give a better encapsulation and
overall structure. Do not take this as an example for good style ;-)
The Change hierarchy is currently been completed, and the changes browser
should be adapted soon.
copyrightCOPYRIGHT (c) 1990 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
behavior
-
autoSelectNext
-
returning true here, makes a Delete operation automatically
select the next change
defaults
-
defaultIcon
-
return the browsers default window icon
-
defaultLabel
-
(comment from inherited method)
return the default label for views of my kind.
This can be redefined in subclasses or overwritten in
initialize methods.
-
isVisualStartable
-
return true, if this application can be started via #open.
(to allow start of a change browser via double-click in the browser)
help specs
-
helpSpec
-
This resource specification was automatically generated
by the UIHelpTool of ST/X.
image specs
-
executeMethodsToConflictOrEnd20x20Icon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self executeMethodsToConflictOrEnd20x20Icon inspect
ImageEditor openOnClass:self andSelector:#executeMethodsToConflictOrEnd20x20Icon
Icon flushCachedIcons
|
-
executeMethodsToEnd20x20Icon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self executeMethodsToEnd20x20Icon inspect
ImageEditor openOnClass:self andSelector:#executeMethodsToEnd20x20Icon
Icon flushCachedIcons
|
-
findNextForClassIcon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self findNextForClassIcon inspect
ImageEditor openOnClass:self andSelector:#findNextForClassIcon
Icon flushCachedIcons
|
-
findPreviousForClassIcon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self findPreviousForClassIcon inspect
ImageEditor openOnClass:self andSelector:#findPreviousForClassIcon
Icon flushCachedIcons
|
instance creation
-
openOn: aFilename
-
create & open a changes browser on a change file
menu specs
-
menuSpec
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpec
(Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpec)) startUp
|
-
menuSpecBrowse
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpecBrowse
(Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpecBrowse)) startUp
|
-
menuSpecChange
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpecChange
(Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpecChange)) startUp
|
-
menuSpecFile
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpecFile
(Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpecFile)) startUp
|
-
menuSpecHelp
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpecHelp
(Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpecHelp)) startUp
|
-
menuSpecSearch
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpecSearch
(Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpecSearch)) startUp
|
-
menuSpecSettings
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#menuSpecSettings
(Menu new fromLiteralArrayEncoding:(ChangesBrowser menuSpecSettings)) startUp
|
-
moreMenuApplyItems
-
-
toolbarMenuSpec
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:ChangesBrowser andSelector:#toolbarMenuSpec
(Menu new fromLiteralArrayEncoding:(ChangesBrowser toolbarMenuSpec)) startUp
|
private-changeFile access
-
readXMLChangesFrom: aStream inBackground: inBackground
-
read an XML source file (format as in campSmalltalk DTD)
-
readXMLChangesFromFile: changeFileName inBackground: inBackground
-
utilities
-
isXMLFile: aFilename
-
-
methodDefinitionSelectors
-
Squeak support
aspects
-
applyInOriginalNameSpace
-
-
applyNotInOriginalNameSpace
-
-
autoCompare
-
-
autoUpdate
-
enabled/disable automatic update from the change-file (for monitoring)
-
autoloadAsRequired
-
-
canDeleteChanges
-
makes the delete buttons in the toolbar visible
-
changeListSelectionHolder
-
-
editingClassSource
-
-
hasMultiSelection
-
-
hasMultiSelectionHolder
-
-
hasNoMultiSelection
-
-
hasNoMultiSelectionHolder
-
-
hasNoSelection
-
-
hasSelection
-
true if a change is selected
-
hasSelectionHolder
-
-
hasSingleSelection
-
-
ignorePublicPrivateCategories
-
-
leftCodeLabel: aString
-
change the string shown above the left codeView (defaults to: 'Current')
-
leftCodeLabelHolder
-
holds the string shown above the left codeView (defaults to: 'Current')
-
notEditingClassSource
-
-
notEditingClassSourceAndNotReadOnly
-
-
notReadOnly
-
-
readOnly: aBoolean
-
if readOnly, a number of menu items (writeback) are disabled
-
rightCodeLabel: aString
-
change the string shown above the right codeView (defaults to: 'Change')
-
rightCodeLabelHolder
-
holds the string shown above the right codeView (defaults to: 'Change')
-
showingDiffs
-
-
showingDiffsDefault
-
-
theSingleSelection
-
-
updateChangeSet
-
change & update
-
update: what with: aParameter from: changedObject
-
smalltalk is about to shut down -
- if change list was modified, ask user and save if requested.
compiler interface
-
wantChangeLog
-
sent by the compiler to ask if a changeLog entry should
be written when compiling. Return false here.
compiler interface-error handling
-
correctableError: aString position: relPos to: relEndPos from: aCompiler
-
compiler notifies us of an error - this should really not happen since
changes ought to be correct (did someone edit the changes file ??).
Show the bad change in the codeView and let codeView hilight the error;
no corrections allowed here therefore return false
-
correctableSelectorWarning: aString position: relPos to: relEndPos from: aCompiler
-
compiler notifies us of a warning
-
correctableWarning: aString position: relPos to: relEndPos from: aCompiler
-
compiler notifies us of an error - this should really not happen since
changes ought to be correct (did someone edit the changes file ??).
Show the bad change in the codeView and let codeView hilight the error;
no corrections allowed here therefore return false
-
error: aString position: relPos to: relEndPos from: aCompiler
-
compiler notifies us of an error - this should really not happen since
changes ought to be correct (did someone edit the changes file ??).
Show the bad change in the codeView and let codeView hilight the error
-
unusedVariableWarning: aString position: relPos to: relEndPos from: aCompiler
-
compiler notifies us of a (or some) unused variables;
hilight the error (relPos to relEndPos) and show a Box asking for continue/correct/abort;
this method should return true to the compiler if user wants the error
to be corrected; false otherwise
-
warning: aString position: relPos to: relEndPos from: aCompiler
-
compiler notifies us of a warning - ignore it
event handling
-
handlesKeyPress: key inView: view
-
this method is reached via delegation: are we prepared to handle
a keyPress in some other view ?
-
keyPress: key x: x y: y view: view
-
this method is reached via delegation from the changeListView
help
-
showActivity: someMessage
-
some activityNotification to be forwarded to the user;
show it in the windows title area here.
initialization & release
-
autoCompareChanged
-
sent from the compare-toggle
-
changeListMenu
-
return the menu for the change (upper) list
-
destroy
-
destroy the receiver; make certain, that boxes are destroyed too
-
initialize
-
oldStyle := true.
-
postRealize
-
(comment from inherited method)
postRealize actions - tell the application (if any).
-
pullDownMenu
-
return the top (pullDown) menu
-
setupTabSpec
-
-
toolbarMenu
-
return the top (pullDown) menu
menu actions
-
doAddToClassMap
-
add a class name mapping
-
doApply
-
user wants a change to be applied
-
doApplyAll
-
user wants all changes to be applied
-
doApplyClassFromBeginning
-
user wants all changes for this class from 1 to changeNr to be applied
-
doApplyClassRest
-
user wants all changes for this class from changeNr to be applied
-
doApplyFromBeginning
-
user wants all changes from 1 to changeNr to be applied
-
doApplyRest
-
apply all changes from changeNr to the end
-
doApplyToConflictOrEnd
-
apply all changes from changeNr to either a conflict (i.e. method exists)
or the end.
-
doBrowse
-
user wants a browser on the class of a change
-
doBrowseImplementors
-
open an implementors-browser
-
doBrowseSenders
-
user wants a browser on the class of a change
-
doCheckinAndDeleteClassAll
-
first checkin the selected changes class then delete all changes for it.
-
doCleanup
-
cleanup the changefile/changeset.
actions done:
- from the end, find changes which are equal to the current version
and not in the current changeset (i.e. represents the current version as built from CVS).
Then delete it incl. previous versions of it.
-
doCompare
-
compare change with current system version
-
doCompareAndCompress
-
remove all changes, which are equivalent to the current image version
-
doCompress
-
compress the change-set; this replaces multiple method-changes by the last
(i.e. the most recent) change
-
doCompressCheckins
-
remove previous checkins for selected class
-
doCompressClass
-
compress changes for the selected class.
this replaces multiple method-changes by the last (i.e. the most recent) change.
-
doCompressSelector
-
compress changes for the selected class & selector.
this replaces multiple method-changes by the last (i.e. the most recent) change.
-
doCopyToClipboard
-
user wants a change text to be copied to the clipboard
-
doDelete
-
delete currently selected change(s)
-
doDeleteAllForNamespace
-
delete all changes for classes with same namespace as currently selected change
-
doDeleteAndSelectPrevious
-
delete currently selected change(s)
-
doDeleteClassAll
-
delete all changes with same class as currently selected change
-
doDeleteClassAndPrivateClassesAll
-
delete all changes with same class and private classes
as currently selected change
-
doDeleteClassFromBeginning
-
delete changes with same class as currently selected change from the beginning
up to the selected change.
Useful to get rid of obsolete changes before a fileout or checkin entry.
-
doDeleteClassRest
-
delete rest of changes with same class as currently selected change
-
doDeleteClassSelectorAll
-
delete all changes with same class and selector as currently selected change
-
doDeleteClassSelectorOlder
-
delete this and older changes with same class and selector
as the currently selected change(s).
If the selected change is a class-definition change,
older definitions for this class are deleted.
If the selected change is a method-category change,
older category changes for this method are deleted.
If the selected change is a class comment change,
older comment changes for this class are deleted
-
doDeleteFromBeginning
-
delete all changes from 1 to the current
-
doDeleteRest
-
delete all changes from current to the end
-
doFileoutAndDeleteClassAll
-
first fileOut the selected changes class then delete all changes
for it.
-
doInspectChange
-
inspect the selected change(s)
-
doMakePatch
-
user wants a change to be made a patch
- copy it over to the patches file
-
doMakePermanent
-
user wants a change to be made permanent
- rewrite the source file where this change has to go
-
doSave
-
user wants a change to be appended to a file
-
doSaveClass
-
user wants changes for some class from current to end to be appended to a file
-
doSaveClassAll
-
user wants changes for some class from current to end to be appended to a file
-
doSaveClassFrom: startNr
-
user wants changes from current to end to be appended to a file
-
doSaveClassRest
-
user wants changes for some class from current to end to be appended to a file
-
doSaveRest
-
user wants changes from current to end to be appended to a file
-
doUpdate
-
reread the changes-file
-
doWriteBack
-
write back the list onto the changes file
-
findClass
-
findClass menu action: let user enter a classes name, and select the next change for that class
-
findFirstForClass
-
findNextForClass menu action: select the next change for the selected changes class
-
findFirstForClass: className
-
findNextForClass menu action: select the next change for the selected changes class
-
findLastForClass
-
findPreviousForClass menu action: select the previous change for the selected changes class
-
findLastForClass: className
-
findPreviousForClass menu action: select the previous change for the selected changes class
-
findLastSnapshot
-
findLastSnapshot menu action: select the last change which is for a snapShot-image save action
-
findNext
-
findNext menu action: select the next change.
Searches for what the last search was for; i.e. either same class or same selector
-
findNextDifference
-
same
-
findNextForClass
-
findNextForClass menu action: select the next change for the selected changes class
-
findNextForClass: className startingAt: startNr
-
findNextForClass menu action: select the next change for the selected changes class
-
findNextForClassStartingAt: startNr
-
findNextForClass menu action: select the next change for the selected changes class
-
findNextForSelector
-
findNextForSelector menu action: select the next change for the selected changes selector
-
findNextForSelector: pattern
-
findNextForSelector menu action: select the next change for the same selector pattern
-
findNextForString
-
-
findNextForWhich: aBlock
-
helper: select the next change for which aBlock evaluates to true
-
findNextForWhich: aBlock startingAt: changeNrToStartSearch
-
helper: select the next change for which aBlock evaluates to true
-
findNextOrPrevious: direction forWhich: aBlock startingAt: changeNrToStartSearch
-
helper: find and select the next or previous change for which aBlock evaluates to true
-
findNextSnapshot
-
findNextSnapshot menu action: select the next change which is for a snapShot-image save action
-
findNextWithString: searchString
-
-
findPrevious
-
findPrevious menu action: select the previous change.
Searches for what the last search was for; i.e. either same class or same selector
-
findPreviousDifference
-
same
-
findPreviousForClass
-
findPreviousForClass menu action: select the previous change for the selected changes class
-
findPreviousForClass: className startingAt: startNr
-
findPreviousForClass menu action: select the previous change for the selected changes class
-
findPreviousForClassStartingAt: startNr
-
findPreviousForClass menu action: select the previous change for the selected changes class
-
findPreviousForSelector
-
findPreviousForSelector menu action: select the previous change for the selected changes selector
-
findPreviousForSelector: pattern
-
findPreviousForSelector menu action: select the previous change for the same selector pattern
-
findPreviousForString
-
-
findPreviousForWhich: aBlock
-
helper: select the previous change for which aBlock evaluates to true
-
findPreviousForWhich: aBlock startingAt: changeNrToStartSearch
-
helper: select the previous change for which aBlock evaluates to true
-
findPreviousSnapshot
-
findPreviousSnapshot menu action: select the previous change which is for a snapShot-image save action
-
findPreviousWithString: searchString
-
-
findSelector
-
findSelector menu action: let user enter a selector, and select the next change for that selector
-
findString
-
-
ignorePublicPrivateCategories: aBoolean
-
-
menuExit
-
-
openAboutThisApplication
-
opens an about box for this application.
-
openSettingsDialog
-
#('Syntax Color' #'AbstractSettingsApplication::SyntaxColorSettingsAppl' )
-
setEnforcedNameSpace
-
-
setEnforcedPackage
-
Smalltalk allClassesDo:[:eachClass |
-
showAboutSTX
-
private
-
autoSelect: changeNr
-
select a change
-
autoSelectLast
-
select the last change
-
autoSelectOrEnd: changeNr
-
select the next change or the last
-
changeChunkAt: index
-
^ changeChunks at:index
-
changeClassNameAt: index
-
-
checkClassIsLoaded: aClass
-
check for and warn if a class is unloaded (helper for compare-change)
-
checkSingleSelectedChange
-
just a helper, check for a single selection
-
classFromEvaluatingTree: aParseTree
-
-
clearCodeView
-
clear the (lower) code view.
-
currentSourceForParseTree: parseTree
-
thisClass := self classFromEvaluatingTree:receiver.
-
isChangeSetBrowser
-
-
makeDiffViewInvisible
-
-
makeDiffViewVisible
-
-
nameSpaceForApply
-
-
newLabel: how
-
-
parseExpression: chunk
-
parse an expression; return a parseTree
-
parseExpression: text inNameSpace: nameSpace
-
parse an expression; return a parseTree
Usage example(s):
^ Parser parseExpression:text inNameSpace:nameSpace.
|
-
queryCloseText
-
made this a method for easy redefinition in subclasses
-
selectChange: changeNr
-
-
selectedClassNames
-
-
setChangeList
-
update the selection-list;
called after the changeList has been modified
** This is an obsolete interface - do not use it (it may vanish in future versions) **
-
setSingleSelection: changeNr
-
-
showNumberOfChanges
-
-
sourceOfChange: changeNr
-
-
timeStampPrintStringOf: ts
-
self basicNew timeStampPrintStringOf:(Timestamp now)
-
unselect
-
common unselect
-
updateChangeList
-
update the selection-list;
called after the changeList has been modified
-
withSelectedChangesDo: aBlock
-
just a helper, check for a selected change and evaluate aBlock
with busy cursor for every selected changeNr
-
withSelectedChangesInOrder: order do: aBlock
-
just a helper, check for a selected change and evaluate aBlock
with busy cursor for every selected changeNr.
order can be nil or #reverse
-
withSelectedChangesReverseDo: aBlock
-
just a helper, check for a selected change and evaluate aBlock
with busy cursor for every selected changeNr in reverse order
-
withSingleSelectedChangeDo: aBlock
-
just a helper, check for a single selection, and evaluate aBlock
with busy cursor for every selected changeNr
private-change access
-
changeIsCheckinInfo: changeNr
-
return true, if a change is a checkin info chunk
-
changeIsClassCommentChange: changeNr
-
-
changeIsFollowupMethodChange: changeNr
-
return true, if a change is a followup change (i.e. a followup change
in a bunch of methodsFor-changes)
-
changeIsSnapShotInfo: changeNr
-
return true, if a change is a snapShot info chunk
-
changeIsSpecialInfo: changeNr anyOf: wordsToCheck
-
return true, if a change is an info chunk
with info being any from wordsToCheck
(i.e. this should contain something like 'checkin', snapshot' etc.)
-
classNameFromAttributeChangeParseTree: aParseTree
-
mhmh - seems to always return the name of the nonMeta class - is this OK?
-
classNameFromClassDefinitionChange: changeNr
-
must parse the full changes text, to get privacy information.
-
classNameFromReceiverInParseTree: aParseTree
-
extrat the class name from a method-change, methodRemove or comment-change's
parse tree
-
classNameFromRemoveClassParseTree: aParseTree
-
tree is: Smalltalk removeClass: class
-
classNameFromRenameClassParseTree: aParseTree
-
tree is: Smalltalk renameClass: oldClass to: 'newName'
-
classNameOfChange: changeNr
-
return the classname of a change
(for classChanges (i.e. xxx class), the non-metaClassName (i.e. xxx) is returned)
-
extractSelectorOfMethodChange: changeNr
-
return a method-changes selector, or nil if it's not a methodChange
-
fullClassNameOfChange: changeNr
-
return the full classname of a change
(for classChanges (i.e. xxx class), a string ending in ' class' is returned.
-
isClassDefinitionChange: changeNr
-
must parse the full changes text, to get privacy information.
-
isTraitDefinitionChange: changeNr
-
-
namespaceOfChange: changeNr
-
return the namespace of a change or nil
-
numberOfChanges
-
-
ownerClassNameOfChange: changeNr
-
return the owner classname of a change
For a normal class, this is the className;
for a private class, this is the name of the owning class
-
realClassNameOfChange: changeNr
-
return the classname of a change.
- since parsing ascii methods is slow, keep result cached in
changeClassNames for the next query
-
selectorOfMethodCategoryChange: changeNr
-
return a methodCategory-change's selector,
or nil if it's not a methodCategoryChange
-
selectorOfMethodChange: changeNr
-
return a method-change's selector,
or nil if it's not a methodChange
-
sourceOfMethodChange: changeNr
-
return a method-changes source code, or nil if it's not a methodChange.
-
streamForChange: changeNr
-
answer a stream for change
private-changeFile access
-
changeFileName: aFileName
-
set the name of the changeFile
-
checkIfFileHasChanged
-
check if the changeFile has been modified since the last check;
install a timeout for rechecking after some time.
-
readChangesFile
-
read the changes file, create a list of header-lines (changeChunks)
and a list of chunk-positions (changePositions)
-
readChangesFileInBackground: inBackground
-
read the changes file, create a list of header-lines (changeChunks)
and a list of chunk-positions (changePositions).
Starting with 2.10.3, the entries are multi-col entries;
the cols are:
1 delta (only if comparing)
'+' -> new method (w.r.t. current state)
'-' -> removed method (w.r.t. current state)
'?' -> class does not exist currently
'=' -> change is the same as current methods source
'~' -> change is almost the same as current methods source
2 class/selector
3 type of change
doit
method
category change
4 timestamp
since comparing slows down startup time, it is now disabled by
default and can be enabled via a toggle.
-
writeBackChanges
-
write back the changes file. To avoid problems when the disk is full
or a crash occurs while writing (well, or someone kills us),
first write the stuff to a new temporary file. If this works ok,
rename the old change-file to a .bak file and finally rename the
tempfile back to the change-file.
That way, if anything happens, either the original file is left unchanged,
or we have at least a backup of the previous change file.
private-user interaction ops
-
appendChange: changeNr toFile: aFileNameOrFileNameString
-
append change to a file. return true if ok.
-
applyChange: changeNr
-
fileIn a change.
Answer true, if everything went ok.
-
compareCategoryChange: parseTree
-
-
compareChange: changeNr
-
compare a change with the current (in-image) version;
show the result of the compare (as dialog)
-
compareChange: changeNr showResult: doShowResult
-
compare a change with current version.
Return the result of the compare
same -> true,
different -> false,
uncomparable -> nil.
If doShowResult is true, the outcome is shown in a dialog/diffViewer.
-
compareCommentChange: parseTree
-
-
compareInstanceVariableNamesChange: parseTree
-
-
compareMethodSource: source1 withSource: source2 into: aThreeArgBlock
-
returns true/false/nil if same,different,undecided;
also provides a message and a beep-boolean via the passed-in block
-
compareMethodSource: newSource withVersionInClass: thisClass into: aThreeArgBlock
-
returns true/false/nil if same,different,undecided;
also provides a message and a beep-boolean via the passed in block
-
comparePackageChange: parseTree
-
-
comparePrimitiveDefinitionsChange: parseTree
-
-
comparePrimitiveFunctionsChange: parseTree
-
-
comparePrimitiveVariablesChange: parseTree
-
-
compareRemoveSelectorChange: parseTree
-
-
compressForClass: aClassNameOrNil
-
compress the change-set;
this replaces multiple method-changes by the last (i.e. the most recent) change.
If the class argument is nil, compress for all classes.
otherwise, only changes for that class are compressed.
-
compressForClass: aClassNameOrNil selector: selectorToCompressOrNil
-
compress the change-set;
this replaces multiple method-changes by the last (i.e. the most recent) change.
If the class argument is nil, compress for all classes.
otherwise, only changes for that class are compressed.
-
deleteChange: changeNr
-
delete a change
-
deleteChangesFrom: start to: stop
-
delete a range of changes
-
makeChangeAPatch: changeNr
-
append change to patchfile
-
makeChangePermanent: changeNr
-
rewrite the source file where change changeNr lies
-
silentDeleteChange: changeNr
-
delete a change; do not update the changeListView
-
silentDeleteChangesFor: aClassName from: start to: stop
-
delete changes for a given class in a range.
Return the number of deleted changes.
-
silentDeleteChangesFor: aClassName selector: selector from: start to: stop
-
delete changes for given class/selector in a range.
Return the number of deleted changes.
-
silentDeleteChangesForClassAndPrivateClasses: aClassName from: start to: stop
-
delete changes for a given class and its private classes in a range.
Return the number of deleted changes.
-
silentDeleteChangesForNamespace: aNamespace from: start to: stop
-
delete changes for a given namespace in a range.
Return the number of deleted changes.
-
silentDeleteCheckinInfosFor: aClassName from: start to: stop
-
delete checkn infos for given class in a range.
Return the number of deleted changes.
-
silentDeleteClassCommentChangesFor: aClassName from: start to: stop
-
delete class comment changes for given class in a range.
Return the number of deleted changes.
-
silentDeleteClassDefinitionChangesFor: aClassName from: start to: stop
-
delete class definition changes for given class in a range.
Return the number of deleted changes.
-
silentDeleteInternalChange: changeNr
-
delete a change do not update changeListView
-
silentDeleteMethodCategoryChangesFor: aClassName selector: selector from: start to: stop
-
delete method category changes for given class/selector in a range.
Return the number of deleted changes.
-
silentDeleteMethodChangesFor: aClassName selector: selector from: start to: stop
-
delete method changes for given class/selector in a range.
Return the number of deleted changes.
-
updateDiffView
-
-
updateDiffViewFor: changeNr
-
not a method-change
termination
-
askIfChangesAreToBeWrittenBack
-
-
closeRequest
-
window manager wants me to go away
-
saveAndTerminate
-
update the changes file and quit.
Don't depend on this being sent, not all window managers
send it; instead, they simply destroy the view.
user interaction
-
askForSearch: msg initialAnswer: initial thenSearchUsing: searchBlock2 onCancel: cancelBlock
-
-
askForSearchString: msg initialAnswer: initial directionInto: aValueHolder
-
common code to open a search box
Usage example(s):
self new askForSearchString:'foo' initialAnswer:'bla' directionInto:(false asValue)
|
-
autoUpdate: aBoolean
-
enabled/disable automatic update from the change-file (for monitoring)
-
autoloadAsRequired: aBoolean
-
enabled/disable automatic load of unloaded classes
-
changeSelection: lineNrCollection
-
show a change in the codeView
-
classOfChange: changeNr
-
Transcript showCR:msg.
-
classOfChange: changeNr ifAbsent: exceptionBlock
-
answer the class that is subject to the change at changeNr.
The classes owning class may be autoloaded, if autoloadAsRequired is true.
-
doubleClickOnChange: lineNr
-
action performed when a change-list entry is doubleClicked
-
noChangesAllowed
-
show a warning that changes cannot be changed
-
saveClass: aClassName from: startNr
-
user wants changes from current to end to be appended to a file
-
selectionChanged
-
-
updateInfoAfterChangedSelection
-
update the info label
-
updateSourceCodeAfterChangedSelection
-
show a change in the codeView
ChangeFileReader
ChangeInfo
|