--- a/AbstractFileBrowser.st Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractFileBrowser.st Mon Apr 01 14:07:29 2013 +0100
@@ -6913,9 +6913,9 @@
stream nextPutAllLines:info.
titleStream := WriteStream on:''.
- titleStream nextPutAll:'File duplicates in director'.
+ titleStream nextPutAll:'File duplicates in directory'.
directories size == 1 ifTrue:[
- titleStream nextPutAll:'y: ', directories first asString.
+ titleStream nextPutAll:'y: '; nextPutAll: directories first asString.
] ifFalse:[
titleStream nextPutLine:'ies: '.
directories do:[:dir|
@@ -9343,11 +9343,11 @@
!AbstractFileBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.516 2013-03-21 11:50:39 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.517 2013-03-31 20:12:44 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.516 2013-03-21 11:50:39 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.517 2013-03-31 20:12:44 cg Exp $'
!
version_HG
--- a/AbstractFileFinderApplicationComponent.st Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractFileFinderApplicationComponent.st Mon Apr 01 14:07:29 2013 +0100
@@ -37,6 +37,7 @@
"
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'accessing'!
accessLock
@@ -57,6 +58,7 @@
"Modified (format): / 11-01-2012 / 22:41:01 / cg"
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'actions'!
changeInformationTo:aString
@@ -196,6 +198,7 @@
].
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'aspects'!
autoSelectInBrowser
@@ -287,6 +290,7 @@
^ shownListHolder.
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'change & update'!
update:something with:aParameter from:changedObject
@@ -303,6 +307,7 @@
super update:something with:aParameter from:changedObject
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'drag & drop'!
getDisplayObjects:anArgument
@@ -345,6 +350,7 @@
].
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'event handling'!
fileDoubleClick:entries
@@ -365,6 +371,7 @@
app notNil ifTrue:[
openedAppl := app openApplForFile:file.
(openedAppl notNil and:[openedAppl isTextEditor]) ifTrue:[
+ openedAppl window assignKeyboardFocusToFirstInputField. "/ should this be done in openApplForFile?
contentsPattern := self contentsPatternHolder value.
(contentsPattern notNil and:[ contentsPattern notEmpty and:[contentsPattern ~= '*']]) ifTrue:[
openedAppl searchForPattern:contentsPattern ignoreCase:(self ignoreCaseInContents value).
@@ -432,6 +439,7 @@
^ false
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'initialization'!
initialize
@@ -444,6 +452,7 @@
"Modified: / 12-01-2012 / 01:39:27 / cg"
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'queries'!
hasOneFileSelected
@@ -459,6 +468,7 @@
^ sel notEmptyOrNil
! !
+
!AbstractFileFinderApplicationComponent methodsFor:'tasks'!
stopSearchTaskOrAbort
@@ -474,14 +484,15 @@
"Created: / 12-01-2012 / 01:48:42 / cg"
! !
+
!AbstractFileFinderApplicationComponent class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.8 2013-01-26 21:27:34 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.9 2013-03-28 16:48:59 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.8 2013-01-26 21:27:34 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.9 2013-03-28 16:48:59 cg Exp $'
!
version_HG
--- a/AbstractLauncherApplication.st Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractLauncherApplication.st Mon Apr 01 14:07:29 2013 +0100
@@ -2029,6 +2029,13 @@
^ XWorkstation newDispatchingFor:displayName.
!
+bringWindowOntoScreen:aWindow
+ "shift & resize a view to be visible"
+
+ aWindow topView origin:(aWindow origin max:(10@10)).
+ aWindow topView extent:(aWindow extent min:(Display usableExtent - (100@100))).
+!
+
deIconifyAllWindows
self allTopViewsDo:[:eachTopView | eachTopView expand]
@@ -7003,11 +7010,11 @@
!AbstractLauncherApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.425 2013-03-21 20:17:09 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.426 2013-03-28 18:18:56 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.425 2013-03-21 20:17:09 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.426 2013-03-28 18:18:56 cg Exp $'
!
version_HG
--- a/AbstractSettingsApplication.st Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractSettingsApplication.st Mon Apr 01 14:07:29 2013 +0100
@@ -5674,7 +5674,7 @@
^ self
].
- serverToStart := serverClass runningServers asSet.
+ serverToStart := serverClass runningServers asNewSet.
serverToStart addAll:self class createdServers.
serverToStart isEmpty ifTrue:[
^ self
@@ -5722,17 +5722,17 @@
serverClass := self serverClass.
(serverClass notNil and:[serverClass isLoaded]) ifTrue:[
- instances := serverClass runningServers asSet.
- instances addAll:((settingsDialog getAllChildrenAppsForApplication:self)
- collect:[:aApp| aApp httpServerInstance]).
- instances := instances select:[:i | i port notNil].
- highestUsedPortNr := instances
- inject:(serverClass defaultPort - 1)
- into:[:maxSoFar :thisServer | thisServer port max:maxSoFar].
-
- portToUse := highestUsedPortNr + 1
+ instances := serverClass runningServers asNewSet.
+ instances addAll:((settingsDialog getAllChildrenAppsForApplication:self)
+ collect:[:aApp| aApp httpServerInstance]).
+ instances := instances select:[:i | i port notNil].
+ highestUsedPortNr := instances
+ inject:(serverClass defaultPort - 1)
+ into:[:maxSoFar :thisServer | thisServer port max:maxSoFar].
+
+ portToUse := highestUsedPortNr + 1
] ifFalse:[
- portToUse := 8080
+ portToUse := 8080
].
self portNumberChannel value:portToUse.
@@ -18506,11 +18506,11 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.461 2013-03-19 11:50:07 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.462 2013-03-28 23:29:00 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.461 2013-03-19 11:50:07 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.462 2013-03-28 23:29:00 stefan Exp $'
!
version_HG
--- a/ChangeSetBrowser.st Sun Mar 31 18:03:22 2013 +0100
+++ b/ChangeSetBrowser.st Mon Apr 01 14:07:29 2013 +0100
@@ -47,6 +47,7 @@
"
! !
+
!ChangeSetBrowser class methodsFor:'instance creation'!
open
@@ -85,6 +86,7 @@
"Modified: / 17-02-2011 / 10:29:50 / cg"
! !
+
!ChangeSetBrowser class methodsFor:'defaults'!
defaultLabel
@@ -93,6 +95,7 @@
"Created: / 6.2.1998 / 13:25:47 / cg"
! !
+
!ChangeSetBrowser class methodsFor:'menu specs'!
menuSpec
@@ -544,6 +547,7 @@
)
! !
+
!ChangeSetBrowser methodsFor:'initialization & release'!
askIfChangesAreToBeWrittenBack
@@ -623,6 +627,7 @@
^ "false" super showingDiffsDefault
! !
+
!ChangeSetBrowser methodsFor:'menu aspects'!
hasNotUndoableChangeSelected
@@ -666,6 +671,7 @@
^ false
! !
+
!ChangeSetBrowser methodsFor:'private'!
applyChange:changeNr
@@ -851,9 +857,9 @@
readChangesFileInBackground:dummy
"read the changeSet, create a list of header-lines"
- |tabSpec|
+ self withCursor:(Cursor read) do:[
+ |tabSpec|
- self withCursor:(Cursor read) do:[
changeSet size == 0 ifTrue:[
changeFileName notNil ifTrue:[
changeSet := self class readXMLChangesFromFile:changeFileName inBackground:false.
@@ -872,7 +878,7 @@
changeChunks := OrderedCollection new.
changeHeaderLines := OrderedCollection new.
- changeSet do:[:aChange | |entry|
+ changeSet do:[:aChange | |entry t|
changeChunks add:(aChange printString).
"/ changeHeaderLines add:(aChange printString)
entry := MultiColListEntry new.
@@ -882,8 +888,8 @@
entry colAt:3 put:''. "/ changeType.
(aChange respondsTo:#timeOfChangeIfKnown) ifTrue:[
- aChange timeOfChangeIfKnown notNil ifTrue:[
- entry colAt:4 put:(aChange timeOfChangeIfKnown printString).
+ (t := aChange timeOfChangeIfKnown) notNil ifTrue:[
+ entry colAt:4 put:(self timeStampPrintStringOf:t).
]
].
changeHeaderLines add:entry
@@ -978,6 +984,7 @@
"Modified: / 7.2.1998 / 19:52:44 / cg"
! !
+
!ChangeSetBrowser methodsFor:'user actions'!
doInspectChange
@@ -1032,12 +1039,14 @@
super updateDiffViewFor:changeNr.
! !
+
!ChangeSetBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.56 2011/02/17 09:30:10 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.57 2013-03-31 11:58:23 cg Exp $'
!
version_CVS
- ^ '§Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.56 2011/02/17 09:30:10 cg Exp §'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.57 2013-03-31 11:58:23 cg Exp $'
! !
+
--- a/ChangesBrowser.st Sun Mar 31 18:03:22 2013 +0100
+++ b/ChangesBrowser.st Mon Apr 01 14:07:29 2013 +0100
@@ -3475,6 +3475,10 @@
^ chunk
!
+timeStampPrintStringOf:ts
+ ^ ts printString
+!
+
unselect
"common unselect"
@@ -6041,7 +6045,7 @@
entry colAt:2 put:changeString.
entry colAt:3 put:changeType.
timeStampInfo notNil ifTrue:[
- entry colAt:4 put:timeStampInfo.
+ entry colAt:4 put:(browser timeStampPrintStringOf:timeStampInfo).
].
changeHeaderLines add:entry
!
@@ -6562,11 +6566,11 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.434 2013-03-04 12:32:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.435 2013-03-31 11:57:41 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.434 2013-03-04 12:32:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.435 2013-03-31 11:57:41 cg Exp $'
!
version_HG
--- a/DebugView.st Sun Mar 31 18:03:22 2013 +0100
+++ b/DebugView.st Mon Apr 01 14:07:29 2013 +0100
@@ -343,6 +343,36 @@
"Created: / 06-03-2012 / 12:50:30 / cg"
!
+isHaltToBeIgnoredIn:haltingMethod atLineNr:lineNrInHaltingMethod modifyEntryCount:modifyCount
+ "should a halt be ignored ?"
+
+ IgnoredHalts isNil ifTrue:[^ false].
+
+ "/ Transcript showCR:'halt/break in ',haltingMethod printString,' at ',lineNrInHaltingMethod printString.
+ IgnoredHalts do:[:ign |
+ (ign isHaltIgnoredInMethod:haltingMethod line:lineNrInHaltingMethod) ifTrue:[
+ Transcript show:'Debugger [info]: halt/break ignored in ', haltingMethod whoString.
+ Transcript show:' ('; show:ign; showCR:')'.
+
+ modifyCount ifTrue:[ ign decrementIgnoreCount ].
+ ign isHaltIgnored ifFalse:[
+ Transcript showCR:'Debugger [info]: no longer ignore halt in ', haltingMethod whoString.
+ IgnoredHalts remove:ign ifAbsent:[].
+ ].
+ ^ true.
+ ].
+ ].
+
+ IgnoredHalts := IgnoredHalts reject:[:ign | ign isActive not].
+ IgnoredHalts isEmpty ifTrue:[
+ IgnoredHalts := nil.
+ ].
+
+ ^ false.
+
+ "Modified (comment): / 06-03-2012 / 12:51:43 / cg"
+!
+
removeInactiveIgnores
IgnoredHalts notNil ifTrue:[
IgnoredHalts := IgnoredHalts select:[:i | i isActive].
@@ -6002,6 +6032,10 @@
haltingMethod := haltingContext method.
lineNrOfHalt := haltingContext lineNumber.
+ (lineNrOfHalt isNil or:[lineNrOfHalt <= 0]) ifTrue:[
+ Transcript showCR:'no halt lineNr found'.
+ ^ self
+ ].
].
self class
@@ -6262,7 +6296,7 @@
"/ Transcript showCR:c.
].
- ^ self
+ ^ self class
isHaltToBeIgnoredIn:haltingMethod
atLineNr:lineNrInHaltingMethod
modifyEntryCount:true.
@@ -6271,36 +6305,6 @@
"Modified: / 06-03-2012 / 12:54:09 / cg"
!
-isHaltToBeIgnoredIn:haltingMethod atLineNr:lineNrInHaltingMethod modifyEntryCount:modifyCount
- "should a halt be ignored ?"
-
- IgnoredHalts isNil ifTrue:[^ false].
-
- "/ Transcript showCR:'halt/break in ',haltingMethod printString,' at ',lineNrInHaltingMethod printString.
- IgnoredHalts do:[:ign |
- (ign isHaltIgnoredInMethod:haltingMethod line:lineNrInHaltingMethod) ifTrue:[
- Transcript show:'Debugger [info]: halt/break ignored in ', haltingMethod whoString.
- Transcript show:' ('; show:ign; showCR:')'.
-
- modifyCount ifTrue:[ ign decrementIgnoreCount ].
- ign isHaltIgnored ifFalse:[
- Transcript showCR:'Debugger [info]: no longer ignore halt in ', haltingMethod whoString.
- IgnoredHalts remove:ign ifAbsent:[].
- ].
- ^ true.
- ].
- ].
-
- IgnoredHalts := IgnoredHalts reject:[:ign | ign isActive not].
- IgnoredHalts isEmpty ifTrue:[
- IgnoredHalts := nil.
- ].
-
- ^ false.
-
- "Modified (comment): / 06-03-2012 / 12:51:43 / cg"
-!
-
setContext:aContext
"show calling chain from aContext in the walk-back listview"
@@ -8069,16 +8073,18 @@
aStream nextPutAll:' until '.
ignoreEndTime printOn:aStream.
] ifFalse:[
- (ignoreCount > 0) ifTrue:[
- aStream nextPutAll:' for '.
- ignoreCount printOn:aStream.
- ] ifFalse:[
- (ignoreCount < 0) ifTrue:[
- aStream nextPutAll:' forEver'.
+ (ignoreCount notNil) ifTrue:[
+ (ignoreCount > 0) ifTrue:[
+ aStream nextPutAll:' for '.
+ ignoreCount printOn:aStream.
] ifFalse:[
- aStream nextPutAll:' no longer'.
+ (ignoreCount < 0) ifTrue:[
+ aStream nextPutAll:' forEver'.
+ ] ifFalse:[
+ aStream nextPutAll:' no longer'.
+ ].
].
- ].
+ ]
].
].
@@ -8123,9 +8129,9 @@
^ ignoreEndTime > Timestamp now
].
ignoreCount notNil ifTrue:[
- ^ ignoreCount > 0
- ].
- ^ false
+ ^ ignoreCount == -1 or:[ ignoreCount > 0 ]
+ ].
+ ^ true
"Created: / 06-03-2012 / 12:39:46 / cg"
!
@@ -8283,11 +8289,11 @@
!DebugView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.578 2013-03-27 19:29:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.579 2013-03-28 15:04:49 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.578 2013-03-27 19:29:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.579 2013-03-28 15:04:49 cg Exp $'
!
version_HG
--- a/DictionaryInspectorView.st Sun Mar 31 18:03:22 2013 +0100
+++ b/DictionaryInspectorView.st Mon Apr 01 14:07:29 2013 +0100
@@ -44,6 +44,7 @@
"
! !
+
!DictionaryInspectorView methodsFor:'event handling'!
keyPress:key x:x y:y
@@ -63,6 +64,7 @@
super keyPress:key x:x y:y
! !
+
!DictionaryInspectorView methodsFor:'initialization & release'!
initialize
@@ -78,6 +80,7 @@
hideNilValues := false.
! !
+
!DictionaryInspectorView methodsFor:'menu'!
fieldMenu
@@ -176,6 +179,7 @@
('-')
('Owners' showOwners )
('Ref Chains' showReferences )
+ ('Ref Chains to Key' showReferencesToKey )
('-')
('Browse' browse )
('Browse Class Hierarchy' browseClassHierarchy )
@@ -236,6 +240,7 @@
"Modified: / 26-09-2012 / 13:20:59 / cg"
! !
+
!DictionaryInspectorView methodsFor:'menu actions'!
browse
@@ -379,8 +384,16 @@
UserPreferences systemBrowserClass browseReferendsOf:(key asSymbol)
].
]
+!
+
+showReferencesToKey
+ self selectedKey class hasImmediateInstances ifTrue:[
+ ^ self warn:'Sorry - cannot show references to immediate objects'
+ ].
+ ObjectMemory displayRefChainTo:(self selectedKey)
! !
+
!DictionaryInspectorView methodsFor:'private'!
allNumericKeys
@@ -642,6 +655,7 @@
].
! !
+
!DictionaryInspectorView methodsFor:'user interaction'!
indexedValueAtIndex:idx
@@ -659,14 +673,15 @@
inspectedObject at:key put:newValue.
! !
+
!DictionaryInspectorView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.78 2013-01-17 10:48:34 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.79 2013-03-31 09:58:21 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.78 2013-01-17 10:48:34 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.79 2013-03-31 09:58:21 cg Exp $'
!
version_HG
--- a/InspectorView.st Sun Mar 31 18:03:22 2013 +0100
+++ b/InspectorView.st Mon Apr 01 14:07:29 2013 +0100
@@ -1257,10 +1257,7 @@
<resource: #programMenu>
- |items m sel protocolMenu localProtocolMenu
- protocols protocolsSorted
- selectorsByFirstCharacter alphaMenu
- localSelectors|
+ |items m sel|
sel := self selection.
@@ -1363,74 +1360,6 @@
].
].
- protocols := Dictionary new.
- selectorsByFirstCharacter := Dictionary new.
- object class withAllSuperclassesDo:[:eachClass |
- eachClass methodDictionary keysAndValuesDo:[:sel :m |
- sel numArgs == 0 ifTrue:[
- (protocols at:m category ifAbsentPut:[Set new]) add:sel.
- (selectorsByFirstCharacter at:(sel first asString) ifAbsentPut:[Set new]) add:sel.
- ]
- ].
- ].
-
- protocolsSorted := protocols keys asArray sort.
- protocolMenu := PopUpMenu
- labels:#('alphabetical' '=') , protocolsSorted
- selectors:#(nil nil) , protocolsSorted.
-
- protocolMenu
- subMenuAt:'alphabetical'
- put:[
- |firstChars|
-
- firstChars := selectorsByFirstCharacter keys asOrderedCollection sort.
- alphaMenu := PopUpMenu
- labels:firstChars
- selector:#mmm
- args:firstChars
- receiver:self.
- firstChars do:[:ch |
- alphaMenu
- subMenuAt:ch
- put:[
- |selectors sortedSelectors|
-
- selectors := selectorsByFirstCharacter at:ch.
- sortedSelectors := selectors asArray sort.
- protocolMenu := PopUpMenu
- labels:sortedSelectors
- selector:#letSelectedObjectPerform:
- args:sortedSelectors
- receiver:self.
- ]
- ].
- alphaMenu
- ].
-
- protocolsSorted do:[:p |
- protocolMenu
- subMenuAt:p
- put:[
- |selectors sortedSelectors|
-
- selectors := protocols at:p.
- sortedSelectors := selectors asArray sort.
- protocolMenu := PopUpMenu
- labels:sortedSelectors
- selector:#letSelectedObjectPerform:
- args:sortedSelectors
- receiver:self.
- ]
- ].
-
- localSelectors := object class methodDictionary keys asArray sort.
- localProtocolMenu := PopUpMenu
- labels:localSelectors
- selector:#letSelectedObjectPerform:
- args:localSelectors
- receiver:self.
-
items := items , (self sortOrderItems).
items := items , (self numberBaseItems).
@@ -1438,8 +1367,8 @@
itemList:items
resources:resources.
- m subMenuAt:#protocolMenu put:protocolMenu.
- m subMenuAt:#localProtocolMenu put:localProtocolMenu.
+ m subMenuAt:#protocolMenu put:(self protocolMenu).
+ m subMenuAt:#localProtocolMenu put:(self localProtocolMenu).
(self theSingleSelectionIndex isNil) ifTrue:[
m disableAll:#(doFollow doInspect doBasicInspect doNewInspect
@@ -1463,11 +1392,30 @@
m disable:#browseMethodsClass
].
+ sel := nil. "/ release ref to sel; helps reference finder
+
^ m
"Modified: / 20-07-2012 / 10:50:45 / cg"
!
+localProtocolMenu
+ "return the menu for the inspected object's local implemented messages"
+
+ |localSelectors labels localProtocolMenu|
+
+ localSelectors := object class methodDictionary keys asArray sort.
+ "/ kludge: '-' and '=' are special in a menu
+ labels := localSelectors collect:[:sel | (#('-' '=') includes:sel) ifTrue:[' ',sel] ifFalse:[sel]].
+ localProtocolMenu := PopUpMenu
+ labels:labels
+ selector:#letSelectedObjectPerform:
+ args:localSelectors
+ receiver:self.
+
+ ^ localProtocolMenu
+!
+
numberBaseItems
^ {
#('-') .
@@ -1595,6 +1543,74 @@
^ #()
!
+protocolMenu
+ "return the menu for the inspected object's implemented messages"
+
+ |protocols protocolsSorted selectorsByFirstCharacter protocolMenu|
+
+ protocols := Dictionary new.
+ selectorsByFirstCharacter := Dictionary new.
+ object class withAllSuperclassesDo:[:eachClass |
+ eachClass methodDictionary keysAndValuesDo:[:sel :m |
+ sel numArgs == 0 ifTrue:[
+ (protocols at:m category ifAbsentPut:[Set new]) add:sel.
+ (selectorsByFirstCharacter at:(sel first asString) ifAbsentPut:[Set new]) add:sel.
+ ]
+ ].
+ ].
+
+ protocolsSorted := protocols keys asArray sort.
+ protocolMenu := PopUpMenu
+ labels:#('alphabetical' '=') , protocolsSorted
+ selectors:#(nil nil) , protocolsSorted.
+
+ protocolMenu
+ subMenuAt:'alphabetical'
+ put:[
+ |firstChars alphaMenu|
+
+ firstChars := selectorsByFirstCharacter keys asOrderedCollection sort.
+ alphaMenu := PopUpMenu
+ labels:firstChars
+ selector:#mmm
+ args:firstChars
+ receiver:self.
+ firstChars do:[:ch |
+ alphaMenu
+ subMenuAt:ch
+ put:[
+ |selectors sortedSelectors|
+
+ selectors := selectorsByFirstCharacter at:ch.
+ sortedSelectors := selectors asArray sort.
+ PopUpMenu
+ labels:sortedSelectors
+ selector:#letSelectedObjectPerform:
+ args:sortedSelectors
+ receiver:self.
+ ]
+ ].
+ alphaMenu
+ ].
+
+ protocolsSorted do:[:p |
+ protocolMenu
+ subMenuAt:p
+ put:[
+ |selectors sortedSelectors|
+
+ selectors := protocols at:p.
+ sortedSelectors := selectors asArray sort.
+ PopUpMenu
+ labels:sortedSelectors
+ selector:#letSelectedObjectPerform:
+ args:sortedSelectors
+ receiver:self.
+ ]
+ ].
+ ^ protocolMenu
+!
+
sortOrderItems
object class instSize == 0 ifTrue:[ ^ #() ].
^ {
@@ -3489,10 +3505,10 @@
!InspectorView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.301 2013-03-26 11:18:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.302 2013-03-31 09:52:01 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.301 2013-03-26 11:18:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.302 2013-03-31 09:52:01 cg Exp $'
! !
--- a/Makefile Sun Mar 31 18:03:22 2013 +0100
+++ b/Makefile Mon Apr 01 14:07:29 2013 +0100
@@ -10,14 +10,9 @@
include Make.spec
include Make.proto
-BASE_CONF=osx_x
+BASE_CONF=osx_x/gcc
BASE_CONF_VENDOR=mac
CONF_PACKS=
CONF_TOOLS=
include ../rules/stdRules
-
-makefile: mf
-
-mf:
- $(TOP)/rules/stmkmf
--- a/NewLauncher.st Sun Mar 31 18:03:22 2013 +0100
+++ b/NewLauncher.st Mon Apr 01 14:07:29 2013 +0100
@@ -4161,6 +4161,10 @@
itemValue: [self migrateWindow:view];
enabled:(view windowGroup isModal not);
translateLabel: true).
+ submenu addItem:(MenuItem new
+ label: 'Bring onto Screen...';
+ itemValue: [self bringWindowOntoScreen:view];
+ translateLabel: true).
submenu addSeparator.
submenu addItem:(MenuItem new
@@ -4990,11 +4994,11 @@
!NewLauncher class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.455 2013-03-25 21:25:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.456 2013-03-28 18:19:30 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.455 2013-03-25 21:25:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.456 2013-03-28 18:19:30 cg Exp $'
!
version_HG
--- a/SystemBrowser.st Sun Mar 31 18:03:22 2013 +0100
+++ b/SystemBrowser.st Mon Apr 01 14:07:29 2013 +0100
@@ -3033,13 +3033,19 @@
]
].
].
-
+ (Smalltalk classNamed:aSelectorString) notNil ifTrue:[
+ top20 := (OrderedCollection withAll:top20) addFirst:('>> Browse class ',aSelectorString,' <<'); yourself.
+ ].
choice := Dialog
choose:(title,' - none found.\\Browse implementors of a similar selector or cancel:' withCRs)
fromList:top20
lines:10.
choice notEmptyOrNil ifTrue:[
- self browseImplementorsOf:choice in:aCollectionOfClasses ignoreCase:ignoreCase title:'Implementors of ',choice.
+ (choice startsWith:'>>') ifTrue:[
+ self openInClass:(Smalltalk classNamed:aSelectorString) selector:nil.
+ ] ifFalse:[
+ self browseImplementorsOf:choice in:aCollectionOfClasses ignoreCase:ignoreCase title:'Implementors of ',choice.
+ ]
].
^ nil
].
@@ -5989,7 +5995,7 @@
!SystemBrowser class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.310 2013-03-22 11:36:48 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.311 2013-03-30 00:09:35 cg Exp $'
!
version_HG
--- a/Tools_ClassList.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools_ClassList.st Mon Apr 01 14:07:29 2013 +0100
@@ -1888,6 +1888,7 @@
aClass isLoaded ifFalse:[
"/ nm := nm,(' (?) ' colorizeAllWith:Color grey).
] ifTrue:[
+ aClass isAbstract ifTrue:[ nm := nm allItalic ].
nm := nm,((' (%1+%2) ' bindWith:(aClass methodDictionary size) with:(aClass class methodDictionary size))
colorizeAllWith:self class pseudoEntryForegroundColor).
].
@@ -2026,10 +2027,10 @@
!ClassList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.72 2013-03-30 14:15:52 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.72 2013-03-30 14:15:52 cg Exp $'
! !
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_HierarchicalClassList.st Mon Apr 01 14:07:29 2013 +0100
@@ -0,0 +1,322 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+ 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.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+ClassList subclass:#HierarchicalClassList
+ instanceVariableNames:'topClassHolder'
+ classVariableNames:'InheritedEntry'
+ poolDictionaries:''
+ category:'Interface-Browsers-New'
+!
+
+!HierarchicalClassList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+ 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.
+"
+!
+
+documentation
+"
+ Like a ClassList, but shows classes hierarchical.
+
+ If topClassHolders value is non-nil, only that classes hierarchy
+ is shown.
+
+ embeddable application displaying the classes as listed by
+ the inputGenerator.
+ Provides an outputGenerator, which enumerates the classes and
+ their protocols (method-categories) in the selected classes.
+
+ [author:]
+ Claus Gittinger (cg@exept.de)
+"
+
+
+! !
+
+!HierarchicalClassList class methodsFor:'initialization'!
+
+initialize
+ InheritedEntry := '* inheritance *'
+
+ "Created: / 24.2.2000 / 20:19:19 / cg"
+! !
+
+!HierarchicalClassList class methodsFor:'queries-plugin'!
+
+aspectSelectors
+ ^ super aspectSelectors ,
+ #(
+ topClassHolder
+ )
+
+
+
+! !
+
+!HierarchicalClassList methodsFor:'accessing'!
+
+showMethodComplexity:aValueHolder
+
+ "Created: / 05-11-2007 / 17:15:35 / cg"
+!
+
+showMethodInheritance:aValueHolder
+
+ "Created: / 05-11-2007 / 17:15:23 / cg"
+!
+
+showMethodTypeIcon:aValueHolder
+
+ "Created: / 05-11-2007 / 17:15:42 / cg"
+! !
+
+!HierarchicalClassList methodsFor:'aspects'!
+
+methodVisibilityHolder:aValueHolder
+
+ "Created: / 05-11-2007 / 17:15:48 / cg"
+!
+
+topClassHolder
+ topClassHolder isNil ifTrue:[
+ topClassHolder := Object asValue.
+ topClassHolder addDependent:self
+ ].
+ ^ topClassHolder
+!
+
+topClassHolder:aValueHolder
+ |oldTopClass newTopClass|
+
+ oldTopClass := topClassHolder value.
+
+ topClassHolder notNil ifTrue:[
+ topClassHolder removeDependent:self
+ ].
+ topClassHolder := aValueHolder.
+
+ topClassHolder notNil ifTrue:[
+ topClassHolder isBehavior ifTrue:[self halt:'should not happen'].
+ topClassHolder addDependent:self.
+ ].
+
+ newTopClass := topClassHolder value.
+ newTopClass ~~ oldTopClass ifTrue:[
+ self enqueueDelayedUpdateList.
+ ].
+! !
+
+!HierarchicalClassList methodsFor:'change & update'!
+
+classDefinitionChanged:aClass
+ |prevTop prevSelection newSelection selectedClassesHolder|
+
+ listValid ifFalse:[^ self].
+ slaveMode value == true ifTrue:[
+ self invalidateList.
+ ^ self.
+ ].
+
+ selectedClassesHolder := self selectedClasses.
+ prevSelection := selectedClassesHolder value copy.
+
+ prevTop := self topClassHolder value.
+ prevTop notNil ifTrue:[
+ (prevTop name = aClass name) ifTrue:[
+ "/ forced update
+ topClassHolder value:aClass.
+ ] ifFalse:[
+ (prevTop name = aClass class name) ifTrue:[
+ "/ forced update
+ topClassHolder value:aClass class.
+ ]
+ ]
+ ].
+
+ "/ must update the list (notice, that the hierarchy might have changed..)
+
+ self updateList.
+
+ selectedClassesHolder value ~= prevSelection ifTrue:[
+ newSelection := prevSelection collect:[:eachOldClass | Smalltalk classNamed:(eachOldClass name)].
+ selectedClassesHolder value:newSelection.
+ ]
+
+ "Modified: / 26.2.2000 / 01:17:01 / cg"
+!
+
+classRemoved:aClass
+ |prevTop newTop prevSel nPrevSelected selectedClassesHolder newSelection wasMeta|
+
+ prevTop := self topClassHolder value.
+
+ prevTop notNil ifTrue:[
+ wasMeta := prevTop isMeta.
+ newTop := prevTop theNonMetaclass.
+ [newTop notNil and:[(Smalltalk at:newTop name) ~= newTop]] whileTrue:[
+ newTop := newTop superclass.
+ ].
+ wasMeta ifTrue:[
+ newTop := newTop theMetaclass
+ ].
+ newTop ~~ prevTop ifTrue:[
+ self topClassHolder value:newTop.
+ ].
+ ].
+
+ selectedClassesHolder := self selectedClasses.
+
+ "/ if there is a single selection,
+ "/ which is the old top, replace it.
+ prevSel := selectedClassesHolder value.
+ nPrevSelected := prevSel size.
+ nPrevSelected > 0 ifTrue:[
+ nPrevSelected == 1 ifTrue:[
+ prevSel first == aClass ifTrue:[
+ newTop notNil ifTrue:[
+ newSelection := Array with:newTop.
+ ] ifFalse:[
+ newSelection := #().
+ ]
+ ].
+ ] ifFalse:[
+ nPrevSelected ~~ 0 ifTrue:[
+ "/ clear the selection
+ newSelection := #().
+ ]
+ ].
+ newSelection notNil ifTrue:[
+ selectedClassesHolder value:newSelection
+ ].
+ ].
+
+ super classRemoved:aClass.
+! !
+
+!HierarchicalClassList methodsFor:'private'!
+
+addTo:aList whereSuperclassIs:aSuperclass
+ |theClasses|
+
+ aSuperclass isNil ifTrue:[
+ theClasses := Smalltalk allClasses select:[:cls | cls superclass isNil]
+ ] ifFalse:[
+ theClasses := aSuperclass subclasses.
+ ].
+ (self hideUnloadedClasses value) ifTrue:[
+ theClasses := theClasses select:[:cls | cls isLoaded].
+ ].
+
+ theClasses := theClasses asOrderedCollection sort:[:a :b | (a name ? '??') < (b name ? '??')].
+ theClasses do:[:aClass |
+ aList add:aClass.
+ self addTo:aList whereSuperclassIs:aClass
+ ].
+!
+
+defaultSlaveModeValue
+ |mode|
+
+ mode := self topApplication perform:#initialOrganizerMode ifNotUnderstood:nil.
+ mode == OrganizerCanvas organizerModeClassHierarchy ifTrue:[^ false].
+ mode isNil ifTrue:[^ false].
+
+ self organizerMode value == OrganizerCanvas organizerModeCategory ifTrue:[^ true].
+ ^ false
+!
+
+listOfClasses
+ |classes top|
+
+ classes := OrderedCollection new.
+ (top := self topClassHolder value) notNil ifTrue:[
+ top := top theNonMetaclass.
+ classes addAll:(top withAllSuperclasses copy reverse).
+ ].
+ self addTo:classes whereSuperclassIs:top.
+ ^ classes
+
+ "Modified: / 24.2.2000 / 13:27:43 / cg"
+!
+
+nameListEntryFor:aClass withNameSpace:useFullName
+ |indent superClass nm|
+
+ aClass == (self class nameListEntryForALL) ifTrue:[ ^ aClass ].
+ aClass == InheritedEntry ifTrue:[ ^ aClass ].
+
+ nm := aClass nameInBrowser.
+ nm isNil ifTrue:[^ '???'].
+
+ aClass isLoaded ifFalse:[
+ "/ nm := nm,(' (?) ' colorizeAllWith:Color grey).
+ ] ifTrue:[
+ aClass isAbstract ifTrue:[ nm := nm allItalic ].
+ nm := nm,((' (%1+%2) ' bindWith:(aClass methodDictionary size) with:(aClass class methodDictionary size))
+ colorizeAllWith:self class pseudoEntryForegroundColor).
+ ].
+
+ indent := 0.
+ superClass := aClass superclass.
+ [superClass notNil] whileTrue:[
+ indent := indent + 1.
+ superClass := superClass superclass.
+ ].
+
+ indent == 0 ifTrue:[
+ ^ nm
+ ].
+
+ indent <= 5 ifTrue:[
+ indent := #(
+ ''
+ ' '
+ ' '
+ ' '
+ ' '
+ ' '
+ ) at:indent+1.
+ ] ifFalse:[
+ indent := String new:indent*4 withAll:Character space.
+ ].
+ ^ indent , nm
+
+ "Modified: / 24.2.2000 / 20:19:47 / cg"
+!
+
+release
+ super release.
+
+ topClassHolder removeDependent:self.
+! !
+
+!HierarchicalClassList class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalClassList.st,v 1.11 2013-03-30 19:12:41 cg Exp $'
+! !
+
+
+HierarchicalClassList initialize!
--- a/Tools_MethodList.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools_MethodList.st Mon Apr 01 14:07:29 2013 +0100
@@ -1403,84 +1403,80 @@
selectedMethodsHolder := self selectedMethods.
prevSelection := selectedMethodsHolder value ? #().
- prevClasses := classes ifNil:[ #() ] ifNotNil:[ classes copy ].
+ prevClasses := classes isNil ifTrue:[ #() ] ifFalse:[ classes copy ].
oldListSize := self browserNameList size.
- self topApplication withWaitCursorDo:[
- newList := self listOfMethodNames.
- ].
- newListSize := newList size.
- sameContents := self updateListFor:newList.
+ self topApplication withWaitCursorDo:[
+ newList := self listOfMethodNames.
+ ].
+ newListSize := newList size.
+ sameContents := self updateListFor:newList.
- sameContents ifFalse:[
- "/ self browserNameList value:newList.
+ sameContents ifFalse:[
+"/ self browserNameList value:newList.
- (prevSelection size == 0
- and:[selectedMethodsHolder value size ~~ 0]) ifTrue:[
- "/ this happens during early startup time,
- "/ when the selection is already (pre-)set,
- "/ and the methodList is generated the first time
- "/ (i.e. when opened with preset selection
+ (prevSelection size == 0
+ and:[selectedMethodsHolder value size ~~ 0]) ifTrue:[
+ "/ this happens during early startup time,
+ "/ when the selection is already (pre-)set,
+ "/ and the methodList is generated the first time
+ "/ (i.e. when opened with preset selection
- "/ do not clobber the selection in this case.
- prevSelection := selectedMethodsHolder value.
- ].
+ "/ do not clobber the selection in this case.
+ prevSelection := selectedMethodsHolder value.
+ ].
- (methodList size == 0 or:[prevSelection size == 0]) ifTrue:[
- newSelection := #()
- ] ifFalse:[
- methodSet := methodList.
+ (methodList size == 0 or:[prevSelection size == 0]) ifTrue:[
+ newSelection := #()
+ ] ifFalse:[
+ methodSet := methodList.
- "/ inclusion test is much faster with sets, if the number of items is large
- methodList size > 30 ifTrue:[
- "/ however, only if its worth building the set ...
- prevSelection size > 5 ifTrue:[
- methodSet := methodSet asIdentitySet.
- ]
- ].
- newSelection := prevSelection select:[:item | methodSet includesIdentical:item].
+ "/ intersect is much faster with sets, if the number of items is large
+ "/ however, only if its worth building the set ...
+ (methodSet size + prevSelection size) > 35 ifTrue:[
+ methodSet := methodSet asIdentitySet.
+ ].
+ newSelection := methodSet intersect:prevSelection.
+ ].
+ newSelection size > 0 ifTrue:[
+ newSelection size > 100 ifTrue:[
+ "/ need selection indices - might be expensive if done straight forward...
+ reverseMap := IdentityDictionary new.
+ methodList keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
+ newSelIdx := newSelection collect:[:mthd | reverseMap at:mthd].
+ ] ifFalse:[
+ newSelIdx := newSelection collect:[:mthd | methodList identityIndexOf:mthd]
+ ].
+"/ self halt.
+ "/ force change (for dependents)
+ newSelIdx ~= selectedMethodNameIndices value ifTrue:[
+ selectedMethodNameIndices value:newSelIdx.
].
- newSelection size > 0 ifTrue:[
- newSelection size > 100 ifTrue:[
- "/ need selection indices - might be expensive if done straight forward...
- reverseMap := IdentityDictionary new.
- methodList keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
- newSelIdx := newSelection collect:[:mthd | reverseMap at:mthd].
- ] ifFalse:[
- newSelIdx := newSelection collect:[:mthd | methodList identityIndexOf:mthd]
- ].
-"/ self halt.
- "/ force change (for dependents)
- newSelIdx ~= selectedMethodNameIndices value ifTrue:[
- selectedMethodNameIndices value:newSelIdx.
- ].
- ] ifFalse:[
- lastSelectedMethods := selectedMethodsHolder value.
- lastSelectedMethods notNil ifTrue:[
- lastSelectedMethods := lastSelectedMethods asOrderedCollection
- ].
- selectedMethodNameIndices value size > 0 ifTrue:[
- selectedMethodNameIndices value:#().
- ]
+ ] ifFalse:[
+ lastSelectedMethods := selectedMethodsHolder value.
+ lastSelectedMethods notNil ifTrue:[
+ lastSelectedMethods := lastSelectedMethods asOrderedCollection
].
+ selectedMethodNameIndices value size > 0 ifTrue:[
+ selectedMethodNameIndices value:#().
+ ]
+ ].
- newSelection ~= prevSelection ifTrue:[
+ newSelection ~= prevSelection ifTrue:[
+ self selectionChanged.
+ ]
+ ] ifTrue:[
+ "/ same list - but classes might have changed
+ "/ that is the case, if the class selection has been changed,
+ "/ to another class which has the same categories.
+
+ (prevClasses ~= (classes ? IdentitySet new)) ifTrue:[
+ (newListSize > 0 or:[oldListSize > 0]) ifTrue:[
self selectionChanged.
]
- ] ifTrue:[
- "/ same list - but classes might have changed
- "/ that is the case, if the class selection has been changed,
- "/ to another class which has the same categories.
-
- (prevClasses size ~= classes size
- or:[prevClasses asOrderedCollection ~= (classes ? #()) asOrderedCollection ]) ifTrue:[
- (newListSize > 0 or:[oldListSize > 0]) ifTrue:[
- self selectionChanged.
- ]
- ]
]
- "/ ].
+ ]
"Modified: / 05-03-2007 / 16:07:24 / cg"
!
@@ -1810,10 +1806,10 @@
!MethodList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.80 2013-03-27 19:29:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.81 2013-03-28 17:22:01 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.80 2013-03-27 19:29:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.81 2013-03-28 17:22:01 stefan Exp $'
! !
--- a/Tools__BreakpointBrowser.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__BreakpointBrowser.st Mon Apr 01 14:07:29 2013 +0100
@@ -19,10 +19,10 @@
showHalts showOthers showAssertions showAssertionsInTests
showCodeBreakpoints showCodeBreakpointsFor showMethodBreakpoints
showLineBreakpoints showDebugCode codeView infoHolder
- updateProcess showWhichHaltsHolder'
+ updateProcess showWhichHaltsHolder packageFilter classNameFilter'
classVariableNames:'MessagesAndTypes'
poolDictionaries:''
- category:'Interface-Smalltalk-Breakpoints'
+ category:'Interface-Debugger'
!
Object subclass:#BreakpointListEntry
@@ -293,6 +293,19 @@
label: 'Browse'
itemValue: browseSelectedItem
)
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ enabled: selectedItemIsIgnoredHalt
+ label: 'Stop Ignoring this Halt'
+ itemValue: reenableHalt
+ )
+ (MenuItem
+ enabled: selectedItemIsEnabledLineBreak
+ label: 'Disable this Breakpoint'
+ itemValue: disableLineBreak
+ )
)
nil
nil
@@ -410,6 +423,24 @@
)
)
(MenuItem
+ label: 'Filter'
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Package Filter...'
+ itemValue: openPackageFilterDialog
+ )
+ (MenuItem
+ label: 'Class Filter...'
+ itemValue: openClassFilterDialog
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
label: 'Enable'
submenu:
(Menu
@@ -531,7 +562,9 @@
labelActionSelector: sortBy:
labelActionArgument: 'type'
width: 70
- model: type
+ model: typeString
+ menuFromApplication: false
+ writeSelector: type:
canSelect: false
)
(DataSetColumnSpec
@@ -568,18 +601,15 @@
model: selector
canSelect: false
)
-"/ (DataSetColumnSpec
-"/ label: 'Line'
-"/ labelAlignment: left
-"/ activeHelpKey: ''
-"/ activeHelpKeyForLabel: ''
-"/ labelButtonType: Button
-"/ labelActionSelector: sortBy:
-"/ labelActionArgument: 'lineNumber'
-"/ width: 35
-"/ model: lineNumber
-"/ canSelect: false
-"/ )
+ (DataSetColumnSpec
+ label: 'Ign'
+ labelButtonType: Button
+ columnAlignment: center
+ width: 50
+ model: isIgnoredString
+ menuFromApplication: false
+ writeSelector: isIgnored:
+ )
(DataSetColumnSpec
label: 'Info'
labelAlignment: left
@@ -592,6 +622,7 @@
canSelect: false
)
)
+
!
tableColumns_v1
@@ -864,16 +895,18 @@
!
selectedItemIsEnabledLineBreak
- |entry|
+ |selIndex entry|
- entry := (self breakpointListEntryAtIndex:self selectionIndexHolder value).
+ (selIndex := self selectionIndexHolder value) isNil ifTrue:[^ false].
+ entry := self breakpointListEntryAtIndex:selIndex.
^ entry isLineBreakpoint and:[entry breakPoint isEnabled]
!
selectedItemIsIgnoredHalt
- |entry info|
+ |selIndex entry info|
- entry := (self breakpointListEntryAtIndex:self selectionIndexHolder value).
+ (selIndex := self selectionIndexHolder value) isNil ifTrue:[^ false].
+ entry := self breakpointListEntryAtIndex:selIndex.
info := Debugger haltIgnoreInformationFor:(entry method) atLineNr:(entry lineNumber).
^ info notNil and:[ info isHaltIgnored ].
!
@@ -995,6 +1028,13 @@
newList := breakpointList.
+ classNameFilter notEmptyOrNil ifTrue:[
+ newList := newList select:[:entry | entry relatedToClass:classNameFilter].
+ ].
+ packageFilter notEmptyOrNil ifTrue:[
+ newList := newList select:[:entry | entry relatedToPackage:packageFilter].
+ ].
+
self showOthers ifFalse:[
newList := newList reject:[:entry | entry isOther].
].
@@ -1537,25 +1577,25 @@
!
aMethodWith_assert2
- "only here for demonstration purposes - should be found in the list"
+ "only here for demonstration purposes - should be found in the breakpoint browser''s list"
self assert:(3 > 4) message:'well - that ought to work'
!
aMethodWith_breakPoint
- "only here for demonstration purposes - should be found in the list"
+ "only here for demonstration purposes - should be found in the breakpoint browser''s list"
self breakPoint:#cg
!
aMethodWith_breakPoint2
- "only here for demonstration purposes - should be found in the list"
+ "only here for demonstration purposes - should be found in the breakpoint browser''s list"
self breakPoint:#cg info:'hello there'
!
aMethodWith_debugCode
- "only here for demonstration purposes - should be found in the list"
+ "only here for demonstration purposes - should be found in the breakpoint browser''s list"
self
debuggingCodeFor:#cg
@@ -1566,7 +1606,7 @@
!
aMethodWith_halt
- "only here for demonstration purposes - should be found in the list"
+ "only here for demonstration purposes - should be found in the breakpoint browser''s list"
self halt
@@ -1580,13 +1620,13 @@
!
aMethodWith_halt2
- "only here for demonstration purposes - should be found in the list"
+ "only here for demonstration purposes - should be found in the breakpoint browser''s list"
self halt:'some message'
!
aMethodWith_todo
- "only here for demonstration purposes - should be found in the list"
+ "only here for demonstration purposes - should be found in the breakpoint browser''s list"
self todo
! !
@@ -1614,10 +1654,41 @@
"Modified: / 18-02-2007 / 12:56:30 / cg"
!
+openClassFilterDialog
+ |nameOrPattern|
+
+ nameOrPattern := Dialog
+ requestClassName:'Only show breakpoints for class(es) matching (empty to show all):'
+ initialAnswer:(classNameFilter ? '*').
+ nameOrPattern isNil ifTrue:[^ self]. "/ cancel
+ (nameOrPattern isEmpty or:[nameOrPattern = '*']) ifTrue:[
+ classNameFilter := nil.
+ ] ifFalse:[
+ classNameFilter := nameOrPattern.
+ ].
+ self updateShownBreakpointList
+!
+
openDocumentation
HTMLDocumentView openFullOnDocumentationFile:'tools/misc/TOP.html#BREAKPOINTLIST'.
!
+openPackageFilterDialog
+ |nameOrPattern|
+
+ nameOrPattern := Dialog
+ request:'Only show breakpoints for code in package(s) matching (empty to show all):'
+ list:(Smalltalk allProjectIDs)
+ initialAnswer:(packageFilter ? '*').
+ nameOrPattern isNil ifTrue:[^ self]. "/ cancel
+ (nameOrPattern isEmpty or:[nameOrPattern = '*']) ifTrue:[
+ packageFilter := nil.
+ ] ifFalse:[
+ packageFilter := nameOrPattern.
+ ].
+ self updateShownBreakpointList
+!
+
resort
|sortBlock sortBlock1|
@@ -1727,6 +1798,18 @@
^ ignoredInfo ? info
!
+isIgnored
+ type == #halt ifTrue:[
+ ^ (Debugger haltIgnoreInformationFor:self method atLineNr:lineNumber) notNil
+ ].
+ ^ false
+!
+
+isIgnoredString
+ self isIgnored ifTrue:[^ 'Yes'].
+ ^ ''
+!
+
lineNumber
^ lineNumber
!
@@ -1747,6 +1830,14 @@
lineNumber := lineNumberArg.
info := infoArg.
enabled := enabledArg.
+!
+
+typeString
+"/ loks ugly
+"/ self isIgnored ifTrue:[
+"/ ^ type asText allStrikedOut
+"/ ].
+ ^ type
! !
@@ -1770,6 +1861,28 @@
! !
+!BreakpointBrowser::BreakpointListEntry methodsFor:'queries'!
+
+relatedToClass:aClassNamePattern
+ className isNil ifTrue:[^ true].
+ (aClassNamePattern includesMatchCharacters) ifTrue:[
+ ^ aClassNamePattern match: className
+ ].
+ ^ className startsWith:aClassNamePattern
+!
+
+relatedToPackage:aPackagePattern
+ |mthd package|
+
+ (mthd := self method) isNil ifTrue:[^ false].
+ package := mthd package.
+ (aPackagePattern includesMatchCharacters) ifTrue:[
+ ^ aPackagePattern match: package
+ ].
+ ^ package startsWith:aPackagePattern
+! !
+
+
!BreakpointBrowser::BreakpointListEntry methodsFor:'testing'!
isAssertion
@@ -1880,11 +1993,11 @@
!BreakpointBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.40 2013-03-26 00:43:36 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.44 2013-03-30 15:57:52 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.40 2013-03-26 00:43:36 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.44 2013-03-30 15:57:52 cg Exp $'
!
version_HG
--- a/Tools__ChangeList.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__ChangeList.st Mon Apr 01 14:07:29 2013 +0100
@@ -27,7 +27,7 @@
"{ NameSpace: Tools }"
-BrowserListWithFilter subclass:#ChangeList
+Tools::BrowserListWithFilter subclass:#ChangeList
instanceVariableNames:'listHolder showRemovedHolder showSameHolder showTimestampHolder
allowRemoveHolder allowAcceptHolder scrollToBottom applyAction'
classVariableNames:'LastSelectionConditionString'
@@ -72,6 +72,7 @@
"
! !
+
!ChangeList class methodsFor:'image specs'!
iconEqual
@@ -110,6 +111,7 @@
"Modified: / 31-08-2011 / 10:54:46 / cg"
! !
+
!ChangeList class methodsFor:'interface specs'!
windowSpec
@@ -181,6 +183,7 @@
)
! !
+
!ChangeList class methodsFor:'list specs'!
listColumnSpec
@@ -294,6 +297,7 @@
! !
+
!ChangeList class methodsFor:'menu specs'!
listMenu
@@ -313,109 +317,115 @@
^
#(Menu
- (
- (MenuItem
- enabled: hasChangeSelectedAndNotRemoved
- label: 'Apply'
- itemValue: listMenuApply
- translateLabel: true
- isVisible: allowAcceptHolder
- shortcutKey: Accept
- )
- (MenuItem
- label: 'Apply all'
- itemValue: listMenuApplyAll
- translateLabel: true
- isVisible: allowAcceptHolder
- )
- (MenuItem
- enabled: hasSingleChangeSelectedAndCanBrowse
- label: 'Browse'
- itemValue: listMenuBrowse
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Delete'
- itemValue: listMenuDeleteSelection
- nameKey: Delete
- translateLabel: true
- isVisible: allowRemoveHolder
- shortcutKey: Delete
- )
- (MenuItem
- label: '-'
- isVisible: allowRemoveHolder
- )
- (MenuItem
- label: 'Select...'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- label: 'Select same'
- itemValue: listMenuSelectSame
- translateLabel: true
- )
- (MenuItem
- label: 'Select additions (new classes/methods)'
- itemValue: listMenuSelectAdditions
- translateLabel: true
- )
- (MenuItem
- label: 'Select removals'
- itemValue: listMenuSelectRemovals
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Select all'
- itemValue: listMenuSelectAll
- translateLabel: true
- )
- (MenuItem
- label: 'Select none'
- itemValue: listMenuSelectNone
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Select using block'
- itemValue: listMenuSelectUsingBlock
- translateLabel: true
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Show Deleted'
- translateLabel: true
- isVisible: allowRemoveHolder
- indication: showRemovedHolder
- )
- (MenuItem
- label: 'Inspect change'
- itemValue: listMenuInspect
- translateLabel: true
- )
- )
- nil
- nil
+ (
+ (MenuItem
+ enabled: hasChangeSelectedAndNotRemoved
+ label: 'Apply'
+ itemValue: listMenuApply
+ translateLabel: true
+ isVisible: allowAcceptHolder
+ shortcutKey: Accept
+ )
+ (MenuItem
+ label: 'Apply all'
+ itemValue: listMenuApplyAll
+ translateLabel: true
+ isVisible: allowAcceptHolder
+ )
+ (MenuItem
+ enabled: hasSingleChangeSelectedAndCanBrowse
+ label: 'Browse'
+ itemValue: listMenuBrowse
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Delete'
+ itemValue: listMenuDeleteSelection
+ nameKey: Delete
+ translateLabel: true
+ isVisible: allowRemoveHolder
+ shortcutKey: Delete
+ )
+ (MenuItem
+ label: '-'
+ isVisible: allowRemoveHolder
+ )
+ (MenuItem
+ label: 'Select...'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Select same'
+ itemValue: listMenuSelectSame
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Select conflicts (redefined classes/methods)'
+ itemValue: listMenuSelectConflicts
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Select additions (new classes/methods)'
+ itemValue: listMenuSelectAdditions
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Select removals'
+ itemValue: listMenuSelectRemovals
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Select all'
+ itemValue: listMenuSelectAll
+ translateLabel: true
+ )
+ (MenuItem
+ label: 'Select none'
+ itemValue: listMenuSelectNone
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Select using block'
+ itemValue: listMenuSelectUsingBlock
+ translateLabel: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Show Deleted'
+ translateLabel: true
+ isVisible: allowRemoveHolder
+ indication: showRemovedHolder
+ )
+ (MenuItem
+ label: 'Inspect change'
+ itemValue: listMenuInspect
+ translateLabel: true
+ )
+ )
+ nil
+ nil
)
! !
+
!ChangeList class methodsFor:'plugIn spec'!
aspectSelectors
@@ -444,6 +454,7 @@
! !
+
!ChangeList methodsFor:'accessing'!
acceptEnabled
@@ -525,6 +536,7 @@
"Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'actions'!
selectionDoubleclicked
@@ -540,6 +552,7 @@
"Modified: / 24-01-2012 / 22:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'aspects'!
allowAcceptHolder
@@ -702,6 +715,7 @@
].
! !
+
!ChangeList methodsFor:'change & update'!
update: aspect with: param from: sender
@@ -737,6 +751,7 @@
"Modified: / 26-07-2012 / 18:44:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'drag & drop'!
canDrop: aDropContext
@@ -768,8 +783,13 @@
"Modified: / 01-08-2012 / 18:15:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'event processing'!
+
+
+
+
handlesKeyPress:key inView:aView
<resource: #keyboard (#Accept #Ctrls)>
@@ -788,6 +808,7 @@
"Created: / 08-02-2012 / 14:42:18 / cg"
! !
+
!ChangeList methodsFor:'generators'!
makeGenerator
@@ -806,6 +827,7 @@
"Modified: / 25-07-2012 / 15:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'hooks'!
postBuildListView: aView
@@ -816,6 +838,7 @@
"Created: / 29-11-2011 / 14:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'initialization'!
initialize
@@ -830,6 +853,7 @@
"Created: / 29-10-2010 / 12:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'menu actions'!
listMenuApply
@@ -1004,6 +1028,7 @@
self updateList
! !
+
!ChangeList methodsFor:'private'!
application
@@ -1143,6 +1168,7 @@
"Modified: / 01-08-2012 / 18:10:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList methodsFor:'queries'!
hasChangeSelected
@@ -1181,6 +1207,7 @@
"Created: / 03-04-2012 / 11:28:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList::ListEntry class methodsFor:'instance creation'!
change: aChange
@@ -1204,6 +1231,7 @@
"Created: / 25-07-2009 / 23:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
+
!ChangeList::ListEntry methodsFor:'accessing'!
application
@@ -1387,6 +1415,7 @@
^ x
! !
+
!ChangeList::ListEntry methodsFor:'displaying'!
displayLabel:aLabel h:lH on:aGC x:newX y:y h:h
@@ -1423,6 +1452,7 @@
"Modified: / 27-07-2012 / 17:13:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!ChangeList::ListEntry methodsFor:'private'!
iconSelector
@@ -1438,6 +1468,7 @@
"Modified: / 31-08-2011 / 10:39:32 / cg"
! !
+
!ChangeList::ListEntry methodsFor:'protocol-queries'!
hasChildren
@@ -1447,14 +1478,15 @@
"Modified (format): / 27-07-2012 / 21:25:34 / cg"
! !
+
!ChangeList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.20 2013-01-17 10:40:20 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.21 2013-03-30 01:59:17 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.20 2013-01-17 10:40:20 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.21 2013-03-30 01:59:17 cg Exp $'
!
version_HG
--- a/Tools__ChangeSetBrowser2.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__ChangeSetBrowser2.st Mon Apr 01 14:07:29 2013 +0100
@@ -1558,6 +1558,10 @@
indication: showSameAspect
)
(MenuItem
+ label: 'Show Conflicts Only'
+ indication: showConflictsOnlyAspect
+ )
+ (MenuItem
label: '-'
)
(MenuItem
@@ -2167,11 +2171,11 @@
<resource: #uiAspect>
navigatorSpecHolder isNil ifTrue:[
- navigatorSpecHolder := ValueHolder with:
- "/#hierarchicalNavigatorSpec
- "/#twoColumnNavigatorSpec
- #oneColumnNavigatorSpec.
- navigatorSpecHolder addDependent: self.
+ navigatorSpecHolder := ValueHolder with:
+ "/#hierarchicalNavigatorSpec
+ "/#twoColumnNavigatorSpec
+ #oneColumnNavigatorSpec.
+ navigatorSpecHolder addDependent: self.
].
^ navigatorSpecHolder.
@@ -2407,30 +2411,56 @@
!
selectionChanged
- | listEntry change |
+ | listEntry change srcImage srcChange|
listEntry := self theSingleSelectedChange.
(listEntry notNil and:[(change := listEntry change) isCompositeChange not]) ifTrue:[
- self classHolder value: listEntry changeClass.
- changeSourceHolder setValue: change changeSource; changed: #value.
- imageSourceHolder setValue: change imageSource; changed: #value.
-
- codeAspectHolder value:
- (change isMethodCodeChange
- ifTrue:[SyntaxHighlighter codeAspectMethod]
- ifFalse:[SyntaxHighlighter codeAspectExpression]).
-
- self showSource: true
+ codeAspectHolder setValue:
+ (change isMethodCodeChange
+ ifTrue:[SyntaxHighlighter codeAspectMethod]
+ ifFalse:[
+ (change isClassDefinitionChange
+ ifTrue:[SyntaxHighlighter codeAspectClassDefinition]
+ ifFalse:[SyntaxHighlighter codeAspectExpression])]).
+ self classHolder value: change changeClass.
+ changeSourceHolder setValue: change changeSource"; changed: #value".
+ srcImage := change imageSource.
+ srcChange := change changeSource.
+ srcImage = srcChange ifTrue:[
+ imageSourceHolder setValue: nil"; changed: #value".
+ ] ifFalse:[
+ imageSourceHolder setValue: srcImage"; changed: #value".
+
+ "/ check agan, based on parser (ignoring indentation)
+ change isClassDefinitionChange ifTrue:[
+ |parseError treeA treeB|
+
+ (srcImage notEmptyOrNil and:[ srcChange notEmptyOrNil ]) ifTrue:[
+ parseError := false.
+ treeA := RBParser parseExpression:srcImage onError: [:str :pos | parseError := true].
+ treeB := RBParser parseExpression:srcChange onError: [:str :pos | parseError := true].
+ parseError ifFalse:[
+ (treeA equalTo:treeB withMapping:(Dictionary new)) ifTrue:[
+ imageSourceHolder setValue: nil
+ ]
+ ]
+ ]
+ ].
+ ].
+ changeSourceHolder changed.
+ imageSourceHolder changed.
+ codeAspectHolder changed.
+
+ self showSource: true
] ifFalse:[
- self showSource: false.
- self classHolder value: nil.
- changeSourceHolder setValue: nil; changed: #value.
- imageSourceHolder setValue: nil; changed: #value.
+ self showSource: false.
+ self classHolder value: nil.
+ changeSourceHolder setValue: nil; changed: #value.
+ imageSourceHolder setValue: nil; changed: #value.
].
"Created: / 24-10-2009 / 19:49:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 25-07-2012 / 17:43:30 / cg"
- "Modified: / 10-09-2012 / 10:35:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 27-07-2012 / 23:42:46 / cg"
!
showingRegularChangesetChanged
@@ -3821,11 +3851,11 @@
!ChangeSetBrowser2 class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.44 2013-03-26 00:01:56 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.46 2013-03-30 19:11:41 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.44 2013-03-26 00:01:56 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.46 2013-03-30 19:11:41 cg Exp $'
!
version_HG
--- a/Tools__InlineMessageDialog.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__InlineMessageDialog.st Mon Apr 01 14:07:29 2013 +0100
@@ -106,6 +106,7 @@
"
! !
+
!InlineMessageDialog class methodsFor:'accessing-colors'!
defaultInformationBackground
@@ -122,6 +123,7 @@
"Created: / 10-04-2012 / 19:30:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog class methodsFor:'interface specs'!
messageInfoSpec
@@ -315,12 +317,14 @@
)
! !
+
!InlineMessageDialog class methodsFor:'others'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.7 2012-05-17 15:31:22 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.11 2013-03-31 20:32:27 cg Exp $'
! !
+
!InlineMessageDialog methodsFor:'accessing'!
backgroundColor: aColor
@@ -358,6 +362,7 @@
"Created: / 28-10-2010 / 18:24:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'accessing-presentation'!
changeLayoutUponShowHide: aBoolean
@@ -372,6 +377,7 @@
"Modified (comment): / 17-05-2012 / 13:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'actions'!
doAbort
@@ -417,6 +423,7 @@
"Modified: / 31-03-2013 / 18:02:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'adding & removing components'!
addButton: aButton
@@ -518,6 +525,7 @@
"Created: / 11-04-2012 / 00:51:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'aspects'!
backgroundColorHolder
@@ -629,6 +637,7 @@
"Modified: / 28-10-2010 / 18:29:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'change & update'!
update:aspect with:parameter from:changedObject
@@ -643,6 +652,7 @@
"Modified: / 10-04-2012 / 19:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'hooks'!
commonPostBuild
@@ -671,6 +681,7 @@
"Created: / 10-02-2012 / 10:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'private'!
getMyView
@@ -769,6 +780,7 @@
"Created: / 29-10-2010 / 11:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'utilities'!
reset
@@ -863,6 +875,7 @@
"Created: / 11-04-2012 / 13:38:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog methodsFor:'utilities-obsolete'!
information: message
@@ -931,15 +944,16 @@
"Created: / 13-02-2012 / 16:59:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!InlineMessageDialog class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.7 2012-05-17 15:31:22 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.11 2013-03-31 20:32:27 cg Exp $'
!
version_HG
- ^ '$Changeset: <not expanded> $'
+ ^ '§Changeset: <not expanded> §'
!
version_SVN
--- a/Tools__NewSystemBrowser.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__NewSystemBrowser.st Mon Apr 01 14:07:29 2013 +0100
@@ -15,35 +15,35 @@
SystemBrowser subclass:#NewSystemBrowser
instanceVariableNames:'navigationState bufferNameList selectedBuffer buffers
- bufferUsageOrder browserCanvas immediateUpdate showClassPackages
- lastMethodCategory lastMethodMoveClass browserCanvasType
- syntaxColoringProcessRunning syntaxColoringProcess
- methodInfoProcess browsletShowHideLabelHolder browserPageCanvas
- isEmbedded'
+ bufferUsageOrder browserCanvas immediateUpdate showClassPackages
+ lastMethodCategory lastMethodMoveClass browserCanvasType
+ syntaxColoringProcessRunning syntaxColoringProcess
+ methodInfoProcess browsletShowHideLabelHolder browserPageCanvas
+ isEmbedded'
classVariableNames:'LastNewProtocols LastProtocolRenames LastCategoryRenames
- LastCategoryRenameOld LastCategoryRenameNew LastProjectMoves
- LastNameSpaceMove LastMethodMoveOrCopyTargetClass
- LastClassFilterBlockString LastMethodFilterBlockString
- LastBreakPointConditionString LastIndividualChecks
- LastAcceptPackage LastVariableRenames LastVisitorClassName
- LastTemporaryVariableName BookMarks FindHistory
- CheckForInstancesWhenRemovingClasses SynchronousUpdate
- DoubleClickIsOpenBrowser ShowMethodTemplateWhenProtocolIsSelected
- DefaultShowMethodTemplate DefaultShowMethodInheritance
- DefaultEmphasizeUnloadedClasses DefaultImmediateSyntaxColoring
- DefaultImmediateExplaining DefaultSyntaxColoring
- DefaultToolBarVisible DefaultCodeInfoVisible
- DefaultShortNameInTabs DefaultHideUnloadedClasses
- DefaultMarkApplications DefaultAutoFormat
- DefaultShowMethodComplexity DefaultShowMethodTypeIcon
- DefaultShowSpecialResourceEditors SharedMethodCategoryCache
- LastMethodProcessingBlockString LastLoadedPackages
- DefaultShortAllClassesInNameSpaceOrganisation LastTag
- LastBaseVersionTag DefaultShowPseudoProtocols
- DefaultShowMultitabMode LastRenamedOld LastRenamedNew
- LastImportedPackage LastLintRules NewNavigationHistory
- DefaultSortByNameAndInheritance LastLiteralReplacementType
- LastLiteralReplacementNewName LastLiteralReplacementOldLiteral
+ LastCategoryRenameOld LastCategoryRenameNew LastProjectMoves
+ LastNameSpaceMove LastMethodMoveOrCopyTargetClass
+ LastClassFilterBlockString LastMethodFilterBlockString
+ LastBreakPointConditionString LastIndividualChecks
+ LastAcceptPackage LastVariableRenames LastVisitorClassName
+ LastTemporaryVariableName BookMarks FindHistory
+ CheckForInstancesWhenRemovingClasses SynchronousUpdate
+ DoubleClickIsOpenBrowser ShowMethodTemplateWhenProtocolIsSelected
+ DefaultShowMethodTemplate DefaultShowMethodInheritance
+ DefaultEmphasizeUnloadedClasses DefaultImmediateSyntaxColoring
+ DefaultImmediateExplaining DefaultSyntaxColoring
+ DefaultToolBarVisible DefaultCodeInfoVisible
+ DefaultShortNameInTabs DefaultHideUnloadedClasses
+ DefaultMarkApplications DefaultAutoFormat
+ DefaultShowMethodComplexity DefaultShowMethodTypeIcon
+ DefaultShowSpecialResourceEditors SharedMethodCategoryCache
+ LastMethodProcessingBlockString LastLoadedPackages
+ DefaultShortAllClassesInNameSpaceOrganisation LastTag
+ LastBaseVersionTag DefaultShowPseudoProtocols
+ DefaultShowMultitabMode LastRenamedOld LastRenamedNew
+ LastImportedPackage LastLintRules NewNavigationHistory
+ DefaultSortByNameAndInheritance LastLiteralReplacementType
+ LastLiteralReplacementNewName LastLiteralReplacementOldLiteral
LastNewProjectType DefaultShowSyntheticMethods
LastClassProcessingBlockString RecentlyClosedList
LastClassSearchBoxShowedFullName'
@@ -3333,181 +3333,181 @@
^
#(FullSpec
- name: #'protocolAndMethodListSpec_Both'
- window:
+ name: #'protocolAndMethodListSpec_Both'
+ window:
(WindowSpec
- label: 'Protocol and Method List'
- name: 'Protocol and Method List'
- min: (Point 0 0)
- bounds: (Rectangle 0 0 498 456)
- icon: defaultIcon
- )
- component:
+ label: 'Protocol and Method List'
+ name: 'Protocol and Method List'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 498 456)
+ icon: defaultIcon
+ )
+ component:
(SpecCollection
- collection: (
- (VariableHorizontalPanelSpec
- name: 'Lists'
- layout: (LayoutFrame 0 0 0 0 0 1 0 1)
- barWidth: 2
- showHandle: false
- component:
- (SpecCollection
- collection: (
- (SubCanvasSpec
- name: 'MethodCategoryList'
- majorKey: MethodCategoryList
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: showCoverageInformation
- aspect: showCoverageInformation
- )
- (SubChannelInfoSpec
- subAspect: showPseudoProtocols
- aspect: showPseudoProtocols
- )
-
- (SubChannelInfoSpec
- subAspect: immediateUpdate
- aspect: immediateUpdate
- )
- (SubChannelInfoSpec
- subAspect: inGeneratorHolder
- aspect: protocolListGenerator
- )
-
- (SubChannelInfoSpec
- subAspect: doubleClickChannel
- callBack: protocolDoubleClicked
- )
- (SubChannelInfoSpec
- subAspect: menuHolder
- aspect: protocolMenu
- )
-
- (SubChannelInfoSpec
- subAspect: outGeneratorHolder
- aspect: selectorListGenerator
- )
- (SubChannelInfoSpec
- subAspect: packageFilter
- aspect: packageFilter
- )
-
- (SubChannelInfoSpec
- subAspect: selectedProtocols
- aspect: selectedProtocols
- callBack: protocolSelectionChanged
- )
- (SubChannelInfoSpec
- subAspect: selectionChangeCondition
- aspect: selectionChangeConditionHolder
- )
-
- (SubChannelInfoSpec
- subAspect: variableFilter
- aspect: variableFilter
- callBack: variableSelectionChanged
- )
- (SubChannelInfoSpec
- subAspect: filterClassVars
- aspect: filterClassVars
- )
-
- (SubChannelInfoSpec
- subAspect: methodVisibilityHolder
- aspect: methodVisibilityHolder
- )
- )
- createNewApplication: true
- createNewBuilder: true
- postBuildCallback: methodCategoryList:
- )
- (SubCanvasSpec
- name: 'MethodList'
- majorKey: MethodList
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: showCoverageInformation
- aspect: showCoverageInformation
- )
- (SubChannelInfoSpec
- subAspect: doubleClickChannel
- callBack: methodDoubleClicked
- )
-
- (SubChannelInfoSpec
- subAspect: immediateUpdate
- aspect: immediateUpdate
- )
- (SubChannelInfoSpec
- subAspect: inGeneratorHolder
- aspect: selectorListGenerator
- )
-
- (SubChannelInfoSpec
- subAspect: menuHolder
- aspect: selectorPopUpMenu
- )
- (SubChannelInfoSpec
- subAspect: packageFilter
- aspect: packageFilter
- )
-
- (SubChannelInfoSpec
- subAspect: selectedMethods
- aspect: selectedMethods
- callBack: methodsSelectionChanged
- )
- (SubChannelInfoSpec
- subAspect: selectionChangeCondition
- aspect: selectionChangeConditionHolder
- )
-
- (SubChannelInfoSpec
- subAspect: variableFilter
- aspect: variableFilter
- callBack: variableSelectionChanged
- )
- (SubChannelInfoSpec
- subAspect: showMethodInheritance
- aspect: showMethodInheritance
- )
-
- (SubChannelInfoSpec
- subAspect: showMethodComplexity
- aspect: showMethodComplexity
- )
- (SubChannelInfoSpec
- subAspect: showMethodTypeIcon
- aspect: showMethodTypeIcon
- )
+ collection: (
+ (VariableHorizontalPanelSpec
+ name: 'Lists'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ barWidth: 2
+ showHandle: false
+ component:
+ (SpecCollection
+ collection: (
+ (SubCanvasSpec
+ name: 'MethodCategoryList'
+ majorKey: MethodCategoryList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+ (SubChannelInfoSpec
+ subAspect: showPseudoProtocols
+ aspect: showPseudoProtocols
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: protocolListGenerator
+ )
+
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ callBack: protocolDoubleClicked
+ )
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: protocolMenu
+ )
+
+ (SubChannelInfoSpec
+ subAspect: outGeneratorHolder
+ aspect: selectorListGenerator
+ )
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedProtocols
+ aspect: selectedProtocols
+ callBack: protocolSelectionChanged
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeConditionHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: variableFilter
+ aspect: variableFilter
+ callBack: variableSelectionChanged
+ )
+ (SubChannelInfoSpec
+ subAspect: filterClassVars
+ aspect: filterClassVars
+ )
+
+ (SubChannelInfoSpec
+ subAspect: methodVisibilityHolder
+ aspect: methodVisibilityHolder
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ postBuildCallback: methodCategoryList:
+ )
+ (SubCanvasSpec
+ name: 'MethodList'
+ majorKey: MethodList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ callBack: methodDoubleClicked
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: selectorListGenerator
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: selectorPopUpMenu
+ )
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedMethods
+ aspect: selectedMethods
+ callBack: methodsSelectionChanged
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeConditionHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: variableFilter
+ aspect: variableFilter
+ callBack: variableSelectionChanged
+ )
+ (SubChannelInfoSpec
+ subAspect: showMethodInheritance
+ aspect: showMethodInheritance
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showMethodComplexity
+ aspect: showMethodComplexity
+ )
+ (SubChannelInfoSpec
+ subAspect: showMethodTypeIcon
+ aspect: showMethodTypeIcon
+ )
(SubChannelInfoSpec
subAspect: showSyntheticMethods
aspect: showSyntheticMethods
)
- (SubChannelInfoSpec
- subAspect: filterClassVars
- aspect: filterClassVars
- )
- )
- createNewApplication: true
- createNewBuilder: true
- postBuildCallback: methodList:
- )
- )
-
- )
- handles: (Any 0.5 1.0)
- )
- )
-
- )
+ (SubChannelInfoSpec
+ subAspect: filterClassVars
+ aspect: filterClassVars
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ postBuildCallback: methodList:
+ )
+ )
+
+ )
+ handles: (Any 0.5 1.0)
+ )
+ )
+
+ )
)
"Modified: / 17-08-2011 / 13:57:39 / cg"
@@ -3530,97 +3530,97 @@
^
#(FullSpec
- name: #'protocolAndMethodListSpec_JustMethodList'
- window:
+ name: #'protocolAndMethodListSpec_JustMethodList'
+ window:
(WindowSpec
- label: 'Protocol and Method List'
- name: 'Protocol and Method List'
- min: (Point 0 0)
- bounds: (Rectangle 0 0 498 456)
- icon: defaultIcon
- )
- component:
+ label: 'Protocol and Method List'
+ name: 'Protocol and Method List'
+ min: (Point 0 0)
+ bounds: (Rectangle 0 0 498 456)
+ icon: defaultIcon
+ )
+ component:
(SpecCollection
- collection: (
- (SubCanvasSpec
- name: 'MethodList'
- layout: (LayoutFrame 0 0 0 0 0 1 0 1)
- majorKey: MethodList
- subAspectHolders:
- (Array
-
- (SubChannelInfoSpec
- subAspect: showCoverageInformation
- aspect: showCoverageInformation
- )
- (SubChannelInfoSpec
- subAspect: doubleClickChannel
- callBack: methodDoubleClicked
- )
-
- (SubChannelInfoSpec
- subAspect: immediateUpdate
- aspect: immediateUpdate
- )
- (SubChannelInfoSpec
- subAspect: inGeneratorHolder
- aspect: selectorListGenerator5
- )
-
- (SubChannelInfoSpec
- subAspect: menuHolder
- aspect: selectorPopUpMenu
- )
- (SubChannelInfoSpec
- subAspect: packageFilter
- aspect: packageFilter
- )
-
- (SubChannelInfoSpec
- subAspect: selectedMethods
- aspect: selectedMethods
- callBack: methodsSelectionChanged
- )
- (SubChannelInfoSpec
- subAspect: selectionChangeCondition
- aspect: selectionChangeConditionHolder
- )
-
- (SubChannelInfoSpec
- subAspect: variableFilter
- aspect: variableFilter
- callBack: variableSelectionChanged
- )
- (SubChannelInfoSpec
- subAspect: showMethodInheritance
- aspect: showMethodInheritance
- )
-
- (SubChannelInfoSpec
- subAspect: showMethodComplexity
- aspect: showMethodComplexity
- )
- (SubChannelInfoSpec
+ collection: (
+ (SubCanvasSpec
+ name: 'MethodList'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ majorKey: MethodList
+ subAspectHolders:
+ (Array
+
+ (SubChannelInfoSpec
+ subAspect: showCoverageInformation
+ aspect: showCoverageInformation
+ )
+ (SubChannelInfoSpec
+ subAspect: doubleClickChannel
+ callBack: methodDoubleClicked
+ )
+
+ (SubChannelInfoSpec
+ subAspect: immediateUpdate
+ aspect: immediateUpdate
+ )
+ (SubChannelInfoSpec
+ subAspect: inGeneratorHolder
+ aspect: selectorListGenerator5
+ )
+
+ (SubChannelInfoSpec
+ subAspect: menuHolder
+ aspect: selectorPopUpMenu
+ )
+ (SubChannelInfoSpec
+ subAspect: packageFilter
+ aspect: packageFilter
+ )
+
+ (SubChannelInfoSpec
+ subAspect: selectedMethods
+ aspect: selectedMethods
+ callBack: methodsSelectionChanged
+ )
+ (SubChannelInfoSpec
+ subAspect: selectionChangeCondition
+ aspect: selectionChangeConditionHolder
+ )
+
+ (SubChannelInfoSpec
+ subAspect: variableFilter
+ aspect: variableFilter
+ callBack: variableSelectionChanged
+ )
+ (SubChannelInfoSpec
+ subAspect: showMethodInheritance
+ aspect: showMethodInheritance
+ )
+
+ (SubChannelInfoSpec
+ subAspect: showMethodComplexity
+ aspect: showMethodComplexity
+ )
+ (SubChannelInfoSpec
subAspect: showSyntheticMethods
aspect: showSyntheticMethods
)
(SubChannelInfoSpec
- subAspect: showMethodTypeIcon
- aspect: showMethodTypeIcon
- )
-
- (SubChannelInfoSpec
- subAspect: filterClassVars
- aspect: filterClassVars
- )
- )
- createNewApplication: true
- createNewBuilder: true
- postBuildCallback: methodList:
- )
- )
-
- )
+ subAspect: showMethodTypeIcon
+ aspect: showMethodTypeIcon
+ )
+
+ (SubChannelInfoSpec
+ subAspect: filterClassVars
+ aspect: filterClassVars
+ )
+ )
+ createNewApplication: true
+ createNewBuilder: true
+ postBuildCallback: methodList:
+ )
+ )
+
+ )
)
"Modified: / 17-08-2011 / 13:57:59 / cg"
@@ -6387,85 +6387,85 @@
^
#(Menu
- (
- (MenuItem
- enabled: hasCategorySelectedHolder
- label: 'FileOut'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- enabled: hasCategorySelectedHolder
- label: 'as...'
- itemValue: categoryMenuFileOutAs
- translateLabel: true
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- enabled: hasCategorySelectedAndCanFileOutXMLHolder
- label: 'XML as...'
- itemValue: categoryMenuFileOutXMLAs
- translateLabel: true
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- enabled: hasCategorySelectedAndCanFileOutSIFHolder
- label: 'SIF as...'
- itemValue: categoryMenuFileOutSIFAs
- translateLabel: true
- )
- (MenuItem
- enabled: hasCategorySelectedAndCanFileOutCypressHolder
- label: 'Cypress as...'
- itemValue: categoryMenuFileOutCypressAs
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- enabled: hasCategorySelectedHolder
- label: 'Each in...'
- itemValue: categoryMenuFileOutEachIn
- translateLabel: true
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- enabled: hasCategorySelectedAndCanFileOutXMLHolder
- label: 'Each XML in...'
- itemValue: categoryMenuFileOutEachXMLIn
- translateLabel: true
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- enabled: hasCategorySelectedAndCanFileOutSIFHolder
- label: 'Each SIF in...'
- itemValue: categoryMenuFileOutEachSIFIn
- translateLabel: true
- showBusyCursorWhilePerforming: true
- )
- (MenuItem
- enabled: hasCategorySelectedHolder
- label: 'Each Binary in...'
- itemValue: categoryMenuFileOutEachBinaryIn
- translateLabel: true
- showBusyCursorWhilePerforming: true
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- label: 'Repository'
- translateLabel: true
- submenuChannel: categoryMenuSCMSlice
- isMenuSlice: true
- )
- )
- nil
- nil
+ (
+ (MenuItem
+ enabled: hasCategorySelectedHolder
+ label: 'FileOut'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ enabled: hasCategorySelectedHolder
+ label: 'as...'
+ itemValue: categoryMenuFileOutAs
+ translateLabel: true
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ enabled: hasCategorySelectedAndCanFileOutXMLHolder
+ label: 'XML as...'
+ itemValue: categoryMenuFileOutXMLAs
+ translateLabel: true
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ enabled: hasCategorySelectedAndCanFileOutSIFHolder
+ label: 'SIF as...'
+ itemValue: categoryMenuFileOutSIFAs
+ translateLabel: true
+ )
+ (MenuItem
+ enabled: hasCategorySelectedAndCanFileOutCypressHolder
+ label: 'Cypress as...'
+ itemValue: categoryMenuFileOutCypressAs
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ enabled: hasCategorySelectedHolder
+ label: 'Each in...'
+ itemValue: categoryMenuFileOutEachIn
+ translateLabel: true
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ enabled: hasCategorySelectedAndCanFileOutXMLHolder
+ label: 'Each XML in...'
+ itemValue: categoryMenuFileOutEachXMLIn
+ translateLabel: true
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ enabled: hasCategorySelectedAndCanFileOutSIFHolder
+ label: 'Each SIF in...'
+ itemValue: categoryMenuFileOutEachSIFIn
+ translateLabel: true
+ showBusyCursorWhilePerforming: true
+ )
+ (MenuItem
+ enabled: hasCategorySelectedHolder
+ label: 'Each Binary in...'
+ itemValue: categoryMenuFileOutEachBinaryIn
+ translateLabel: true
+ showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ label: 'Repository'
+ translateLabel: true
+ submenuChannel: categoryMenuSCMSlice
+ isMenuSlice: true
+ )
+ )
+ nil
+ nil
)
!
@@ -8406,43 +8406,43 @@
^
#(Menu
- (
- (MenuItem
- label: 'Class'
- itemValue: classMenuNewClass
- translateLabel: true
- )
- (MenuItem
- enabled: hasSingleClassSelectedHolder
- label: 'Subclass'
- itemValue: classMenuNewSubclass
- translateLabel: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Smalltalk Class Slice'
- nameKey: classNewSmalltalkSlice
- translateLabel: true
- submenuChannel: classNewSmalltalkSlice
- isMenuSlice: true
- )
- (MenuItem
- label: 'Ruby Class Slice'
- nameKey: classNewRubyClassSlice
- translateLabel: true
- submenuChannel: classNewRubyClassSlice
- isMenuSlice: true
- )
- (MenuItem
- label: 'JavaScript Class Slice'
- nameKey: classNewJavaScriptClassSlice
- translateLabel: true
- submenuChannel: classNewJavaScriptClassSlice
- isMenuSlice: true
- )
- (MenuItem
+ (
+ (MenuItem
+ label: 'Class'
+ itemValue: classMenuNewClass
+ translateLabel: true
+ )
+ (MenuItem
+ enabled: hasSingleClassSelectedHolder
+ label: 'Subclass'
+ itemValue: classMenuNewSubclass
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Smalltalk Class Slice'
+ nameKey: classNewSmalltalkSlice
+ translateLabel: true
+ submenuChannel: classNewSmalltalkSlice
+ isMenuSlice: true
+ )
+ (MenuItem
+ label: 'Ruby Class Slice'
+ nameKey: classNewRubyClassSlice
+ translateLabel: true
+ submenuChannel: classNewRubyClassSlice
+ isMenuSlice: true
+ )
+ (MenuItem
+ label: 'JavaScript Class Slice'
+ nameKey: classNewJavaScriptClassSlice
+ translateLabel: true
+ submenuChannel: classNewJavaScriptClassSlice
+ isMenuSlice: true
+ )
+ (MenuItem
label: 'Groovy Class Slice'
nameKey: classNewGroovyClassSlice
translateLabel: true
@@ -8450,45 +8450,45 @@
isMenuSlice: true
)
(MenuItem
- label: 'Lisp Class Slice'
- nameKey: classNewLispClassSlice
- translateLabel: true
- submenuChannel: classNewLispClassSlice
- isMenuSlice: true
- )
- (MenuItem
- label: 'Haskell Class Slice'
- nameKey: classNewHaskellClassSlice
- translateLabel: true
- submenuChannel: classNewHaskellClassSlice
- isMenuSlice: true
- )
- (MenuItem
- label: 'PLSQL Class Slice'
- nameKey: classNewPLSQLClassSlice
- translateLabel: true
- submenuChannel: classNewPLSQLClassSlice
- isMenuSlice: true
- )
- (MenuItem
- label: 'Other New Class Slice'
- nameKey: classOtherClassNewSlice
- translateLabel: true
- submenuChannel: classOtherClassNewSlice
- isMenuSlice: true
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Class Wizard...'
- itemValue: classMenuOpenClassCreationWizard
- translateLabel: true
- labelImage: (ResourceRetriever ToolbarIconLibrary newClassWizardIcon 'Class Wizard...')
- )
- )
- nil
- nil
+ label: 'Lisp Class Slice'
+ nameKey: classNewLispClassSlice
+ translateLabel: true
+ submenuChannel: classNewLispClassSlice
+ isMenuSlice: true
+ )
+ (MenuItem
+ label: 'Haskell Class Slice'
+ nameKey: classNewHaskellClassSlice
+ translateLabel: true
+ submenuChannel: classNewHaskellClassSlice
+ isMenuSlice: true
+ )
+ (MenuItem
+ label: 'PLSQL Class Slice'
+ nameKey: classNewPLSQLClassSlice
+ translateLabel: true
+ submenuChannel: classNewPLSQLClassSlice
+ isMenuSlice: true
+ )
+ (MenuItem
+ label: 'Other New Class Slice'
+ nameKey: classOtherClassNewSlice
+ translateLabel: true
+ submenuChannel: classOtherClassNewSlice
+ isMenuSlice: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Class Wizard...'
+ itemValue: classMenuOpenClassCreationWizard
+ translateLabel: true
+ labelImage: (ResourceRetriever ToolbarIconLibrary newClassWizardIcon 'Class Wizard...')
+ )
+ )
+ nil
+ nil
)
"Modified: / 21-08-2012 / 12:31:32 / cg"
!
@@ -12481,166 +12481,166 @@
^
#(Menu
- (
- (MenuItem
- label: 'Toolbar'
- translateLabel: true
- hideMenuOnActivated: false
- indication: toolBarVisibleHolder
- )
- (MenuItem
- label: 'Bookmarks'
- translateLabel: true
- hideMenuOnActivated: false
- indication: bookmarkBarVisibleHolder
- )
- (MenuItem
- label: 'Searchbar'
- translateLabel: true
- hideMenuOnActivated: false
- indication: stringSearchToolVisibleHolder
- )
- (MenuItem
- label: 'Info'
- translateLabel: true
- hideMenuOnActivated: false
- indication: codeInfoVisible
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Multitab Mode'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showMultitabMode
- )
- (MenuItem
- label: 'Enable Embedded Resource Editors'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showSpecialResourceEditors
- )
- (MenuItem
- label: 'Coverage Info'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showCoverageInformation
- )
- (MenuItem
- label: 'Browslet'
- itemValue: showPlugin:
- translateLabel: true
- isVisible: false
- hideMenuOnActivated: false
- indication: showPlugin
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Class'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- label: 'Hide Unloaded Classes'
- translateLabel: true
- hideMenuOnActivated: false
- indication: hideUnloadedClasses
- )
- (MenuItem
- label: 'Show All Classes in NameSpace View'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showAllClassesInNameSpaceOrganisation
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- enabled: showUnloadedClasses
- label: 'Emphasize Unloaded Classes'
- translateLabel: true
- hideMenuOnActivated: false
- indication: emphasizeUnloadedClasses
- )
- (MenuItem
- label: 'Show Class Type Indicator'
- translateLabel: true
- hideMenuOnActivated: false
- indication: markApplicationsHolder
- )
- (MenuItem
- label: 'Short Class Names in Tabs'
- translateLabel: true
- hideMenuOnActivated: false
- indication: shortNamesInTabs
- )
- (MenuItem
- label: 'Show Class-Packages'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showClassPackages
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Sort and Indent by Inheritance'
- translateLabel: true
- hideMenuOnActivated: false
- indication: sortByNameAndInheritance
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- label: 'Protocol'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- label: 'Show Pseudo Protocols'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showPseudoProtocols
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- label: 'Selector'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- label: 'Show Inherited Methods'
- translateLabel: true
- hideMenuOnActivated: false
- choice: methodVisibilityHolder
- choiceValue: all
- )
- (MenuItem
- label: 'Show Inherited Methods except Object''s'
- translateLabel: true
- hideMenuOnActivated: false
- choice: methodVisibilityHolder
- choiceValue: allButObject
- )
- (MenuItem
- label: 'Do not Show Inherited Methods'
- translateLabel: true
- hideMenuOnActivated: false
- choice: methodVisibilityHolder
- choiceValue: class
+ (
+ (MenuItem
+ label: 'Toolbar'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: toolBarVisibleHolder
+ )
+ (MenuItem
+ label: 'Bookmarks'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: bookmarkBarVisibleHolder
+ )
+ (MenuItem
+ label: 'Searchbar'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: stringSearchToolVisibleHolder
+ )
+ (MenuItem
+ label: 'Info'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: codeInfoVisible
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Multitab Mode'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showMultitabMode
+ )
+ (MenuItem
+ label: 'Enable Embedded Resource Editors'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showSpecialResourceEditors
+ )
+ (MenuItem
+ label: 'Coverage Info'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showCoverageInformation
+ )
+ (MenuItem
+ label: 'Browslet'
+ itemValue: showPlugin:
+ translateLabel: true
+ isVisible: false
+ hideMenuOnActivated: false
+ indication: showPlugin
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Class'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Hide Unloaded Classes'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: hideUnloadedClasses
+ )
+ (MenuItem
+ label: 'Show All Classes in NameSpace View'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showAllClassesInNameSpaceOrganisation
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ enabled: showUnloadedClasses
+ label: 'Emphasize Unloaded Classes'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: emphasizeUnloadedClasses
+ )
+ (MenuItem
+ label: 'Show Class Type Indicator'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: markApplicationsHolder
+ )
+ (MenuItem
+ label: 'Short Class Names in Tabs'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: shortNamesInTabs
+ )
+ (MenuItem
+ label: 'Show Class-Packages'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showClassPackages
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Sort and Indent by Inheritance'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: sortByNameAndInheritance
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ label: 'Protocol'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Show Pseudo Protocols'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showPseudoProtocols
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ label: 'Selector'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Show Inherited Methods'
+ translateLabel: true
+ hideMenuOnActivated: false
+ choice: methodVisibilityHolder
+ choiceValue: all
+ )
+ (MenuItem
+ label: 'Show Inherited Methods except Object''s'
+ translateLabel: true
+ hideMenuOnActivated: false
+ choice: methodVisibilityHolder
+ choiceValue: allButObject
+ )
+ (MenuItem
+ label: 'Do not Show Inherited Methods'
+ translateLabel: true
+ hideMenuOnActivated: false
+ choice: methodVisibilityHolder
+ choiceValue: class
)
(MenuItem
label: '-'
@@ -12650,87 +12650,87 @@
translateLabel: true
hideMenuOnActivated: false
indication: showSyntheticMethods
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Show Method Inheritance Indicator'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showMethodInheritance
- )
- (MenuItem
- label: 'Show Method Type Indicator'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showMethodTypeIcon
- )
- (MenuItem
- enabled: hasOOMPackageLoadedHolder
- label: 'Show Method-Complexity'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showMethodComplexity
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- label: 'Code'
- translateLabel: true
- submenu:
- (Menu
- (
- (MenuItem
- label: 'Syntax Coloring'
- translateLabel: true
- hideMenuOnActivated: false
- indication: doSyntaxColoring
- )
- (MenuItem
- enabled: doSyntaxColoring
- label: 'Immediate Syntax Coloring'
- translateLabel: true
- hideMenuOnActivated: false
- indication: doImmediateSyntaxColoring
- )
- (MenuItem
- label: 'Immediate Explaining'
- translateLabel: true
- hideMenuOnActivated: false
- indication: doImmediateExplaining
- )
- (MenuItem
- label: 'Auto-Format Code'
- translateLabel: true
- hideMenuOnActivated: false
- indication: doAutoFormat
- )
- (MenuItem
- label: 'Show MethodTemplate for New Methods'
- translateLabel: true
- hideMenuOnActivated: false
- indication: showMethodTemplate
- )
- )
- nil
- nil
- )
- )
- (MenuItem
- label: '-'
- )
- (MenuItem
- label: 'Settings...'
- itemValue: openSettingsDialog
- translateLabel: true
- )
- )
- nil
- nil
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Show Method Inheritance Indicator'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showMethodInheritance
+ )
+ (MenuItem
+ label: 'Show Method Type Indicator'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showMethodTypeIcon
+ )
+ (MenuItem
+ enabled: hasOOMPackageLoadedHolder
+ label: 'Show Method-Complexity'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showMethodComplexity
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ label: 'Code'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Syntax Coloring'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: doSyntaxColoring
+ )
+ (MenuItem
+ enabled: doSyntaxColoring
+ label: 'Immediate Syntax Coloring'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: doImmediateSyntaxColoring
+ )
+ (MenuItem
+ label: 'Immediate Explaining'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: doImmediateExplaining
+ )
+ (MenuItem
+ label: 'Auto-Format Code'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: doAutoFormat
+ )
+ (MenuItem
+ label: 'Show MethodTemplate for New Methods'
+ translateLabel: true
+ hideMenuOnActivated: false
+ indication: showMethodTemplate
+ )
+ )
+ nil
+ nil
+ )
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Settings...'
+ itemValue: openSettingsDialog
+ translateLabel: true
+ )
+ )
+ nil
+ nil
)
!
@@ -13158,26 +13158,26 @@
^
#(Menu
- (
- (MenuItem
- enabled: hasClassSelectedAndCVSSourceCodeManagerHolder
- label: 'CVS'
- translateLabel: true
- submenuChannel: categoryMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
- argument: CVSSourceCodeManager
- keepLinkedMenu: true
- )
- (MenuItem
- enabled: hasClassesSelectedAndSubversionRepositoryExistsHolder
- label: 'SubVersion'
- translateLabel: true
- isVisible: hasSubversionSupport
- submenuChannel: categoryMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
- argument: SVNSourceCodeManager
- )
- (MenuItem
+ (
+ (MenuItem
+ enabled: hasClassSelectedAndCVSSourceCodeManagerHolder
+ label: 'CVS'
+ translateLabel: true
+ submenuChannel: categoryMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
+ argument: CVSSourceCodeManager
+ keepLinkedMenu: true
+ )
+ (MenuItem
+ enabled: hasClassesSelectedAndSubversionRepositoryExistsHolder
+ label: 'SubVersion'
+ translateLabel: true
+ isVisible: hasSubversionSupport
+ submenuChannel: categoryMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
+ argument: SVNSourceCodeManager
+ )
+ (MenuItem
enabled: hasProjectSelectedAndSourceCodeManagerHolder
label: 'Mercurial+'
isVisible: hgRepositoryMenusAreShown
@@ -13186,14 +13186,14 @@
argument: HGSourceCodeManager
)
(MenuItem
- enabled: hasClassSelectedAndSourceCodeManagerHolder
- label: 'Perforce'
- translateLabel: true
- isVisible: hasPerforceSupport
- submenuChannel: categoryMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Perforce')
- argument: PerforceSourceCodeManager
- )
+ enabled: hasClassSelectedAndSourceCodeManagerHolder
+ label: 'Perforce'
+ translateLabel: true
+ isVisible: hasPerforceSupport
+ submenuChannel: categoryMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Perforce')
+ argument: PerforceSourceCodeManager
+ )
(MenuItem
enabled: hasClassSelectedAndSourceCodeManagerHolder
label: 'Git+'
@@ -13202,9 +13202,9 @@
labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Git+')
argument: GitSourceCodeManager2
)
- )
- nil
- nil
+ )
+ nil
+ nil
)
!
@@ -14565,22 +14565,22 @@
)
(MenuItem
enabled: hasClassSelectedAndSourceCodeManagerHolder
- label: 'Mercurial+'
- isVisible: hgRepositoryMenusAreShown
- submenuChannel: classMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositoryHGIcon 'Mercurial+')
- argument: HGSourceCodeManager
- )
- (MenuItem
- enabled: hasClassSelectedAndSourceCodeManagerHolder
- label: 'Git+'
- isVisible: git2RepositoryMenusAreShown
- submenuChannel: classMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Git+')
- argument: GitSourceCodeManager2
- )
- (MenuItem
- enabled: hasClassSelectedAndSourceCodeManagerHolder
+ label: 'Mercurial+'
+ isVisible: hgRepositoryMenusAreShown
+ submenuChannel: classMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositoryHGIcon 'Mercurial+')
+ argument: HGSourceCodeManager
+ )
+ (MenuItem
+ enabled: hasClassSelectedAndSourceCodeManagerHolder
+ label: 'Git+'
+ isVisible: git2RepositoryMenusAreShown
+ submenuChannel: classMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Git+')
+ argument: GitSourceCodeManager2
+ )
+ (MenuItem
+ enabled: hasClassSelectedAndSourceCodeManagerHolder
label: 'Mercurial'
translateLabel: true
submenuChannel: classMenuSCMFor:
@@ -16036,27 +16036,27 @@
^
#(Menu
- (
- (MenuItem
- enabled: hasProjectSelectedAndSourceCodeManagerHolder
- label: 'CVS'
- translateLabel: true
- submenuChannel: projectMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
- argument: CVSSourceCodeManager
- keepLinkedMenu: true
- )
- (MenuItem
- enabled: hasProjectSelectedAndSourceCodeManagerHolder
- label: 'SubVersion'
- translateLabel: true
- isVisible: hasSubversionSupport
- submenuChannel: projectMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
- argument: SVNSourceCodeManager
- )
- (MenuItem
- enabled: hasProjectSelectedAndSourceCodeManagerHolder
+ (
+ (MenuItem
+ enabled: hasProjectSelectedAndSourceCodeManagerHolder
+ label: 'CVS'
+ translateLabel: true
+ submenuChannel: projectMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
+ argument: CVSSourceCodeManager
+ keepLinkedMenu: true
+ )
+ (MenuItem
+ enabled: hasProjectSelectedAndSourceCodeManagerHolder
+ label: 'SubVersion'
+ translateLabel: true
+ isVisible: hasSubversionSupport
+ submenuChannel: projectMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
+ argument: SVNSourceCodeManager
+ )
+ (MenuItem
+ enabled: hasProjectSelectedAndSourceCodeManagerHolder
label: 'Mercurial+'
isVisible: hgRepositoryMenusAreShown
submenuChannel: projectMenuSCMFor:
@@ -16073,25 +16073,25 @@
)
(MenuItem
enabled: hasProjectSelectedAndSourceCodeManagerHolder
- label: 'Perforce'
- translateLabel: true
- isVisible: hasPerforceSupport
- submenuChannel: projectMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
- argument: PerforceSourceCodeManager
- )
- (MenuItem
- enabled: hasProjectSelectedAndSourceCodeManagerHolder
- label: 'Monticello'
- translateLabel: true
- isVisible: hasMonticelloSupport
- submenuChannel: projectMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositoryMCIcon 'Monticello')
- argument: MCSourceCodeManager
- )
- )
- nil
- nil
+ label: 'Perforce'
+ translateLabel: true
+ isVisible: hasPerforceSupport
+ submenuChannel: projectMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
+ argument: PerforceSourceCodeManager
+ )
+ (MenuItem
+ enabled: hasProjectSelectedAndSourceCodeManagerHolder
+ label: 'Monticello'
+ translateLabel: true
+ isVisible: hasMonticelloSupport
+ submenuChannel: projectMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositoryMCIcon 'Monticello')
+ argument: MCSourceCodeManager
+ )
+ )
+ nil
+ nil
)
!
@@ -16439,27 +16439,27 @@
^
#(Menu
- (
- (MenuItem
- enabled: hasMethodSelectedAndSourceCodeManagerHolder
- label: 'CVS'
- translateLabel: true
- submenuChannel: selectorMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
- argument: CVSSourceCodeManager
- keepLinkedMenu: true
- )
- (MenuItem
- enabled: hasMethodSelectedAndSourceCodeManagerHolder
- label: 'SubVersion'
- translateLabel: true
- isVisible: hasSubversionSupport
- submenuChannel: selectorMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
- argument: SVNSourceCodeManager
- )
- (MenuItem
- enabled: hasMethodSelectedAndSourceCodeManagerHolder
+ (
+ (MenuItem
+ enabled: hasMethodSelectedAndSourceCodeManagerHolder
+ label: 'CVS'
+ translateLabel: true
+ submenuChannel: selectorMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
+ argument: CVSSourceCodeManager
+ keepLinkedMenu: true
+ )
+ (MenuItem
+ enabled: hasMethodSelectedAndSourceCodeManagerHolder
+ label: 'SubVersion'
+ translateLabel: true
+ isVisible: hasSubversionSupport
+ submenuChannel: selectorMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
+ argument: SVNSourceCodeManager
+ )
+ (MenuItem
+ enabled: hasMethodSelectedAndSourceCodeManagerHolder
label: 'Mercurial+'
isVisible: hgRepositoryMenusAreShown
submenuChannel: selectorMenuSCMFor:
@@ -16476,16 +16476,16 @@
)
(MenuItem
enabled: hasMethodSelectedAndSourceCodeManagerHolder
- label: 'Perforce'
- translateLabel: true
- isVisible: hasPerforceSupport
- submenuChannel: selectorMenuSCMFor:
- labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
- argument: PerforceSourceCodeManager
- )
- )
- nil
- nil
+ label: 'Perforce'
+ translateLabel: true
+ isVisible: hasPerforceSupport
+ submenuChannel: selectorMenuSCMFor:
+ labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
+ argument: PerforceSourceCodeManager
+ )
+ )
+ nil
+ nil
)
!
@@ -26714,42 +26714,44 @@
fileOutEachClassIn:aCollectionOfClasses in:aDirectory withFormat:aFormatSymbolOrNil
"fileOut a bunch of classes as individual files into some directory"
- |savedClasses privateClasses owningClasses unsavedOwners answer|
-
- privateClasses := aCollectionOfClasses select:[:eachClass | eachClass isPrivate].
- savedClasses := (aCollectionOfClasses select:[:eachClass | eachClass isPrivate not]) asIdentitySet.
- owningClasses := (privateClasses collect:[:eachPrivateClass | eachPrivateClass topOwningClass]) asIdentitySet.
- unsavedOwners := owningClasses copy.
- unsavedOwners removeAllFoundIn:savedClasses.
+ |savedClasses owningClasses unsavedOwners answer|
+
+ savedClasses := aCollectionOfClasses select:[:eachClass | eachClass isPrivate not] as:IdentitySet.
+ owningClasses := aCollectionOfClasses
+ select:[:eachClass | eachClass isPrivate]
+ thenCollect:[:eachPrivateClass | eachPrivateClass topOwningClass]
+ as:IdentitySet.
+
+ unsavedOwners := owningClasses \ savedClasses.
unsavedOwners notEmpty ifTrue:[
- answer := self confirmWithCancel:'Private classes are saved with their owningClasses;\\Save owners as well ?' withCRs.
- answer isNil ifTrue:[^ self].
- answer == true ifTrue:[
- savedClasses addAll:unsavedOwners
- ]
+ answer := self confirmWithCancel:'Private classes are saved with their owningClasses;\\Save owners as well ?' withCRs.
+ answer isNil ifTrue:[^ self].
+ answer == true ifTrue:[
+ savedClasses addAll:unsavedOwners
+ ]
].
savedClasses do:[:eachClass |
- |fn answer|
-
- eachClass isPrivate ifFalse:[
- self busyLabel:'saving: %1' with:eachClass name.
- Class fileOutErrorSignal handle:[:ex |
- answer := DialogBox
- confirm:(resources stringWithCRs:'Cannot fileOut: %1\(%2)\\skipped.'
- with:(eachClass name allBold)
- with:ex description)
- yesLabel:'ok' noLabel:'cancel'.
- answer == false ifTrue:[
- ^ self
- ].
- self normalLabel.
- ex return.
- ] do:[
- fn := (Smalltalk fileNameForClass:eachClass) , '.st'.
- eachClass fileOutAs:(aDirectory asFilename constructString:fn).
- ]
- ]
+ |fn answer|
+
+ eachClass isPrivate ifFalse:[
+ self busyLabel:'saving: %1' with:eachClass name.
+ Class fileOutErrorSignal handle:[:ex |
+ answer := DialogBox
+ confirm:(resources stringWithCRs:'Cannot fileOut: %1\(%2)\\skipped.'
+ with:(eachClass name allBold)
+ with:ex description)
+ yesLabel:'ok' noLabel:'cancel'.
+ answer == false ifTrue:[
+ ^ self
+ ].
+ self normalLabel.
+ ex return.
+ ] do:[
+ fn := (Smalltalk fileNameForClass:eachClass) , '.st'.
+ eachClass fileOutAs:(aDirectory asFilename constructString:fn).
+ ]
+ ]
].
self normalLabel.
@@ -27397,225 +27399,225 @@
answer toRemove stillSearchingForMore more|
(classesToRemove includes:aClass) ifTrue:[
- "/ already in list
- ^ self
+ "/ already in list
+ ^ self
].
aClass wasAutoloaded ifTrue:[
- answer := self
- confirmWithCancel:(resources
- string:'%1 was autoloaded.\\Reinstall as autoloaded ?'
- with:aClass name allBold) withCRs.
- answer isNil ifTrue:[
- ^ self
- ].
- answer == true ifTrue:[
- self withWaitCursorDo:[
- aClass unload.
- Smalltalk changed:#classDefinition with:aClass
- ].
- ^ self
- ]
+ answer := self
+ confirmWithCancel:(resources
+ string:'%1 was autoloaded.\\Reinstall as autoloaded ?'
+ with:aClass name allBold) withCRs.
+ answer isNil ifTrue:[
+ ^ self
+ ].
+ answer == true ifTrue:[
+ self withWaitCursorDo:[
+ aClass unload.
+ Smalltalk changed:#classDefinition with:aClass
+ ].
+ ^ self
+ ]
].
countSubClasses := aClass allSubclasses size.
t := 'Remove Class ''%1'''.
countSubClasses ~~ 0 ifTrue:[
- removingSubclasses ifTrue:[
- t := t , '\(with %2 subclass'.
- ] ifFalse:[
- t := t , '\(and pull up %2 subclass'.
- ].
- countSubClasses ~~ 1 ifTrue:[
- t := t , 'es'
- ]
+ removingSubclasses ifTrue:[
+ t := t , '\(with %2 subclass'.
+ ] ifFalse:[
+ t := t , '\(and pull up %2 subclass'.
+ ].
+ countSubClasses ~~ 1 ifTrue:[
+ t := t , 'es'
+ ]
].
countPrivateClasses := aClass allPrivateClasses size.
countPrivateClasses ~~ 0 ifTrue:[
- removingSubclasses ifFalse:[
- self warn:('%1 has private classes - please make them public; then try again' bindWith:aClass name allBold).
- ^ self
- ].
-
- countSubClasses ~~ 0 ifTrue:[
- t := t , ' and'
- ] ifFalse:[
- t := t , '\(with'
- ].
- t := t , ' %3 private class'.
- countPrivateClasses ~~ 1 ifTrue:[
- t := t , 'es'
- ]
+ removingSubclasses ifFalse:[
+ self warn:('%1 has private classes - please make them public; then try again' bindWith:aClass name allBold).
+ ^ self
+ ].
+
+ countSubClasses ~~ 0 ifTrue:[
+ t := t , ' and'
+ ] ifFalse:[
+ t := t , '\(with'
+ ].
+ t := t , ' %3 private class'.
+ countPrivateClasses ~~ 1 ifTrue:[
+ t := t , 'es'
+ ]
].
(countSubClasses ~~ 0 or:[countPrivateClasses ~~ 0]) ifTrue:[
- t := t , ')'
+ t := t , ')'
].
t := t , ' ?'.
t := (resources
- string:t
- with:aClass name allBold
- with:countSubClasses
- with:countPrivateClasses) withCRs.
+ string:t
+ with:aClass name allBold
+ with:countSubClasses
+ with:countPrivateClasses) withCRs.
YesToAllConfirmation query ifTrue:[
] ifFalse:[
- (countSubClasses ~~ 0 or:[countPrivateClasses ~~ 0 or:[withConfirm]]) ifTrue:[
- withCancel ifTrue:[
- confirmed := OptionBox
- request:t
- label:(resources string:'Remove Class')
- image:(YesNoBox iconBitmap)
- buttonLabels:(resources array:#('Cancel' 'No' 'Yes' 'Yes to All'))
- values:#(nil false true #yesToAll)
- default:false
- onCancel:false.
- "/ confirmed := Dialog confirmWithCancel:t default:false
- ] ifFalse:[
- confirmed := Dialog confirm:t
- ].
- confirmed isNil ifTrue:[
- "/ cancelled
- AbortOperationRequest raise
- ].
- confirmed == #yesToAll ifTrue:[
- YesToAllConfirmation notify.
- confirmed := true.
- ].
-
- confirmed ifFalse:[
- ^ self
- ]
- ].
+ (countSubClasses ~~ 0 or:[countPrivateClasses ~~ 0 or:[withConfirm]]) ifTrue:[
+ withCancel ifTrue:[
+ confirmed := OptionBox
+ request:t
+ label:(resources string:'Remove Class')
+ image:(YesNoBox iconBitmap)
+ buttonLabels:(resources array:#('Cancel' 'No' 'Yes' 'Yes to All'))
+ values:#(nil false true #yesToAll)
+ default:false
+ onCancel:false.
+ "/ confirmed := Dialog confirmWithCancel:t default:false
+ ] ifFalse:[
+ confirmed := Dialog confirm:t
+ ].
+ confirmed isNil ifTrue:[
+ "/ cancelled
+ AbortOperationRequest raise
+ ].
+ confirmed == #yesToAll ifTrue:[
+ YesToAllConfirmation notify.
+ confirmed := true.
+ ].
+
+ confirmed ifFalse:[
+ ^ self
+ ]
+ ].
].
didRemove := false.
includesBuiltIn := aClass isBuiltInClass.
aClass allSubclassesDo:[:aSubClass |
- includesBuiltIn := includesBuiltIn or:[aSubClass isBuiltInClass]
- ].
+ includesBuiltIn := includesBuiltIn or:[aSubClass isBuiltInClass]
+ ].
includesBuiltIn ifTrue:[
- "/ ask again - severe damage is to be expected ...
-
- confirmed := Dialog
- confirmWithCancel:'The set of classes to remove includes at least one systemClass,\without which ST/X will fail to work.\Be prepared for a crash, if you proceed.\\Really remove ?'
- withCRs
- default:false.
- confirmed isNil ifTrue:[
- "/ cancelled
-
- AbortSignal raise
- ].
- confirmed ifFalse:[
- ^ self
- ]
+ "/ ask again - severe damage is to be expected ...
+
+ confirmed := Dialog
+ confirmWithCancel:'The set of classes to remove includes at least one systemClass,\without which ST/X will fail to work.\Be prepared for a crash, if you proceed.\\Really remove ?'
+ withCRs
+ default:false.
+ confirmed isNil ifTrue:[
+ "/ cancelled
+
+ AbortSignal raise
+ ].
+ confirmed ifFalse:[
+ ^ self
+ ]
].
"/ check if any of the classes to remove has a repository container - warn about this if so
aClass withAllSubclassesDo:[:eachClassToRemove |
- eachClassToRemove isPrivate ifFalse:[
- eachClassToRemove revision notNil ifTrue:[
- (removingSubclasses or:[eachClassToRemove == aClass])
- ifTrue:[
+ eachClassToRemove isPrivate ifFalse:[
+ eachClassToRemove revision notNil ifTrue:[
+ (removingSubclasses or:[eachClassToRemove == aClass])
+ ifTrue:[
"JV@2012-02-09: Only ask if configured source code manager is CVS,
as other managers handles removals nicely (they version whole tree).
Such a query is not only annoying but also confusing to newcomers
"
eachClassToRemove sourceCodeManager isCVS ifTrue:[
- confirmed := Dialog
- confirmWithCancel:(resources
- string:'Remove the source container for ''%1'' in the repository ?\\Warning: can only be undone by manually fixing the CVS repository !!'
- with:eachClassToRemove name allBold) withCRs
- default:false.
+ confirmed := Dialog
+ confirmWithCancel:(resources
+ string:'Remove the source container for ''%1'' in the repository ?\\Warning: can only be undone by manually fixing the CVS repository !!'
+ with:eachClassToRemove name allBold) withCRs
+ default:false.
] ifFalse:[
"JV@2012-02-09: Mhh, mhh, what to return here?"
confirmed := false. "/false avoids timely listing of huge expecco's repository,
"/Obviously, this should be fixed in libsvn.
].
- confirmed isNil ifTrue:[
- "/ cancelled
-
- AbortSignal raise
- ].
- confirmed ifTrue:[
+ confirmed isNil ifTrue:[
+ "/ cancelled
+
+ AbortSignal raise
+ ].
+ confirmed ifTrue:[
"JV@2012-02-09: Use class's sourcecode manager's utilities,
not default one"
eachClassToRemove sourceCodeManager utilities
- removeSourceContainerForClass:eachClassToRemove
- confirm:true
- warn:true
- ]
- ]
- ].
- ]
+ removeSourceContainerForClass:eachClassToRemove
+ confirm:true
+ warn:true
+ ]
+ ]
+ ].
+ ]
].
"/ check if any of the classes to be removed from the ProjectDefinition
aClass withAllSubclassesDo:[:eachClassToRemove |
- eachClassToRemove isPrivate ifFalse:[
- |def|
-
- def := eachClassToRemove projectDefinitionClass.
- def notNil and:[
- (eachClassToRemove ~~ def
- and:[ def allClassNames includes:eachClassToRemove name ]) ifTrue:[
- (Dialog confirm:(resources string:'Remove %1 from its Package definition ?'
- with:eachClassToRemove name))
- ifTrue:[
- self excludeClasses: (Array with: eachClassToRemove) fromProject:def using:Compiler.
- ].
- ]
- ]
- ]
+ eachClassToRemove isPrivate ifFalse:[
+ |def|
+
+ def := eachClassToRemove projectDefinitionClass.
+ def notNil and:[
+ (eachClassToRemove ~~ def
+ and:[ def allClassNames includes:eachClassToRemove name ]) ifTrue:[
+ (Dialog confirm:(resources string:'Remove %1 from its Package definition ?'
+ with:eachClassToRemove name))
+ ifTrue:[
+ self excludeClasses: (Array with: eachClassToRemove) fromProject:def using:Compiler.
+ ].
+ ]
+ ]
+ ]
].
toRemove := IdentitySet new.
toRemove addAll:classesToRemove.
removingSubclasses ifTrue:[
- aClass allSubclassesDo:[:aSubClass |
- (CheckForInstancesWhenRemovingClasses == false or:[
- aSubClass hasInstances not or:[
- self confirm:(resources string:'''%1'' has instances - remove anyway ?'
- with:aSubClass name allBold)
- ]
- ]) ifTrue:[
- classesToRemove add:aSubClass.
- toRemove add:aSubClass
- ]
- ].
+ aClass allSubclassesDo:[:aSubClass |
+ (CheckForInstancesWhenRemovingClasses == false or:[
+ aSubClass hasInstances not or:[
+ self confirm:(resources string:'''%1'' has instances - remove anyway ?'
+ with:aSubClass name allBold)
+ ]
+ ]) ifTrue:[
+ classesToRemove add:aSubClass.
+ toRemove add:aSubClass
+ ]
+ ].
].
(CheckForInstancesWhenRemovingClasses == false or:[
- aClass hasInstances not or:[
- self confirm:(resources string:'''%1'' has instances - remove anyway ?'
- with:aClass name allBold)
- ]
+ aClass hasInstances not or:[
+ self confirm:(resources string:'''%1'' has instances - remove anyway ?'
+ with:aClass name allBold)
+ ]
]) ifTrue:[
- didRemove := true.
- aClass allPrivateClassesDo:[:eachPrivate |
- classesToRemove addFirst:eachPrivate.
- toRemove add:eachPrivate
- ].
- classesToRemove add:aClass.
- toRemove add:aClass
+ didRemove := true.
+ aClass allPrivateClassesDo:[:eachPrivate |
+ classesToRemove addFirst:eachPrivate.
+ toRemove add:eachPrivate
+ ].
+ classesToRemove add:aClass.
+ toRemove add:aClass
].
stillSearchingForMore := true.
[
- stillSearchingForMore
+ stillSearchingForMore
] whileTrue:[
- stillSearchingForMore := false.
- more := IdentitySet new.
- classesToRemove do:[:eachClass |
- eachClass allPrivateClasses do:[:eachPrivate |
- classesToRemove addFirst:eachPrivate.
- (toRemove includes:eachPrivate) ifFalse:[
- toRemove add:eachPrivate.
- more := true
- ]
- ]
- ]
+ stillSearchingForMore := false.
+ more := IdentitySet new.
+ classesToRemove do:[:eachClass |
+ eachClass allPrivateClasses do:[:eachPrivate |
+ classesToRemove addFirst:eachPrivate.
+ (toRemove includes:eachPrivate) ifFalse:[
+ toRemove add:eachPrivate.
+ more := true
+ ]
+ ]
+ ]
]
"Modified: / 21-12-2011 / 20:22:34 / cg"
@@ -27870,23 +27872,23 @@
(aClass == Autoload
or:[aClass isNil or:[aClass isLoaded not]]) ifTrue:[
- self javaMode ifTrue:[
- theSuperClass := Java at:'java.lang.Object'
- ] ifFalse:[
- theSuperClass := Object
- ]
- ] ifFalse:[
- theSuperClass := aClass
+ self javaMode ifTrue:[
+ theSuperClass := Java at:'java.lang.Object'
+ ] ifFalse:[
+ theSuperClass := Object
+ ]
+ ] ifFalse:[
+ theSuperClass := aClass
].
"/ self switchToClass:nil.
self showCode:(self
- classTemplateFor:theSuperClass
- in:cat
- asNamespace:isNameSpace
- private:isPrivate
- metaClassUsed:metaClassUsedOrNil).
+ classTemplateFor:theSuperClass
+ in:cat
+ asNamespace:isNameSpace
+ private:isPrivate
+ metaClassUsed:metaClassUsedOrNil).
self setAcceptActionForMetaClassUsed:metaClassUsedOrNil.
self codeAspect: SyntaxHighlighter codeAspectClassDefinition
@@ -28398,20 +28400,15 @@
|classes dirName|
classes := self selectedNonMetaclasses.
- classes := classes reject:[:eachClass | eachClass isPrivate].
- classes size == 0 ifTrue:[
- ^ self warn:'Only private classes selected'.
- ].
-
dirName := self
- askForDirectoryToFileOut:(resources string:'FileOut %1 classes in:' with:classes size)
- default:nil.
+ askForDirectoryToFileOut:(resources string:'FileOut %1 classes in:' with:classes size)
+ default:nil.
dirName isNil ifTrue:[^ self].
self
- fileOutEachClassIn:classes
- in:dirName
- withFormat:aFormatSymbolOrNil.
+ fileOutEachClassIn:classes
+ in:dirName
+ withFormat:aFormatSymbolOrNil.
"Modified: / 11-07-2010 / 16:44:33 / cg"
!
@@ -30880,33 +30877,33 @@
movedClassMethods := OrderedCollection new.
aClass theNonMetaclass methodDictionary keysAndValuesDo:[:sel :mthd |
- mthd package = oldProject ifTrue:[
+ mthd package = oldProject ifTrue:[
"/ JV@2012-02-11
"/ this is required, because otherwise I would no longer be able to
"/ reconstruct my sourcecode (as the connection to the source-file is lost).
mthd makeLocalStringSource.
- mthd setPackage:newProject.
- movedInstMethods add:mthd.
- ].
+ mthd setPackage:newProject.
+ movedInstMethods add:mthd.
+ ].
].
aClass theMetaclass methodDictionary keysAndValuesDo:[:sel :mthd |
- mthd package = oldProject ifTrue:[
+ mthd package = oldProject ifTrue:[
"/ JV@2012-02-11
"/ this is required, because otherwise I would no longer be able to
"/ reconstruct my sourcecode (as the connection to the source-file is lost).
mthd makeLocalStringSource.
- mthd setPackage:newProject.
- movedClassMethods add:mthd.
- ].
+ mthd setPackage:newProject.
+ movedClassMethods add:mthd.
+ ].
].
movedInstMethods notEmpty ifTrue:[
- aClass theNonMetaclass changed:#projectOrganization.
- Smalltalk changed:#projectOrganization with:(Array with:aClass theNonMetaclass with:movedInstMethods).
+ aClass theNonMetaclass changed:#projectOrganization.
+ Smalltalk changed:#projectOrganization with:(Array with:aClass theNonMetaclass with:movedInstMethods).
].
movedClassMethods notEmpty ifTrue:[
- aClass theMetaclass changed:#projectOrganization.
- Smalltalk changed:#projectOrganization with:(Array with:aClass theMetaclass with:movedClassMethods).
+ aClass theMetaclass changed:#projectOrganization.
+ Smalltalk changed:#projectOrganization with:(Array with:aClass theMetaclass with:movedClassMethods).
]
"Modified: / 09-03-2012 / 23:41:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -31035,64 +31032,19 @@
|dirName|
dirName := self
- askForDirectoryToFileOut:(resources string:'FileOut %1 class(es) in:'
- with:aBunchOfClasses size)
- default:nil.
+ askForDirectoryToFileOut:(resources string:'FileOut %1 class(es) in:'
+ with:aBunchOfClasses size)
+ default:nil.
dirName isNil ifTrue:[
- ^ self
- ].
- self
- fileOutEachClass:aBunchOfClasses
- in:dirName
- withFormat:aFormatSymbolOrNil
-!
-
-fileOutEachClass:aCollectionOfClasses in:aDirectory withFormat:aFormatSymbolOrNil
- "fileOut a bunch of classes as individual files into some directory"
-
- |savedClasses privateClasses owningClasses unsavedOwners answer|
-
- privateClasses := aCollectionOfClasses
- select:[:eachClass | eachClass isPrivate].
- savedClasses := (aCollectionOfClasses
- select:[:eachClass | eachClass isPrivate not]) asIdentitySet.
- owningClasses := (privateClasses
- collect:[:eachPrivateClass | eachPrivateClass topOwningClass])
- asIdentitySet.
- unsavedOwners := owningClasses copy.
- unsavedOwners removeAllFoundIn:savedClasses.
- unsavedOwners notEmpty ifTrue:[
- answer := self
- confirmWithCancel:'Private classes are saved with their owningClasses;\\Save owners as well ?'
- withCRs.
- answer isNil ifTrue:[
- ^ self
- ].
- answer == true ifTrue:[
- savedClasses addAll:unsavedOwners
- ]
- ].
- savedClasses do:[:eachClass |
- |fn|
-
- eachClass isPrivate ifFalse:[
- self busyLabel:'saving: %1' with:eachClass name.
- Class fileOutErrorSignal handle:[:ex |
- self
- warn:'cannot fileOut: %1\(%2)\\skipped.'
- with:eachClass name allBold
- with:ex description.
- self normalLabel.
- ex return
- ]
- do:[
- fn := (Smalltalk fileNameForClass:eachClass) , '.st'.
- eachClass fileOutAs:(aDirectory asFilename constructString:fn)
- ]
- ]
- ].
- self normalLabel
-!
+ ^ self
+ ].
+ self
+ fileOutEachClassIn:aBunchOfClasses
+ in:dirName
+ withFormat:aFormatSymbolOrNil
+!
+
+
generateUndoableChange:nameOfOperation overClasses:classes via:aBlock
"helper for code generators; collect changes generated by enumerating
@@ -32567,63 +32519,63 @@
(aManagerOrNil isNil or:[aManagerOrNil performsCompilabilityChecks not]) ifTrue:[
errors := self checkCompilabilityOfAll:aCollectionOfClasses withExtensions: true errorsOnly:true.
errors notEmptyOrNil ifTrue:[
- (TextBox openOn:errors title:'Attention: about to check in class with errors' readOnly:true) isNil
- ifTrue:[
- AbortSignal raise
- ].
+ (TextBox openOn:errors title:'Attention: about to check in class with errors' readOnly:true) isNil
+ ifTrue:[
+ AbortSignal raise
+ ].
].
].
utilities := aManagerOrNil isNil
- ifTrue:[ SourceCodeManagerUtilities default ]
- ifFalse:[ aManagerOrNil utilities ].
+ ifTrue:[ SourceCodeManagerUtilities default ]
+ ifFalse:[ aManagerOrNil utilities ].
self withActivityNotificationsRedirectedToInfoLabelDo:[
- utilities
- checkinClasses:aCollectionOfClasses
- withInfo:logInfoOrNil
- withCheck:doCheck
- usingManager:aManagerOrNil.
+ utilities
+ checkinClasses:aCollectionOfClasses
+ withInfo:logInfoOrNil
+ withCheck:doCheck
+ usingManager:aManagerOrNil.
].
classesNotInPackage := aCollectionOfClasses select:[:cls |
- |pkg def|
-
- pkg := cls package.
- pkg notNil ifTrue:[
- def := ProjectDefinition definitionClassForPackage:pkg.
- ].
- def notNil and:[
- (def allClassNames includes:cls name) not]
- ].
+ |pkg def|
+
+ pkg := cls package.
+ pkg notNil ifTrue:[
+ def := ProjectDefinition definitionClassForPackage:pkg.
+ ].
+ def notNil and:[
+ (def allClassNames includes:cls name) not]
+ ].
classesNotInPackage := classesNotInPackage collect:[:cls | cls theNonMetaclass].
classesNotInPackage notEmpty ifTrue:[
- classesNotInPackage size > 1 ifTrue:[
- msg := 'Add %2 classes to their Package definition (Make compiled or autoloaded) ?'
- ] ifFalse:[
- msg := 'Add %1 to its Package definition (Make compiled or autoloaded) ?'
- ].
- answer := Dialog
- confirmWithCancel:((resources string:msg
- with:classesNotInPackage first name
- with:classesNotInPackage size)
- , (resources
- stringWithCRs:'\\(Notice: You have to "checkIn build support files" for the package\for the compilation to become effective)')
- )
- labels:(resources array:#('Cancel' 'Autoloaded' 'Compiled')).
- answer == nil ifTrue:[^ self ].
-
- classesNotInPackage do:[:eachClass |
- |defClass|
-
- defClass := eachClass projectDefinitionClass.
- answer == true ifTrue:[
- defClass includeClasses:{ eachClass } usingCompiler:nil
- ] ifFalse:[
- defClass makeClassesAutoloaded:{ eachClass } usingCompiler:nil
- ].
- ].
+ classesNotInPackage size > 1 ifTrue:[
+ msg := 'Add %2 classes to their Package definition (Make compiled or autoloaded) ?'
+ ] ifFalse:[
+ msg := 'Add %1 to its Package definition (Make compiled or autoloaded) ?'
+ ].
+ answer := Dialog
+ confirmWithCancel:((resources string:msg
+ with:classesNotInPackage first name
+ with:classesNotInPackage size)
+ , (resources
+ stringWithCRs:'\\(Notice: You have to "checkIn build support files" for the package\for the compilation to become effective)')
+ )
+ labels:(resources array:#('Cancel' 'Autoloaded' 'Compiled')).
+ answer == nil ifTrue:[^ self ].
+
+ classesNotInPackage do:[:eachClass |
+ |defClass|
+
+ defClass := eachClass projectDefinitionClass.
+ answer == true ifTrue:[
+ defClass includeClasses:{ eachClass } usingCompiler:nil
+ ] ifFalse:[
+ defClass makeClassesAutoloaded:{ eachClass } usingCompiler:nil
+ ].
+ ].
].
"Created: / 21-12-2011 / 18:22:58 / cg"
@@ -33395,20 +33347,20 @@
currentClass isNil ifTrue:[^ self].
(projectDefinition := currentClass theNonMetaclass) isProjectDefinition ifFalse:[
- self classMenuCompareClassExtensionsWithRepository.
- ^ self.
+ self classMenuCompareClassExtensionsWithRepository.
+ ^ self.
].
projectsPackage := projectDefinition package.
mgr := SourceCodeManagerUtilities default sourceCodeManagerFor:projectDefinition.
mgr isNil ifTrue:[
- ^ self
+ ^ self
].
revString := projectDefinition perform:(mgr nameOfVersionMethodForExtensions) ifNotUnderstood:nil.
revString isNil ifTrue:[
- self warn:('%1 seems to not have any extensions (loaded)' bindWith:projectsPackage).
- ^ self.
+ self warn:('%1 seems to not have any extensions (loaded)' bindWith:projectsPackage).
+ ^ self.
].
info := mgr revisionInfoFromString:revString.
rev := info revision.
@@ -33417,62 +33369,62 @@
"/ ask for revision
"/
newestRev := mgr
- newestRevisionInFile:'extensions.st'
- directory:(projectDefinition directory)
- module:(projectDefinition module).
+ newestRevisionInFile:'extensions.st'
+ directory:(projectDefinition directory)
+ module:(projectDefinition module).
msg := resources string:'Compare to revision: (empty for newest)'.
rev notNil ifTrue:[
- msg := msg , '\\' , (resources string:'Current extensions.st is based upon rev %1.'
- with:rev).
+ msg := msg , '\\' , (resources string:'Current extensions.st is based upon rev %1.'
+ with:rev).
].
newestRev notNil ifTrue:[
- msg := msg , '\' , (resources string:'Newest in reporitory is %1.'
- with:newestRev)
+ msg := msg , '\' , (resources string:'Newest in reporitory is %1.'
+ with:newestRev)
].
self normalLabel.
rev := SourceCodeManagerUtilities default
- askForExistingRevision:msg
- title:'Compare Extensions against Revision'
- class:nil
- manager:mgr
- module:projectDefinition module package:projectDefinition directory
- fileName:'extensions.st'.
+ askForExistingRevision:msg
+ title:'Compare Extensions against Revision'
+ class:nil
+ manager:mgr
+ module:projectDefinition module package:projectDefinition directory
+ fileName:'extensions.st'.
versionsAreTheSame := false.
rev isNil ifTrue:[
- self normalLabel.
- ^ self.
+ self normalLabel.
+ ^ self.
].
rev withoutSpaces isEmpty ifTrue:[
- msg := 'extracting newest %1 (' , (newestRev ? '???') , ')'.
- rev := newestRev.
- revString := 'newest'.
- ] ifFalse:[
- msg := 'extracting previous %1'.
- revString := rev
+ msg := 'extracting newest %1 (' , (newestRev ? '???') , ')'.
+ rev := newestRev.
+ revString := 'newest'.
+ ] ifFalse:[
+ msg := 'extracting previous %1'.
+ revString := rev
].
changeSetForMethodsInRepository :=
- SourceCodeManagerUtilities default
- changeSetForExtensionMethodsForPackage:projectsPackage
- revision:revString orAskForRevision:false
- usingManager:mgr.
+ SourceCodeManagerUtilities default
+ changeSetForExtensionMethodsForPackage:projectsPackage
+ revision:revString orAskForRevision:false
+ usingManager:mgr.
changeSetForMethodsInImage := ChangeSet forExistingMethods:(
- Method allInstances
- select:[:m | m package = projectsPackage
- and:[ m mclass isNil or:[m isExtension]]]).
+ Method allInstances
+ select:[:m | m package = projectsPackage
+ and:[ m mclass notNil and:[m isExtension]]]).
diffSet := changeSetForMethodsInImage diffSetsAgainst:changeSetForMethodsInRepository.
(UserPreferences versionDiffViewerClass)
- openOnDiffSet:diffSet
- labelA:'Current (In Image)'
- labelB:'Repository (',rev,')'
- title:'Diffs'
- ignoreExtensions:false.
+ openOnDiffSet:diffSet
+ labelA:'Current (In Image)'
+ labelB:'Repository (',rev,')'
+ title:'Diffs'
+ ignoreExtensions:false.
self normalLabel.
@@ -34719,27 +34671,27 @@
showRepositoryLogOf:aClass short:shortOrNot usingManager: managerOrNil beforeLogDo:aBlock
"show a classes repository log - append to codeView.
CAVEAT: that is almost the same code as found in SystemBrowser;
- move to SourceCodeManagerUtilities."
+ move to SourceCodeManagerUtilities."
|codeView aStream|
aStream := WriteStream on:(String new:200).
Processor activeProcess
- withPriority:Processor activePriority-1 to:Processor activePriority
+ withPriority:Processor activePriority-1 to:Processor activePriority
do:[
- self busyLabel:'Extracting log of %1' with:aClass name.
- aBlock value:aStream.
- (managerOrNil isNil
- ifTrue:[ SourceCodeManagerUtilities default ]
- ifFalse:[ managerOrNil utilities ])
- repositoryLogOf:aClass short:shortOrNot onto:aStream
+ self busyLabel:'Extracting log of %1' with:aClass name.
+ aBlock value:aStream.
+ (managerOrNil isNil
+ ifTrue:[ SourceCodeManagerUtilities default ]
+ ifFalse:[ managerOrNil utilities ])
+ repositoryLogOf:aClass short:shortOrNot onto:aStream
].
self codeAspect:#repositoryLog.
self selectedMethods value:nil.
self selectProtocols:nil.
codeView := self codeView.
codeView contents:(codeView contents ,
- Character cr asString ,
- Character cr asString ,
- aStream contents).
+ Character cr asString ,
+ Character cr asString ,
+ aStream contents).
codeView modified:false.
navigationState realModifiedState:false.
"/ self clearAcceptAction.
@@ -36589,14 +36541,14 @@
|rslt|
aRefactoring isNil ifTrue:[
- ^ self
+ ^ self
].
rslt := self
- handlingRefactoringErrorDo:
- [
+ handlingRefactoringErrorDo:
+ [
| changes |
- aRefactoring isRefactoryChange ifTrue:[
+ aRefactoring isRefactoryChange ifTrue:[
changes := aRefactoring.
(UserPreferences current confirmRefactorings and:[changes shouldBeConfirmed]) ifTrue:[
changes := ChangeSetBrowser2 confirmChanges: changes.
@@ -36612,11 +36564,11 @@
].
RefactoryChangeManager performChange:changes.
RefactoringManager instance addRefactoring: aRefactoring performChanges: false.
- ] ifFalse:[
- aRefactoring execute
+ ] ifFalse:[
+ aRefactoring execute
]
- ].
- ].
+ ].
+ ].
self enqueueDelayedUpdateCodeWithoutAutoSearch.
^ rslt
@@ -37631,6 +37583,7 @@
"Modified: / 28-02-2012 / 16:27:44 / cg"
! !
+
!NewSystemBrowser methodsFor:'menu actions-namespace'!
nameSpaceMenuCheckOut
@@ -38323,7 +38276,7 @@
] ifFalse:[
initial := 'module:directory'.
currentProject := self theSingleSelectedProject.
- currentProject notNil ifTrue:[
+ (currentProject notNil and:[ currentProject ~= PackageId noProjectID ]) ifTrue:[
initial := currentProject.
(initial includes:$:) ifTrue:[
(ProjectDefinition definitionClassForPackage:initial) notNil ifTrue:[
@@ -38333,7 +38286,7 @@
initial := initial , ':module/','newProject' allBold.
].
] ifFalse:[
- initial := OperatingSystem getLoginName , ':module/'.'newProject' allBold.
+ initial := OperatingSystem getLoginName , ':module/','newProject' allBold.
].
defaultProjectType := ProjectDefinition defaultProjectType.
@@ -38363,8 +38316,12 @@
nameField immediateAccept:true.
nameField entryCompletionBlock:(DoWhatIMeanSupport packageNameEntryCompletionBlock).
].
- (initial includesString:'newProject') ifTrue:[
- nameField selectFrom:(initial findString:'newProject').
+ (initial includesString:'module/') ifTrue:[
+ nameField selectFrom:(initial findString:'module').
+ ] ifFalse:[
+ (initial includesString:'newProject') ifTrue:[
+ nameField selectFrom:(initial findString:'newProject').
+ ].
].
y := box yPosition.
@@ -39624,32 +39581,32 @@
selectedProjects := self selectedProjectsValue.
currentProject := self theSingleSelectedProject.
currentProject notNil ifTrue:[
- fileName := currentProject asString copy replaceAny:' :/' with:$_.
- ] ifFalse:[
- fileName := 'someProjects'
+ fileName := currentProject asString copy replaceAny:' :/' with:$_.
+ ] ifFalse:[
+ fileName := 'someProjects'
].
aFormatSymbolOrNil == #cypress ifTrue:[
suffix := ''.
] ifFalse:[
aFormatSymbolOrNil == #xml ifTrue:[
- suffix := '.xml'
- ] ifFalse:[
- aFormatSymbolOrNil == #sif ifTrue:[
- suffix := '.sif'
- ] ifFalse:[
- aFormatSymbolOrNil == #binary ifTrue:[
- suffix := '.cls'
- ] ifFalse:[
- suffix := '.st'
- ]
- ]
+ suffix := '.xml'
+ ] ifFalse:[
+ aFormatSymbolOrNil == #sif ifTrue:[
+ suffix := '.sif'
+ ] ifFalse:[
+ aFormatSymbolOrNil == #binary ifTrue:[
+ suffix := '.cls'
+ ] ifFalse:[
+ suffix := '.st'
+ ]
+ ]
].
].
fileName := fileName , suffix.
aFormatSymbolOrNil == #binary ifTrue:[
- self error:'binary must go into separate files' mayProceed:true.
- ^ self
+ self error:'binary must go into separate files' mayProceed:true.
+ ^ self
].
aFormatSymbolOrNil == #cypress ifTrue:[
@@ -39658,9 +39615,9 @@
"default: (FileSelectionBox lastFileSelectionDirectory)"
] ifFalse:[
saveName := Dialog
- requestFileNameForSave:(resources string:'FileOut %1 as:' with:(currentProject ? 'selected projects'))
- default:fileName
- fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
+ requestFileNameForSave:(resources string:'FileOut %1 as:' with:(currentProject ? 'selected projects'))
+ default:fileName
+ fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
].
"/ fileBox := FileSelectionBox
@@ -39680,63 +39637,63 @@
"/ fileBox := nil.
saveName isEmptyOrNil ifTrue:[
- ^ self
+ ^ self
].
FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
fileName := saveName.
aFormatSymbolOrNil == #sif ifTrue:[
- SmalltalkInterchangeSTXFileOutManager initialize.
- mgr := SmalltalkInterchangeFileManager newForFileOut.
- mgr fileName: fileName.
- self selectedProjectClasses do:[:eachClass |
- mgr addClass:eachClass.
- ].
- Smalltalk allClassesDo:[:eachClass |
- eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
- |mPckg|
-
- mPckg := mthd package.
- mPckg ~= eachClass package ifTrue:[
- (selectedProjects includes:mPckg) ifTrue:[
- mgr addMethodNamed:mthd selector ofClass:mthd mclass
- ]
- ]
- ]
- ].
- self busyLabel:'writing...'.
- mgr fileOut.
- self normalLabel.
- ^ self
+ SmalltalkInterchangeSTXFileOutManager initialize.
+ mgr := SmalltalkInterchangeFileManager newForFileOut.
+ mgr fileName: fileName.
+ self selectedProjectClasses do:[:eachClass |
+ mgr addClass:eachClass.
+ ].
+ Smalltalk allClassesDo:[:eachClass |
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ |mPckg|
+
+ mPckg := mthd package.
+ mPckg ~= eachClass package ifTrue:[
+ (selectedProjects includes:mPckg) ifTrue:[
+ mgr addMethodNamed:mthd selector ofClass:mthd mclass
+ ]
+ ]
+ ]
+ ].
+ self busyLabel:'writing...'.
+ mgr fileOut.
+ self normalLabel.
+ ^ self
].
aFormatSymbolOrNil isNil ifTrue:[
- self busyLabel:'writing...'.
- s := fileName asFilename writeStream.
- classesToFileout := OrderedCollection withAll:(self selectedProjectClasses).
- classesToFileout topologicalSort:[:a :b | b isSubclassOf:a].
-
- classesToFileout do:[:eachClass |
- eachClass fileOutOn:s.
- ].
-
- Smalltalk allClassesDo:[:eachClass |
- eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
- |mPckg|
-
- mPckg := mthd package.
- (mPckg = currentProject and:[mPckg ~= eachClass package]) ifTrue:[
- eachClass
- fileOutCategory:mthd category
- methodFilter:[:m | m == mthd]
- on:s.
- s cr.
- ]
- ]
- ].
- s close.
- self normalLabel.
- ^ self.
+ self busyLabel:'writing...'.
+ s := fileName asFilename writeStream.
+ classesToFileout := OrderedCollection withAll:(self selectedProjectClasses).
+ classesToFileout topologicalSort:[:a :b | b isSubclassOf:a].
+
+ classesToFileout do:[:eachClass |
+ eachClass fileOutOn:s.
+ ].
+
+ Smalltalk allClassesDo:[:eachClass |
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ |mPckg|
+
+ mPckg := mthd package.
+ (mPckg = currentProject and:[mPckg ~= eachClass package]) ifTrue:[
+ eachClass
+ fileOutCategory:mthd category
+ methodFilter:[:m | m == mthd]
+ on:s.
+ s cr.
+ ]
+ ]
+ ].
+ s close.
+ self normalLabel.
+ ^ self.
].
aFormatSymbolOrNil == #cypress ifTrue:[
@@ -40461,24 +40418,24 @@
projectDefinitionClass := self projectDefinitionDialogFor:nil.
projectDefinitionClass isNil ifTrue:[
- ^ self
+ ^ self
].
package := projectDefinitionClass package.
Class packageQuerySignal answer:package
do:[
- projectDefinitionClass compileDescriptionMethods.
- self selectClass:projectDefinitionClass.
- category := projectDefinitionClass name copyReplaceAll:$_ with:$-.
-
- projectDefinitionClass isApplicationDefinition ifTrue:[
- appClassName := Dialog
- request:(resources stringWithCRs:'Create initial application class?\(Enter name or cancel)').
- appClassName notEmptyOrNil ifTrue:[
- (appClass := Smalltalk classNamed:appClassName) notNil ifTrue:[
- Dialog warn:(resources stringWithCRs:'Application class already exists\(in "%1")' with:appClass package).
- ] ifFalse:[
- theCode := '
+ projectDefinitionClass compileDescriptionMethods.
+ self selectClass:projectDefinitionClass.
+ category := projectDefinitionClass name copyReplaceAll:$_ with:$-.
+
+ projectDefinitionClass isApplicationDefinition ifTrue:[
+ appClassName := Dialog
+ request:(resources stringWithCRs:'Create initial application class?\(Enter name or cancel)').
+ appClassName notEmptyOrNil ifTrue:[
+ (appClass := Smalltalk classNamed:appClassName) notNil ifTrue:[
+ Dialog warn:(resources stringWithCRs:'Application class already exists\(in "%1")' with:appClass package).
+ ] ifFalse:[
+ theCode := '
ApplicationModel subclass: #''%1''
instanceVariableNames:'' ''
classVariableNames:'' ''
@@ -40486,36 +40443,36 @@
category:''%2''
' bindWith:appClassName with:category.
- self canUseRefactoringSupport ifTrue:[
- change := AddClassChange definition: theCode.
- change name:('Create application class %1' bindWith:appClassName).
- RefactoryChangeManager performChange:change
- ] ifFalse:[
- self
- doAcceptClassDefinition:theCode
- usingCompiler:Compiler.
- ].
- appClass := Smalltalk classNamed:appClassName.
- appClass package:package.
- self classMenuGenerateApplicationCodeForClasses:{ appClass }.
- appClass instAndClassMethodsDo:[:m | m package:package].
- ].
- ] ifFalse:[
- appClassName := nil "/ for xxx below
- ].
- defaultStartupClassName := (appClassName ? 'xxx'),'Start'.
- (Smalltalk classNamed:defaultStartupClassName) notNil ifTrue:[
- defaultStartupClassName := nil
- ].
- startupClassName := Dialog
- request:(resources
- stringWithCRs:'Create startup class (e.g. main)?\(Enter name or cancel)')
- initialAnswer:defaultStartupClassName.
- startupClassName notEmptyOrNil ifTrue:[
- (startupClass := Smalltalk classNamed:startupClassName) notNil ifTrue:[
- Dialog warn:(resources stringWithCRs:'Startup class already exists\(in "%1")' with:startupClass package).
- ] ifFalse:[
- theCode := '
+ self canUseRefactoringSupport ifTrue:[
+ change := AddClassChange definition: theCode.
+ change name:('Create application class %1' bindWith:appClassName).
+ RefactoryChangeManager performChange:change
+ ] ifFalse:[
+ self
+ doAcceptClassDefinition:theCode
+ usingCompiler:Compiler.
+ ].
+ appClass := Smalltalk classNamed:appClassName.
+ appClass package:package.
+ self classMenuGenerateApplicationCodeForClasses:{ appClass }.
+ appClass instAndClassMethodsDo:[:m | m package:package].
+ ].
+ ] ifFalse:[
+ appClassName := nil "/ for xxx below
+ ].
+ defaultStartupClassName := (appClassName ? 'xxx'),'Start'.
+ (Smalltalk classNamed:defaultStartupClassName) notNil ifTrue:[
+ defaultStartupClassName := nil
+ ].
+ startupClassName := Dialog
+ request:(resources
+ stringWithCRs:'Create startup class (e.g. main)?\(Enter name or cancel)')
+ initialAnswer:defaultStartupClassName.
+ startupClassName notEmptyOrNil ifTrue:[
+ (startupClass := Smalltalk classNamed:startupClassName) notNil ifTrue:[
+ Dialog warn:(resources stringWithCRs:'Startup class already exists\(in "%1")' with:startupClass package).
+ ] ifFalse:[
+ theCode := '
StandaloneStartup subclass: #''%1''
instanceVariableNames:'' ''
classVariableNames:'' ''
@@ -40523,31 +40480,34 @@
category:''%2''
' bindWith:startupClassName with:category.
- self canUseRefactoringSupport ifTrue:[
- change := AddClassChange definition: theCode.
- change name:('Create startup class %1' bindWith:startupClassName).
- RefactoryChangeManager performChange:change
- ] ifFalse:[
- self doAcceptClassDefinition:theCode usingCompiler:Compiler.
- ].
- startupClass := Smalltalk classNamed:startupClassName.
- startupClass package:package.
- ].
-
- "/ update the classList, again
- projectDefinitionClass compileDescriptionMethods.
- "/ generate startupClass code
-
- SmalltalkCodeGeneratorTool
- compile:(projectDefinitionClass startupClassName_codeFor:(startupClass name))
- forClass:projectDefinitionClass theMetaclass
- inCategory:'description - startup'.
-
- self classMenuGenerateApplicationCodeForClasses:{ startupClass }.
- startupClass instAndClassMethodsDo:[:m | m package:package].
- ].
- self selectClass:(appClass ? startupClass).
- ]
+ self canUseRefactoringSupport ifTrue:[
+ change := AddClassChange definition: theCode.
+ change name:('Create startup class %1' bindWith:startupClassName).
+ RefactoryChangeManager performChange:change
+ ] ifFalse:[
+ self doAcceptClassDefinition:theCode usingCompiler:Compiler.
+ ].
+ (startupClass := Smalltalk classNamed:startupClassName) notNil ifTrue:[
+ startupClass package:package.
+ ]
+ ].
+
+ "/ update the classList, again
+ projectDefinitionClass compileDescriptionMethods.
+ "/ generate startupClass code
+
+ startupClass notNil ifTrue:[
+ SmalltalkCodeGeneratorTool
+ compile:(projectDefinitionClass startupClassName_codeFor:(startupClass name))
+ forClass:projectDefinitionClass theMetaclass
+ inCategory:'description - startup'.
+
+ self classMenuGenerateApplicationCodeForClasses:{ startupClass }.
+ startupClass instAndClassMethodsDo:[:m | m package:package].
+ ].
+ ].
+ self selectClass:(appClass ? startupClass ? projectDefinitionClass).
+ ]
].
"Modified: / 23-07-2012 / 13:44:04 / cg"
@@ -43419,20 +43379,20 @@
affectedClasses classesOfSelectedMethods suggestion|
RBParser isNil ifTrue:[
- Dialog warn:'Missing class: RBParser'.
- ^ self
+ Dialog warn:'Missing class: RBParser'.
+ ^ self
].
RBParser autoload.
MethodNameDialog isNil ifTrue:[
- Dialog warn:'Missing class: MethodNameDialog'.
- ^ self
+ Dialog warn:'Missing class: MethodNameDialog'.
+ ^ self
].
MethodNameDialog autoload.
tree := aClass parseTreeFor:oldSelector.
tree isNil ifTrue:[
- self warn: 'Could not parse the method'.
- ^ self
+ self warn: 'Could not parse the method'.
+ ^ self
].
args := tree argumentNames.
@@ -43455,10 +43415,10 @@
newSelector := dialog methodName.
newSelector = oldSelector ifTrue:[
- newArgs = args ifTrue:[
- Dialog information:'no change'.
- ^ self.
- ].
+ newArgs = args ifTrue:[
+ Dialog information:'no change'.
+ ^ self.
+ ].
].
LastRenamedOld := oldSelector.
@@ -43469,30 +43429,30 @@
rewriteLocalSendersOnly := dialog isRewritingLocalSendersOnly.
refactoring := RenameMethodRefactoring
- renameMethod: oldSelector
- in: aClass
- to: newSelector
- permuation: map.
+ renameMethod: oldSelector
+ in: aClass
+ to: newSelector
+ permuation: map.
refactoring suppressRewriteOfSenders:renameOnly.
renameOnly ifFalse:[
- affectedClasses := rewriteLocalSendersOnly
- ifTrue:[ Smalltalk allClasses ]
- ifFalse:[ aClass withAllSubclasses ].
- "/ ask if so many methods should be rewritten; give chance to cancel
+ affectedClasses := rewriteLocalSendersOnly
+ ifTrue:[ Smalltalk allClasses ]
+ ifFalse:[ aClass withAllSubclasses ].
+ "/ ask if so many methods should be rewritten; give chance to cancel
"/ JV: but not if refactorings are confimed anyway in performRefactoring:...
UserPreferences current confirmRefactorings ifFalse:[
- (self findSendersOf:oldSelector in:affectedClasses andConfirmRefactoring:refactoring) ifFalse:[ ^ self ].
+ (self findSendersOf:oldSelector in:affectedClasses andConfirmRefactoring:refactoring) ifFalse:[ ^ self ].
].
].
renameSelectedMethodsOnly ifTrue:[
- (self selectedMethodsValue collect:[:m | m selector] as:Set) size == 1 ifFalse:[
- Dialog warn:'Multiple different selectors selected'.
- ^ self.
- ].
-
- classesOfSelectedMethods := self selectedMethodsValue collect:[:m|m mclass].
+ (self selectedMethodsValue collect:[:m | m selector] as:Set) size == 1 ifFalse:[
+ Dialog warn:'Multiple different selectors selected'.
+ ^ self.
+ ].
+
+ classesOfSelectedMethods := self selectedMethodsValue collect:[:m|m mclass].
"/ classesOfSelectedMethods := classesOfSelectedMethods
"/ collect:[:cls |
"/ |className rbClass|
@@ -43504,26 +43464,26 @@
"/ rbClass model:(RBNamespace new).
"/ rbClass
"/ ].
- refactoring onlyRenameTheseImplementors:classesOfSelectedMethods.
+ refactoring onlyRenameTheseImplementors:classesOfSelectedMethods.
].
self withWaitCursorDo:[
- |classesOfSelectedMethods affectedImplementors|
+ |classesOfSelectedMethods affectedImplementors|
"/ refactoring model name:('rename %1 to %2' bindWith:oldSelector storeString with:newSelector storeString).
- rslt := self performRefactoring:refactoring.
- self switchToSelector:newSelector asSymbol.
+ rslt := self performRefactoring:refactoring.
+ self switchToSelector:newSelector asSymbol.
].
dialog browseOldSendersHolder value ifTrue:[
- self spawnMethodSendersBrowserFor:(Array with:oldSelector) in:#newBrowser
+ self spawnMethodSendersBrowserFor:(Array with:oldSelector) in:#newBrowser
].
dialog browseNewSendersHolder value ifTrue:[
- self spawnMethodSendersBrowserFor:(Array with:newSelector) in:#newBrowser
+ self spawnMethodSendersBrowserFor:(Array with:newSelector) in:#newBrowser
].
dialog browseChangedMethodsHolder value ifTrue:[
- self spawnMethodImplementorsBrowserFor:(Array with:newSelector) match:false in:#newBrowser
+ self spawnMethodImplementorsBrowserFor:(Array with:newSelector) match:false in:#newBrowser
].
"Modified: / 28-02-2012 / 16:28:12 / cg"
@@ -45221,34 +45181,32 @@
selectorMenuPushMethod:upOrDown
"push method(s) into subclass(s) or up into superclas"
- |selectedMethods refactoring|
+ |selectedMethods|
(self askIfModified:'Code was modified.\\Push method(s) anyway ?')
ifFalse:[^ self].
selectedMethods := self selectedMethodsValue.
- (selectedMethods collect:[:m | m mclass]) asIdentitySet do:[:eachClass |
- |methods selectors nm|
-
- methods := selectedMethods select:[:m | m mclass == eachClass].
- selectedMethods := selectedMethods select:[:m | m mclass ~~ eachClass].
- selectors := methods collect:[:each | each selector].
- upOrDown == #down ifTrue:[
- refactoring := PushDownMethodRefactoring pushDown:selectors from:eachClass.
- nm := 'Push down '.
- ] ifFalse:[
- refactoring := PushUpMethodRefactoring pushUp:selectors from:eachClass.
- nm := 'Push up '.
- ].
- selectors size == 1 ifTrue:[
- nm := nm , selectors first.
- ] ifFalse:[
- nm := nm , selectors size printString , ' methods'.
- ].
- nm := nm , ' from ' , eachClass name.
- refactoring model name:nm.
- self performRefactoring:refactoring.
+ (selectedMethods collect:[:m | m mclass] as:IdentitySet) do:[:eachClass |
+ |selectors refactoring nm|
+
+ selectors := selectedMethods select:[:m | m mclass == eachClass] thenCollect:[:each | each selector].
+ upOrDown == #down ifTrue:[
+ refactoring := PushDownMethodRefactoring pushDown:selectors from:eachClass.
+ nm := 'Push down '.
+ ] ifFalse:[
+ refactoring := PushUpMethodRefactoring pushUp:selectors from:eachClass.
+ nm := 'Push up '.
+ ].
+ selectors size == 1 ifTrue:[
+ nm := nm , selectors first.
+ ] ifFalse:[
+ nm := nm , selectors size printString , ' methods'.
+ ].
+ nm := nm , ' from ' , eachClass name.
+ refactoring model name:nm.
+ self performRefactoring:refactoring.
].
"Modified: / 28-02-2012 / 16:29:38 / cg"
@@ -49919,9 +49877,9 @@
selectProjects:aCollectionOfProjects
self selectedProjects value ~= aCollectionOfProjects ifTrue:[
- self selectedProjects value:aCollectionOfProjects.
- ] ifFalse:[
- self halt
+ self selectedProjects value:aCollectionOfProjects.
+ ] ifFalse:[
+ self breakPoint:#cg
]
"Created: / 25.2.2000 / 00:54:14 / cg"
@@ -50917,9 +50875,9 @@
s := '' writeStream.
(aClass isRealNameSpace) ifTrue:[
- aClass fileOutDefinitionOn:s
- ] ifFalse:[
- aClass theNonMetaclass isJavaClass ifTrue:[
+ aClass fileOutDefinitionOn:s
+ ] ifFalse:[
+ aClass theNonMetaclass isJavaClass ifTrue:[
| src |
src := aClass theNonMetaclass source.
src notNil ifTrue:[ ^ src ].
@@ -50927,23 +50885,23 @@
s nextPutLine: '// Following code has been decompiled from loaded class'.
s nextPutLine: '// *** WARNING ***'.
s cr.
- aClass fileOutDefinitionOn:s
- ] ifFalse:[
- aClass isMeta ifTrue:[
- aClass
- fileOutClassInstVarDefinitionOn:s
- withNameSpace:true.
- ] ifFalse:[
- "/
- "/ here, show it with a nameSpace pragma
- "/ and prefer short names.
- "/
- aClass
- basicFileOutDefinitionOn:s
- withNameSpace:true
- withPackage:false
- ].
- ].
+ aClass fileOutDefinitionOn:s
+ ] ifFalse:[
+ aClass isMeta ifTrue:[
+ aClass
+ fileOutClassInstVarDefinitionOn:s
+ withNameSpace:true.
+ ] ifFalse:[
+ "/
+ "/ here, show it with a nameSpace pragma
+ "/ and prefer short names.
+ "/
+ aClass
+ basicFileOutDefinitionOn:s
+ withNameSpace:true
+ withPackage:false
+ ].
+ ].
].
^ s contents withTabsExpanded.
@@ -50966,62 +50924,62 @@
m := aClass theMetaclass compiledMethodAt:#documentation.
m notNil ifTrue:[
- s := m comment.
- isComment := false.
- ] ifFalse:[
- "try comment"
- s := aClass comment.
- s isString ifTrue:[
- s isEmpty ifTrue:[
- s := nil
- ] ifFalse:[
- (s includes:$") ifTrue:[
- s := s copyReplaceAll:$" with:$'.
- ].
- isComment := true.
- s size > 80 ifTrue:[
- s := s asCollectionOfSubstringsSeparatedBy:$..
- s := s asStringCollection.
- s := s collect:[:each | (each startsWith:Character space) ifTrue:[
- each copyFrom:2
- ] ifFalse:[
- each
- ]
- ].
- s := s asStringWith:('.' , Character cr).
- ].
- ]
- ] ifFalse:[
- "/ class redefines comment ?
- s := nil
- ].
+ s := m comment.
+ isComment := false.
+ ] ifFalse:[
+ "try comment"
+ s := aClass comment.
+ s isString ifTrue:[
+ s isEmpty ifTrue:[
+ s := nil
+ ] ifFalse:[
+ (s includes:$") ifTrue:[
+ s := s copyReplaceAll:$" with:$'.
+ ].
+ isComment := true.
+ s size > 80 ifTrue:[
+ s := s asCollectionOfSubstringsSeparatedBy:$..
+ s := s asStringCollection.
+ s := s collect:[:each | (each startsWith:Character space) ifTrue:[
+ each copyFrom:2
+ ] ifFalse:[
+ each
+ ]
+ ].
+ s := s asStringWith:('.' , Character cr).
+ ].
+ ]
+ ] ifFalse:[
+ "/ class redefines comment ?
+ s := nil
+ ].
].
s notNil ifTrue:[
- s asStringCollection withoutLeadingBlankLines
+ s asStringCollection withoutLeadingBlankLines
].
infoStream := TextStream on:''.
infoStream "cr; cr;" cr.
s isNil ifTrue:[
- infoStream nextPutLine:' no comment or documentation method found'.
- ] ifFalse:[
- "/ nextPutLine:' Documentation:'.
- infoStream nextPutLine:s; cr.
- infoStream nextPutLine:' Notice: '.
- infoStream nextPutAll:' the above text has been extracted from the classes '.
- infoStream nextPutLine:(isComment ifTrue:['comment.'] ifFalse:['documentation method.']).
- infoStream nextPutLine:' Any change in it will be lost if you ''accept'' here.'.
- infoStream nextPutAll:' To change the '.
- infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation']).
- infoStream nextPutAll:', switch to the '.
- infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation method']).
- infoStream nextPutLine:' and ''accept'' any changes there.'.
+ infoStream nextPutLine:' no comment or documentation method found'.
+ ] ifFalse:[
+ "/ nextPutLine:' Documentation:'.
+ infoStream nextPutLine:s; cr.
+ infoStream nextPutLine:' Notice: '.
+ infoStream nextPutAll:' the above text has been extracted from the classes '.
+ infoStream nextPutLine:(isComment ifTrue:['comment.'] ifFalse:['documentation method.']).
+ infoStream nextPutLine:' Any change in it will be lost if you ''accept'' here.'.
+ infoStream nextPutAll:' To change the '.
+ infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation']).
+ infoStream nextPutAll:', switch to the '.
+ infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation method']).
+ infoStream nextPutLine:' and ''accept'' any changes there.'.
].
infoStream cr.
info := String streamContents:[:s |
- aClass programmingLanguage writeComment:(infoStream contents) on:s
- ].
+ aClass programmingLanguage writeComment:(infoStream contents) on:s
+ ].
info := info emphasizeAllWith:UserPreferences current commentEmphasisAndColor.
^ info
@@ -53063,10 +53021,10 @@
classes := self selectedClassesValue copy.
classes size == 0 ifTrue:[
- self isMethodListBrowser ifTrue:[
- classes := ((self selectedMethodsClasses)
- collect:[:each| each theNonMetaclass]) asIdentitySet.
- ]
+ self isMethodListBrowser ifTrue:[
+ classes := self selectedMethodsClasses
+ collect:[:each| each theNonMetaclass] as:IdentitySet.
+ ]
].
^ classes
@@ -53115,8 +53073,8 @@
meta := false.
nm := aClassName.
(nm endsWith:' class') ifTrue:[
- meta := true.
- nm := nm copyWithoutLast:6.
+ meta := true.
+ nm := nm copyWithoutLast:6.
].
nameSym := nm asSymbol.
@@ -53124,32 +53082,32 @@
listOfNamespaces := self selectedNamespaces value.
currentNamespace = (BrowserList nameListEntryForALL) ifTrue:[
- (cls := Smalltalk at:nameSym) notNil ifTrue:[
- meta ifTrue:[^ cls class].
- ^ cls
- ]
+ (cls := Smalltalk at:nameSym) notNil ifTrue:[
+ meta ifTrue:[^ cls class].
+ ^ cls
+ ]
].
("(Array with:Smalltalk) ," (self listOfNamespaces)) do:[:aNamespace |
- aNamespace = (BrowserList nameListEntryForALL) ifFalse:[
- (cls := aNamespace at:nameSym) notNil ifTrue:[
- meta ifTrue:[^ cls class].
- ^ cls
- ]
- ]
+ aNamespace = (BrowserList nameListEntryForALL) ifFalse:[
+ (cls := aNamespace at:nameSym) notNil ifTrue:[
+ meta ifTrue:[^ cls class].
+ ^ cls
+ ]
+ ]
].
currentNamespace ~= (BrowserList nameListEntryForALL) ifTrue:[
- (cls := Smalltalk at:nameSym) notNil ifTrue:[
- meta ifTrue:[^ cls class].
- ^ cls
- ]
+ (cls := Smalltalk at:nameSym) notNil ifTrue:[
+ meta ifTrue:[^ cls class].
+ ^ cls
+ ]
].
(nm startsWith:'Smalltalk::') ifTrue:[
- cls := Smalltalk classNamed:(nm copyFrom:'Smalltalk::' size + 1).
- cls notNil ifTrue:[
- meta ifTrue:[^ cls class].
- ^ cls
- ]
+ cls := Smalltalk classNamed:(nm copyFrom:'Smalltalk::' size + 1).
+ cls notNil ifTrue:[
+ meta ifTrue:[^ cls class].
+ ^ cls
+ ]
].
"JV@2012-07-30: Search for Java class as well"
@@ -56731,26 +56689,26 @@
| dialog cnfManagerName srcManagerName |
cnfManager notNil ifTrue:[
- cnfManagerName := cnfManager managerTypeName
- ] ifFalse:[
- cnfManagerName := self class resources at: 'Not configured'.
+ cnfManagerName := cnfManager managerTypeName
+ ] ifFalse:[
+ cnfManagerName := self class resources at: 'Not configured'.
].
srcManager notNil ifTrue:[
srcManagerName := srcManager managerTypeName
] ifFalse:[
- srcManagerName := self class resources at: 'Unknown'.
+ srcManagerName := self class resources at: 'Unknown'.
].
dialog := DialogBox new.
dialog label: package, ': source code managers does not match'.
(dialog addTextLabel:
- ('Default configured source manager does match with\' ,
- 'source code manager for the source. This may mean\' ,
- 'that you have compiled the package using sources\',
- 'checked out using different repository and source\',
- 'code management system that the one you have configured\',
- 'for the package') withCRs)
- adjust: #left.
+ ('Default configured source manager does match with\' ,
+ 'source code manager for the source. This may mean\' ,
+ 'that you have compiled the package using sources\',
+ 'checked out using different repository and source\',
+ 'code management system that the one you have configured\',
+ 'for the package') withCRs)
+ adjust: #left.
(dialog addTextLabel: 'Package: ', package) adjust: #left.
(dialog addTextLabel: 'Configured SCM: ', cnfManagerName) adjust: #left.
(dialog addTextLabel: 'Source SCM: ', srcManagerName) adjust: #left.
@@ -59074,11 +59032,11 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1854 2013-03-27 19:45:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1857 2013-03-30 19:59:17 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1854 2013-03-27 19:45:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1857 2013-03-30 19:59:17 cg Exp $'
!
version_HG
--- a/Tools__ProjectCheckerBrowser.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__ProjectCheckerBrowser.st Mon Apr 01 14:07:29 2013 +0100
@@ -277,7 +277,8 @@
self problemSelectionHolder value doFix: index
] on: UserNotification do:[:not|
self infoPanel showMessage: not description.
- ]
+ ].
+ (self builder componentAt:'List') invalidate.
"Created: / 26-07-2012 / 10:06:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
@@ -415,11 +416,11 @@
!ProjectCheckerBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.3 2013-03-27 19:30:07 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.4 2013-03-30 19:07:38 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.3 2013-03-27 19:30:07 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.4 2013-03-30 19:07:38 cg Exp $'
!
version_SVN
--- a/Tools__TestRunner2.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__TestRunner2.st Mon Apr 01 14:07:29 2013 +0100
@@ -1845,7 +1845,7 @@
!TestRunner2::ClassList class methodsFor:'documentation'!
version
- ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.36 2013-03-13 13:14:03 cg Exp $'
+ ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
! !
!TestRunner2::ClassList methodsFor:'private'!
@@ -1853,11 +1853,13 @@
nameListEntryFor:aClass withNameSpace:useFullName
| nm |
+
nm := super nameListEntryFor:aClass withNameSpace:useFullName.
- (aClass isTestCaseLike) ifFalse:
- [self breakPoint: #jv.
- ^nm].
- aClass isAbstract ifTrue:[nm := nm colorizeAllWith:Color gray].
+ (aClass isTestCaseLike) ifFalse:[
+ self breakPoint: #jv.
+ ^nm
+ ].
+ aClass isAbstract ifTrue:[nm := nm allItalic colorizeAllWith:Color gray].
^nm
"Created: / 27-11-2008 / 17:24:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
@@ -2342,11 +2344,11 @@
!TestRunner2 class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.36 2013-03-13 13:14:03 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.36 2013-03-13 13:14:03 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
!
version_HG
--- a/Tools__TextDiffTool.st Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__TextDiffTool.st Mon Apr 01 14:07:29 2013 +0100
@@ -63,6 +63,7 @@
"
! !
+
!TextDiffTool class methodsFor:'image specs'!
versionA24x24
@@ -93,8 +94,19 @@
"Created: / 17-03-2012 / 12:18:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!TextDiffTool class methodsFor:'interface specs'!
+
+
+
+
+
+
+
+
+
+
windowSpec
"This resource specification was automatically generated
by the UIPainter of ST/X."
@@ -183,6 +195,7 @@
)
! !
+
!TextDiffTool class methodsFor:'interface specs - labels'!
versionALabelSpec
@@ -289,6 +302,8 @@
"Modified: / 30-06-2011 / 20:53:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+
+
versionCLabelSpec
"This resource specification was automatically generated
by the UIPainter of ST/X."
@@ -342,6 +357,7 @@
"Created: / 16-03-2012 / 12:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!TextDiffTool class methodsFor:'plugIn spec'!
aspectSelectors
@@ -364,6 +380,7 @@
"Created: / 16-03-2012 / 12:18:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!TextDiffTool methodsFor:'accessing'!
label: aString
@@ -446,6 +463,7 @@
"Created: / 30-08-2011 / 09:45:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!TextDiffTool methodsFor:'aspects'!
classHolder
@@ -522,6 +540,10 @@
].
!
+
+
+
+
diffView
"/ diffView isNil ifTrue:[
diffView := self initializeDiffView.
@@ -559,7 +581,14 @@
diffView notNil ifTrue:[diffView languageHolder: aValueHolder].
"Modified: / 19-07-2011 / 12:54:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+
+
+
+
+ !
+
!TextDiffTool methodsFor:'aspects-versions'!
@@ -749,8 +778,11 @@
"Created: / 16-03-2012 / 12:14:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!TextDiffTool methodsFor:'change & update'!
+
+
codeAspect:aSymbol
self codeAspectHolder value:aSymbol
@@ -783,16 +815,23 @@
"Created: / 16-03-2012 / 12:36:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+
+
updateAfterAorBorCChanged
"Called whenever one of the texts changes"
^ self subclassResponsibility
"Modified (comment): / 16-03-2012 / 12:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+ !
+
!TextDiffTool methodsFor:'hooks'!
+
+
postBuildDiffView:aScrollableView
diffView := aScrollableView.
@@ -812,6 +851,7 @@
"Created: / 26-07-2012 / 19:13:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!TextDiffTool methodsFor:'initialization'!
initialize
@@ -829,6 +869,20 @@
"Created: / 16-01-2013 / 09:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
+!TextDiffTool methodsFor:'private'!
+
+
+
+
+
+
+
+
+
+ !
+
+
!TextDiffTool methodsFor:'testing'!
isDiff2
@@ -849,14 +903,15 @@
"Created: / 19-03-2012 / 11:53:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!TextDiffTool class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.8 2012-07-27 21:48:04 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.9 2013-03-29 07:27:32 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.8 2012-07-27 21:48:04 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.9 2013-03-29 07:27:32 cg Exp $'
!
version_HG
--- a/extensions.st Sun Mar 31 18:03:22 2013 +0100
+++ b/extensions.st Mon Apr 01 14:07:29 2013 +0100
@@ -2064,7 +2064,7 @@
!stx_libtool class methodsFor:'documentation'!
extensionsVersion_CVS
- ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.102 2013-03-27 16:37:42 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.103 2013-03-30 15:44:24 cg Exp $'
! !
!stx_libtool class methodsFor:'documentation'!
--- a/mingwmake.bat Sun Mar 31 18:03:22 2013 +0100
+++ b/mingwmake.bat Mon Apr 01 14:07:29 2013 +0100
@@ -8,7 +8,9 @@
@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
-@call ..\rules\find_mingw.bat
+@pushd ..\rules
+@call find_mingw.bat
+@popd
make.exe -N -f bc.mak %USEMINGW_ARG% %*
--- a/stx_libtool.st Sun Mar 31 18:03:22 2013 +0100
+++ b/stx_libtool.st Mon Apr 01 14:07:29 2013 +0100
@@ -202,7 +202,6 @@
BrowserView
(ChangeSetBrowser autoload)
ChangesBrowser
- (ClassInspectorView autoload)
(ClassItem autoload)
(ClassItemRoot autoload)
(ClassItemRootForRevision autoload)
@@ -235,6 +234,7 @@
(HierarchicalClassRevisionList autoload)
(HierarchicalVersionDiffBrowser autoload)
InspectorView
+ ClassInspectorView
(Launcher autoload)
(LibraryBuilder autoload)
MemoryMonitor
@@ -355,8 +355,6 @@
DirectoryTreeBrowser
PerforceSourceCodeManagementSettingsAppl
StoreSourceCodeManagementSettingsAppl
- #'Tools::ChangeList'
- #'Tools::ChangeSetDiffList'
#'Tools::ClassCategoryList'
#'Tools::ClassGeneratorList'
#'Tools::ClassList'
@@ -367,7 +365,6 @@
#'Tools::ProjectList'
#'Tools::VariableList'
#'Tools::FullMethodCategoryList'
- #'Tools::HierarchicalChangeList'
#'Tools::HierarchicalClassCategoryList'
#'Tools::HierarchicalClassList'
#'Tools::HierarchicalLintRuleList'
@@ -381,6 +378,9 @@
#'Tools::LintHighlighter'
#'Tools::LintService'
#'Tools::SourceCodeManagerConfigurationTestTool'
+ #'Tools::ChangeList'
+ #'Tools::ChangeSetDiffList'
+ #'Tools::HierarchicalChangeList'
FileBasedSourceCodeManagementSettingsAppl
DataBaseSourceCodeManagementSettingsAppl
DirectoryDifferenceViewApplication
@@ -579,8 +579,6 @@
"Modified: / 18-07-2012 / 19:11:53 / cg"
!
-
-
productName
"Return a product name which will appear in <lib>.rc"
@@ -610,11 +608,11 @@
!stx_libtool class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.90 2013-03-18 13:57:34 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.91 2013-03-30 16:04:30 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.90 2013-03-18 13:57:34 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.91 2013-03-30 16:04:30 cg Exp $'
!
version_HG
--- a/vcmake.bat Sun Mar 31 18:03:22 2013 +0100
+++ b/vcmake.bat Mon Apr 01 14:07:29 2013 +0100
@@ -5,7 +5,9 @@
@REM -------
@if not defined VSINSTALLDIR (
- call ..\rules\vcsetup.bat
+ pushd ..\rules
+ call vcsetup.bat
+ popd
)
@SET DEFINES=
@REM Kludge got Mercurial, cannot be implemented in Borland make