# HG changeset patch # User Jan Vrany # Date 1370359291 -3600 # Node ID 0ce340e972c4fdb0c905b7609fb3081c2c61db19 # Parent 204da2f7db8ee9f9e9a4f0709bd4e81f17fbcf92# Parent d48602f582d860bd9e314e8528db5be5017f3fc6 Merged 204da2f7db8e and d48602f582d8 (branch default - CVS HEAD) diff -r 204da2f7db8e -r 0ce340e972c4 .hgtags --- a/.hgtags Mon Jun 03 18:43:00 2013 +0100 +++ b/.hgtags Tue Jun 04 16:21:31 2013 +0100 @@ -50,9 +50,10 @@ b407d6ab29da8f079cbe8f9cd2430630786f720f expecco_1_7_1rc4 b68ba5310493e1bf7956bb5e75309b4b5d33dd68 expecco_1_6_0 b6fdfe902263fbb0ca68c285a41d1ba082363ea7 expecco_2_2_0 +b7a6631ef77e5746c13bb6c9facba95d5d51019c stable c6afed1e4bfa09e6c3b209679925ad74eb761af9 expecco_1_7_0rc8 d42566f1a9ba30ece3b2ddea3ac312dfc6802e45 rel5_2_8 d985c7c23d8e1558a5180826cb985ee84938162c rel3_4_1_1 ee907655178aa0f5a67f218fcedc36b8482c3754 rel4_1_3_1 f4b0d497d1e608cbf0d8b7925d176f21640bf92a expecco_1_5_0 -feaef938f778f90fe14ab857a3a1d994fb865cd6 stable +ffdf97bbca6e7f5699b91853bfc80b91c0f33d39 expecco_2_5_0 diff -r 204da2f7db8e -r 0ce340e972c4 AbstractFileBrowser.st --- a/AbstractFileBrowser.st Mon Jun 03 18:43:00 2013 +0100 +++ b/AbstractFileBrowser.st Tue Jun 04 16:21:31 2013 +0100 @@ -2202,31 +2202,26 @@ (MenuItem label: 'Open (Win32-Shell)' itemValue: doOpenWithShellCommand - translateLabel: true isVisible: systemIsDOS ) (MenuItem label: 'Execute UNIX Command...' itemValue: doExecuteCommand - translateLabel: true isVisible: systemIsUnix ) (MenuItem label: 'Execute DOS Command...' itemValue: doExecuteCommand - translateLabel: true isVisible: systemIsDOS ) (MenuItem label: 'Execute Script...' itemValue: doExecuteScript - translateLabel: true ) (MenuItem enabled: canDoTerminal label: 'Shell Terminal' itemValue: openTerminal - translateLabel: true isVisible: canDoTerminalAndSystemIsUnix labelImage: (ResourceRetriever ToolbarIconLibrary terminal16x16Icon 'Shell Terminal') ) @@ -2234,7 +2229,6 @@ enabled: canDoTerminal label: 'DOS Terminal' itemValue: openTerminal - translateLabel: true isVisible: canDoTerminalAndSystemIsDOS labelImage: (ResourceRetriever ToolbarIconLibrary terminal16x16Icon 'DOS Terminal') ) @@ -2245,20 +2239,17 @@ enabled: hasFileSelection label: 'Changes Browser' itemValue: openChangesBrowser - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'ChangeSet Browser' itemValue: openChangeSetBrowser - translateLabel: true isVisible: changeSetBrowserItemVisible ) (MenuItem enabled: hasFileSelection label: 'Workspace' itemValue: openWorkspace - translateLabel: true ) (MenuItem label: '-' @@ -2267,31 +2258,26 @@ enabled: canReadAbbrevFile label: 'Install Autoloaded' itemValue: readAbbrevFile - translateLabel: true ) (MenuItem enabled: anySTFilesPresent label: 'Install All ST-Files as Autoloaded' itemValue: installAllAsAutoloaded - translateLabel: true ) (MenuItem enabled: recursiveAnySTFilesPresent label: 'Recursive Install All ST-Files as Autoloaded' itemValue: installAllAsAutoloadedRecursive - translateLabel: true ) (MenuItem label: '-' ) (MenuItem label: 'File Operations' - translateLabel: true submenuChannel: fileOpMenu ) (MenuItem label: 'File Utilities' - translateLabel: true submenu: (Menu ( @@ -2299,24 +2285,20 @@ enabled: hasFileSelection label: 'Editor' itemValue: openEditor - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'HTML Reader' itemValue: openHTMLReader - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'Web Browser' itemValue: openWebBrowser - translateLabel: true ) (MenuItem label: 'XML Inspector' itemValue: inspectXmlFile - translateLabel: true isVisible: hasXml showBusyCursorWhilePerforming: true ) @@ -2324,69 +2306,64 @@ enabled: hasFileSelection label: 'Acroread (PDF Viewer)' itemValue: openPDFViewer - translateLabel: true ) (MenuItem enabled: hasASN1AndSelection label: 'ASN1 Browser' itemValue: openASN1Browser - translateLabel: true isVisible: hasASN1 ) (MenuItem enabled: hasCBrowser label: 'C Browser' itemValue: openCBrowser - translateLabel: true isVisible: hasCBrowser ) (MenuItem + enabled: canOpenMontocelloBrowser + label: 'Monticello Browser' + itemValue: doOpenMonticelloBrowser + ) + (MenuItem enabled: hasJavaAndSelection label: 'Applet Viewer' itemValue: openAppletViewer - translateLabel: true isVisible: hasJava ) (MenuItem enabled: hasMP3PlayerAndSelection label: 'MP3 Player' itemValue: openMP3Player - translateLabel: true isVisible: hasMP3Player ) (MenuItem enabled: hasFileSelection label: 'xv (Image Viewer)' itemValue: openXV - translateLabel: true isVisible: systemIsUnix ) (MenuItem enabled: currentFilesAreInSameDirectory label: 'Slide Show' itemValue: openSlideShow - translateLabel: true isVisible: hasSlideShow ) (MenuItem enabled: hasFileSelection label: 'gv (Postscript Viewer)' itemValue: openGV - translateLabel: true isVisible: systemIsUnix ) (MenuItem enabled: hasMP3PlayerAndSelection label: 'MP3 Player' itemValue: openMP3Player - translateLabel: true isVisible: hasMP3Player ) (MenuItem enabled: hasFileSelection label: 'Realplay (avi viewer)' itemValue: openRP - translateLabel: true isVisible: systemIsUnix ) (MenuItem @@ -2394,7 +2371,6 @@ ) (MenuItem label: 'Smalltalk' - translateLabel: true submenu: (Menu ( @@ -2402,13 +2378,11 @@ enabled: hasSnapshotSelection label: 'Snapshot Image Browser' itemValue: openSnapshotImageBrowser - translateLabel: true ) (MenuItem enabled: canCreateNewProject label: 'Create Smalltalk Project' itemValue: createProjectAndOpenProjectBrowser - translateLabel: true ) (MenuItem label: '-' @@ -2417,13 +2391,11 @@ enabled: hasResourceFileSelected label: 'Show Contents of Resourcefile' itemValue: readAndShowResources - translateLabel: true ) (MenuItem enabled: hasResourceFileSelected label: 'Resource File Editor' itemValue: openResourceFileEditor - translateLabel: true showBusyCursorWhilePerforming: true ) (MenuItem @@ -2433,7 +2405,6 @@ enabled: hasFileSelection label: 'Contents as ByteArray' itemValue: fileContentsAsByteArray - translateLabel: true ) ) nil @@ -2442,7 +2413,6 @@ ) (MenuItem label: 'Image' - translateLabel: true submenu: (Menu ( @@ -2450,19 +2420,16 @@ enabled: hasFileSelection label: 'Image Editor' itemValue: openImageEditor - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'Image Preview' itemValue: openImagePreview - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'Image Inspector' itemValue: openImageInspector - translateLabel: true ) (MenuItem label: '-' @@ -2471,25 +2438,21 @@ enabled: hasFileSelection label: 'Convert to GIF' itemValue: convertImageToGIF - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'Convert to PNG' itemValue: convertImageToPNG - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'Convert to XPM' itemValue: convertImageToXPM - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'Convert to JPG' itemValue: convertImageToJPG - translateLabel: true ) ) nil @@ -2500,13 +2463,11 @@ enabled: hasZipFileSelectedHolder label: 'ZipFile Tool' itemValue: openZipTool - translateLabel: true ) (MenuItem enabled: hasFileSelection label: 'Hex Dump' itemValue: fileHexDump - translateLabel: true ) ) nil @@ -2515,35 +2476,29 @@ ) (MenuItem label: 'Find' - translateLabel: true submenu: (Menu ( (MenuItem label: 'File...' itemValue: fileFindFile - translateLabel: true ) (MenuItem label: 'Same Contents as Selected...' itemValue: fileFindDuplicateFile - translateLabel: true ) (MenuItem label: 'Duplicate Files' itemValue: fileFindDuplicates - translateLabel: true ) (MenuItem enabled: hasSelection label: 'All Duplicate Files (Recursive)' itemValue: fileFindAllDuplicates - translateLabel: true ) (MenuItem label: 'Similar Image Files' itemValue: fileFindSimilarImages - translateLabel: true isVisible: hasImageColorHistogram ) ) @@ -6450,6 +6405,26 @@ "Modified: / 21-07-2012 / 12:28:36 / cg" ! +doOpenMonticelloBrowser + self withWaitCursorDo:[ + self currentSelectedFiles do:[:fn | + |version snapshot| + + fn suffix asLowercase = 'mcz' ifTrue:[ + version := MCMczReader versionFromFile:fn. + snapshot := version snapshot. + (Tools::ChangeSetBrowser2 + on: snapshot asChangeSet + label: version info name) + beTwoColumn; + targetNamespace:nil; + targetPackage:nil; + open + ] + ] + ] +! + doOpenSettings self openSettingsDialog ! @@ -8220,17 +8195,12 @@ ! canCreateNewProject - - | selectedFiles | - self currentFilesAreInSameDirectory ifFalse:[^ false]. - selectedFiles := self currentSelectedFiles. - ^ [ - ((selectedFiles detect:[:fileName| | suffix| - suffix := fileName suffix asLowercase. - (suffix = 'prj' or:[suffix = 'st']) - ] ifNone:[nil]) notNil) - ] + ^ self currentSelectedFiles contains:[:fileName| + | suffix| + suffix := fileName suffix asLowercase. + (suffix = 'prj' or:[suffix = 'st']) + ] ! canDoTerminal @@ -8258,6 +8228,13 @@ ^ self currentSelectedFiles notEmptyOrNil ! +canOpenMonticelloBrowser + ^ self currentSelectedFiles + contains:[:fileName| + fileName suffix asLowercase = 'mcz' + ] +! + canReadAbbrevFile |currentDirectory| @@ -8317,16 +8294,10 @@ hasResourceFileSelected - ^ [ - |sel| - - sel := self currentSelectedFiles. - sel notEmptyOrNil ifTrue:[ - sel conform:[:fn | fn suffix asLowercase = 'rs']. - ] ifFalse:[ - false - ] - ] + ^ self currentSelectedFiles + conform:[:fn | + fn suffix asLowercase = 'rs' + ]. ! hasSlideShow @@ -9332,11 +9303,11 @@ !AbstractFileBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.521 2013-05-28 10:34:21 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.522 2013-06-03 10:52:06 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.521 2013-05-28 10:34:21 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.522 2013-06-03 10:52:06 cg Exp $' ! version_HG diff -r 204da2f7db8e -r 0ce340e972c4 AbstractSettingsApplication.st --- a/AbstractSettingsApplication.st Mon Jun 03 18:43:00 2013 +0100 +++ b/AbstractSettingsApplication.st Tue Jun 04 16:21:31 2013 +0100 @@ -96,10 +96,11 @@ AbstractSettingsApplication subclass:#EditSettingsAppl instanceVariableNames:'st80EditingMode tabsIs4 st80DoubleClickSelectMode - searchDialogIsModal startTextDragWithControl - extendedWordSelectMode whitespaceWordSelectMode - enforceContentsDropForFiles selectAllWhenClickingBeyondEnd - useCodeView2InTools showAcceptCancelBarInBrowser' + searchDialogIsModal startTextDragWithControl + extendedWordSelectMode whitespaceWordSelectMode + enforceContentsDropForFiles selectAllWhenClickingBeyondEnd + showAcceptCancelBarInBrowser useCodeView2InTools + autoIndentInCodeView' classVariableNames:'' poolDictionaries:'' privateIn:AbstractSettingsApplication @@ -3556,6 +3557,45 @@ #changeToVisualAgeLook 'Change settings for a VisualAge-like look (bold variable fonts)' + +#alwaysPasteFileContents +'When pasting a file (from the Filebrowser or Explorer), always paste the file''s contents\without asking. If off, a dialog appears to ask the name or the contents of the file should be pasted' + +#autoIndentInCodeView +'Automatically position the cursor to a reasonably indented position when pressing the return key.\This affects editors which show code' + +#extendedWordSelectMode +'Controls if underlines will be treated as part of the word or not when selecting a word.\Many programming languages (including ST/X, but excluding Squeak and old ST80)\treat underline like a letter in identifiers' + +#searchBoxIsModal +'If off, a text search box is non-modal, and can be left floating beside an editor to mix search and edit operations.\If modal, it behaves as usual, blocking interaction with the editor while open' + +#selectAllWhenClickingBeyondEnd +'If on, a click beyond (i.e. below) the end of the text selects the whole text.\If off, use quadruple-click to select all (triple-click to select a full line)' + +#showAcceptCancelBar +'Display an green-red-yellow accept-cancel bar to the left of the text.\Press green to accept, red to cancel, and yellow to compare against the original version.' + +#st80DoubleClickSelectMode +'Enable the ST-80 mode for double-click on the character right after an opening parenthesis or string-quote,\to select the paranethized or quoted text.\Also, a double-click on the very first character selects the whole text' + +#st80EditMode +'Enable the ST-80 line-end/text-end cursor behavior.\There, the cursor cannot be positioned beyond the end of text, and cursor movement leads to the next/previous line.\This is similar to the behavior of other editors, such as "vi" or "emacs".\If off, the page is treated like a piece of paper, where any position can be reached immediately ("Rand-Editor" behavior)' + + +#startTextDragWithCTRL +'Press CTRL to drag the selected text into another view' + +#tabStops4 +'Controls if tab stops are multiples of 4 or 8 while editing.\Notice that this only affects the cursor positioning while editing, and that tabs are never part of the text internally.\The external (file-) representation always uses tab stops in multiples of 8.\Thus, when saving, one leading tab is generated for every 8 leading spaces,\and when reading a file, each tab is replaced by 8 spaces' + +#useNewCodeView2 +'Use the new advanced CodeView2, which supports line numbers, advanced variable and selector highlighting,\and other useful programmer features' + +#whitespaceWordSelectMode +'Controls if non-whitespace separators (such as fullstop, parenthesis etc.) are treated as separator when selecting a word (via double-click).\If off, only whitespace is treated as such. Useful when editing plain text, or code written in Lisp or Scheme' + + ) "Created: / 17-03-2012 / 11:37:51 / cg" @@ -3612,18 +3652,45 @@ (CheckBoxSpec label: 'Use the new Code Editor2 (experimental)' name: 'UserCodeView2' + activeHelpKey: useNewCodeView2 model: useCodeView2InTools extent: (Point 600 25) ) (CheckBoxSpec + label: 'Tab Stops in Multiples of 4' + name: 'TabStopsMultiples4CheckBox' + activeHelpKey: tabStops4 + model: tabsIs4 + translateLabel: true + extent: (Point 600 25) + ) + (DividerSpec + name: 'Separator1' + extent: (Point 600 4) + ) + (CheckBoxSpec label: 'Show Accept/Cancel Bar in Editor' name: 'ShowAcceptCancelBarInBrowser' + activeHelpKey: showAcceptCancelBar model: showAcceptCancelBarInBrowser extent: (Point 600 25) ) (CheckBoxSpec + label: 'SearchBox is Modal' + name: 'SearchBoxModalCheckBox' + activeHelpKey: searchBoxIsModal + model: searchDialogIsModal + translateLabel: true + extent: (Point 600 25) + ) + (DividerSpec + name: 'Separator2' + extent: (Point 600 4) + ) + (CheckBoxSpec label: 'CTRL-Key to Start TextDrag' name: 'CTRLKeyStTextDragCheckBox' + activeHelpKey: startTextDragWithCTRL model: startTextDragWithControl translateLabel: true extent: (Point 600 25) @@ -3631,34 +3698,27 @@ (CheckBoxSpec label: 'Always Paste the Contents when Dropping a File (Do not Ask) ' name: 'EnforceContentsDropForFiles' + activeHelpKey: alwaysPasteFileContents model: enforceContentsDropForFiles translateLabel: true extent: (Point 600 25) ) - (CheckBoxSpec - label: 'SearchBox is Modal' - name: 'SearchBoxModalCheckBox' - model: searchDialogIsModal - translateLabel: true - extent: (Point 600 25) + (DividerSpec + name: 'Separator4' + extent: (Point 600 4) ) (CheckBoxSpec - label: 'Tab Stops in Multiples of 4' - name: 'TabStopsMultiples4CheckBox' - model: tabsIs4 - translateLabel: true - extent: (Point 600 25) - ) - (CheckBoxSpec - label: 'Double Click Select Behavior as in ST80' - name: 'DoubleClickSelectBehaviorST80CheckBox' - model: st80DoubleClickSelectMode + label: 'Autoindent (Position Cursor on Return Key in Code Editors)' + name: 'CheckBox3' + activeHelpKey: autoIndentInCodeView + model: autoIndentInCodeView translateLabel: true extent: (Point 600 25) ) (CheckBoxSpec label: 'Cursor has ST80 Line-end Behavior' name: 'CursorST80LineEndBehaviorCheckBox' + activeHelpKey: st80EditMode model: st80EditMode translateLabel: true extent: (Point 600 25) @@ -3666,13 +3726,27 @@ (CheckBoxSpec label: 'Select all when Clicking beyond the Text''s End' name: 'CheckBox2' + activeHelpKey: selectAllWhenClickingBeyondEnd model: selectAllWhenClickingBeyondEnd translateLabel: true extent: (Point 600 25) ) + (DividerSpec + name: 'Separator3' + extent: (Point 600 4) + ) + (CheckBoxSpec + label: 'Double Click Select Behavior as in ST80' + name: 'DoubleClickSelectBehaviorST80CheckBox' + activeHelpKey: st80DoubleClickSelectMode + model: st80DoubleClickSelectMode + translateLabel: true + extent: (Point 600 25) + ) (CheckBoxSpec label: 'Treat Underscore as Letter in Word-Select' name: 'UnderscoreIsLetterCheckBox' + activeHelpKey: extendedWordSelectMode model: extendedWordSelectMode translateLabel: true extent: (Point 600 25) @@ -3680,6 +3754,7 @@ (CheckBoxSpec label: 'Any non-Whitespace in Word-Select' name: 'CheckBox1' + activeHelpKey: whitespaceWordSelectMode model: whitespaceWordSelectMode translateLabel: true extent: (Point 600 25) @@ -3732,14 +3807,15 @@ commonAspects ^ #( - #useCodeView2InTools - #showAcceptCancelBarInBrowser - #searchDialogIsModal - #startTextDragWithControl - #st80EditMode - #extendedWordSelectMode - #whitespaceWordSelectMode - #selectAllWhenClickingBeyondEnd + #useCodeView2InTools + #showAcceptCancelBarInBrowser + #searchDialogIsModal + #startTextDragWithControl + #st80EditMode + #extendedWordSelectMode + #whitespaceWordSelectMode + #selectAllWhenClickingBeyondEnd + #autoIndentInCodeView ) "Modified: / 07-03-2012 / 14:33:40 / cg" @@ -3747,6 +3823,14 @@ !AbstractSettingsApplication::EditSettingsAppl methodsFor:'aspects'! +autoIndentInCodeView + autoIndentInCodeView isNil ifTrue:[ + autoIndentInCodeView := false asValue. + autoIndentInCodeView onChangeSend:#updateModifiedChannel to:self. + ]. + ^ autoIndentInCodeView. +! + enforceContentsDropForFiles enforceContentsDropForFiles isNil ifTrue:[ enforceContentsDropForFiles := true asValue. @@ -8850,8 +8934,8 @@ (CheckBoxSpec label: 'Show Accelerator Keys in Menus' name: 'showAccelerators' + activeHelpKey: showAccelerators model: showAccelerators - activeHelpKey: showAccelerators translateLabel: true extent: (Point 435 22) ) @@ -8870,40 +8954,40 @@ (CheckBoxSpec label: 'Keyboard Focus Follows Mouse' name: 'focusFollowsMouse' + activeHelpKey: focusFollowsMouse model: focusFollowsMouse - activeHelpKey: focusFollowsMouse translateLabel: true extent: (Point 435 22) ) (CheckBoxSpec label: 'Views Catch Focus when Mapped' name: 'takeFocus' + activeHelpKey: takeFocus model: takeFocus - activeHelpKey: takeFocus translateLabel: true extent: (Point 435 22) ) (CheckBoxSpec label: 'Boxes Return Focus to Previously Active View' name: 'returnFocus' + activeHelpKey: returnFocus model: returnFocus - activeHelpKey: returnFocus translateLabel: true extent: (Point 435 22) ) (CheckBoxSpec label: 'Raise & Activate Windows on Click' name: 'activateOnClick' + activeHelpKey: activateOnClick model: activateOnClick translateLabel: true extent: (Point 435 22) - activeHelpKey: activateOnClick ) (CheckBoxSpec label: 'Autoraise Windows on FocusIn' name: 'CheckBox4' + activeHelpKey: autoRaiseOnFocusIn model: autoRaiseOnFocusIn - activeHelpKey: autoRaiseOnFocusIn translateLabel: true extent: (Point 435 22) ) @@ -8930,22 +9014,22 @@ (CheckBoxSpec label: 'MouseWheel Focus Follows Mouse' name: 'mouseWheelFocusFollowsMouse' + activeHelpKey: mouseWheelFocusFollowsMouse enableChannel: mouseWheelFocusFollowsMouseEnabled model: mouseWheelFocusFollowsMouse - activeHelpKey: mouseWheelFocusFollowsMouse translateLabel: true extent: (Point 435 22) ) (CheckBoxSpec - label: 'CTRL-MouseWheel is Zoom' + label: 'CTRL-Mousewheel is Zoom' name: 'CheckBox1' + activeHelpKey: allowMouseWheelZoom model: allowMouseWheelZoom - activeHelpKey: allowMouseWheelZoom translateLabel: true extent: (Point 435 22) ) (CheckBoxSpec - label: 'ALT-Leftclick is RightClick' + label: 'ALT-Leftclick is Rightclick' name: 'CheckBox3' activeHelpKey: button2WithAltKey model: button2WithAltKey @@ -8967,18 +9051,18 @@ (CheckBoxSpec label: 'Select on Right-Button-Press' name: 'selectOnRightClick' + activeHelpKey: selectOnRightClick model: selectOnRightClick translateLabel: true extent: (Point 435 21) - activeHelpKey: selectOnRightClick ) (CheckBoxSpec label: 'Menu on Right-Button-Release' name: 'showRightButtonMenuOnRelease' + activeHelpKey: showRightButtonMenuOnRelease model: showRightButtonMenuOnRelease translateLabel: true extent: (Point 435 21) - activeHelpKey: showRightButtonMenuOnRelease ) (ViewSpec name: 'SeparatingSpace7' @@ -9000,30 +9084,30 @@ (LabelSpec label: 'Label' name: 'Label1' - layout: (LayoutFrame 0 0 0 0 193 0 18 0) + layout: (LayoutFrame 0 0 0 0 170 0 17 0) + activeHelpKey: hostNameInLabel translateLabel: true labelChannel: formatHostNameWindowLabel adjust: right useDefaultExtent: true - activeHelpKey: hostNameInLabel ) (LabelSpec label: 'Label' name: 'Label2' layout: (LayoutFrame 0 0.3 30 0 0 0.6 0 1) + activeHelpKey: hostNameInLabel translateLabel: true labelChannel: formatHostNameWindowLabel1 adjust: left - activeHelpKey: hostNameInLabel ) (LabelSpec label: 'Label' name: 'Label3' layout: (LayoutFrame 0 0.6 30 0 0 1 0 1) + activeHelpKey: hostNameInLabel translateLabel: true labelChannel: formatHostNameWindowLabel2 adjust: left - activeHelpKey: hostNameInLabel ) ) @@ -9039,13 +9123,14 @@ label: 'Window Label Format' name: 'hostNameInLabelHolder' layout: (LayoutFrame 0 0 -22 1 216 0 0 1) + activeHelpKey: hostNameInLabel model: hostNameInLabelHolder - activeHelpKey: hostNameInLabel translateLabel: true ) (InputFieldSpec name: 'hostNameInLabelEntryField' layout: (LayoutFrame 218 0 -22 1 -5 1 0 1) + activeHelpKey: hostNameInLabel enableChannel: hostNameInLabelHolder model: newWindowLabelFormat immediateAccept: true @@ -9053,7 +9138,6 @@ acceptOnTab: true acceptOnLostFocus: true acceptOnPointerLeave: true - activeHelpKey: hostNameInLabel ) ) @@ -9240,11 +9324,8 @@ formatHostNameWindowLabel1 formatHostNameWindowLabel1 isNil ifTrue:[ - formatHostNameWindowLabel1 := - (resources string: -'%1 - Label -%2 - Hostname -%3 - Username') + formatHostNameWindowLabel1 := + (resources stringWithCRs:'%1 - Label\%2 - Hostname\%3 - Username') ]. ^ formatHostNameWindowLabel1. @@ -9254,11 +9335,8 @@ formatHostNameWindowLabel2 formatHostNameWindowLabel2 isNil ifTrue:[ - formatHostNameWindowLabel2 := - (resources string: -'%4 - ProcessId -%5 - TOP-Directory -%6 - TOP-Path'). + formatHostNameWindowLabel2 := + (resources stringWithCRs:'%4 - ProcessId\%5 - TOP-Directory\%6 - TOP-Path'). ]. ^ formatHostNameWindowLabel2. @@ -18470,11 +18548,11 @@ !AbstractSettingsApplication class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.466 2013-05-21 20:31:29 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.468 2013-05-29 13:20:16 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.466 2013-05-21 20:31:29 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.468 2013-05-29 13:20:16 cg Exp $' ! version_HG diff -r 204da2f7db8e -r 0ce340e972c4 DebugView.st --- a/DebugView.st Mon Jun 03 18:43:00 2013 +0100 +++ b/DebugView.st Tue Jun 04 16:21:31 2013 +0100 @@ -12,52 +12,52 @@ "{ Package: 'stx:libtool' }" StandardSystemView subclass:#DebugView - instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView - receiverInspector contextInspector contextArray selectedContext - catchBlock grabber mayProceed traceView tracing bigStep - skipLineNr steppedContextAddress abortButton terminateButton - continueButton stepButton nextButton nextOverButton nextOutButton - sendButton returnButton restartButton exclusive inspecting - nChainShown inspectedProcess updateProcess stopButton - updateButton defineButton monitorToggle stepping - steppedContextLineno stepForReturn actualContext inWrap - stackInspector steppedContext wrapperContext verboseBacktrace - firstContext stepHow cachable currentMethod ignoreBreakpoints - stepUntilEntering lastStepUntilEntering - lastSelectionInReceiverInspector lastSelectionInContextInspector - canShowMore exitAbort reportButton setOfHiddenCallingSelectors - isStoppedAtHaltOrBreakPoint exceptionInfoLabel methodCodeToggle - methodCodeToggleSelectionHolder - isStoppedAtBreakPointWithParameter breakPointParameter - hideSupportCode contextInfoLabel' - classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail - DebuggingDebugger DebuggingDebugger2 - DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts - ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration - LastExtent LastOrigin RememberedCallChain DebuggingDebugger3' - poolDictionaries:'' - category:'Interface-Debugger' + instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView + receiverInspector contextInspector contextArray selectedContext + catchBlock grabber mayProceed traceView tracing bigStep + skipLineNr steppedContextAddress abortButton terminateButton + continueButton stepButton nextButton nextOverButton nextOutButton + sendButton returnButton restartButton exclusive inspecting + nChainShown inspectedProcess updateProcess stopButton + updateButton defineButton monitorToggle stepping + steppedContextLineno stepForReturn actualContext inWrap + stackInspector steppedContext wrapperContext verboseBacktrace + firstContext stepHow cachable currentMethod ignoreBreakpoints + stepUntilEntering lastStepUntilEntering + lastSelectionInReceiverInspector lastSelectionInContextInspector + canShowMore exitAbort reportButton setOfHiddenCallingSelectors + isStoppedAtHaltOrBreakPoint exceptionInfoLabel methodCodeToggle + methodCodeToggleSelectionHolder + isStoppedAtBreakPointWithParameter breakPointParameter + hideSupportCode contextInfoLabel' + classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail + DebuggingDebugger DebuggingDebugger2 + DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts + ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration + LastExtent LastOrigin RememberedCallChain DebuggingDebugger3' + poolDictionaries:'' + category:'Interface-Debugger' ! Object subclass:#IgnoredHaltOrBreakpoint - instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed' - classVariableNames:'' - poolDictionaries:'' - privateIn:DebugView + instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed' + classVariableNames:'' + poolDictionaries:'' + privateIn:DebugView ! DebugView::IgnoredHaltOrBreakpoint subclass:#IgnoredHalt - instanceVariableNames:'weakMethodHolder lineNumber' - classVariableNames:'' - poolDictionaries:'' - privateIn:DebugView + instanceVariableNames:'weakMethodHolder lineNumber' + classVariableNames:'' + poolDictionaries:'' + privateIn:DebugView ! DebugView::IgnoredHaltOrBreakpoint subclass:#IgnoredBreakpoint - instanceVariableNames:'parameter' - classVariableNames:'' - poolDictionaries:'' - privateIn:DebugView + instanceVariableNames:'parameter' + classVariableNames:'' + poolDictionaries:'' + privateIn:DebugView ! !DebugView class methodsFor:'documentation'! @@ -1709,10 +1709,10 @@ view at the previous position, without a need for the user to set the position again " - iAmNew ifFalse:[ + iAmNew ifTrue:[ + self realize. + ] ifFalse:[ self remap. - ] ifTrue:[ - self realize. ]. self setForegroundWindow. @@ -7326,7 +7326,7 @@ "walk up context chain and find highest context which is either the selected context, or - if its a block-context - whose home is the selected context" - |sel implementorClass method category| + |sel implementorClass receiverClass method category| codeView withWaitCursorDo:[ "/ " @@ -7367,9 +7367,9 @@ category := method category ] ] ifFalse:[ - implementorClass := selectedContext receiver class. - implementorClass := implementorClass whichClassImplements:sel. - + receiverClass := selectedContext receiver class. + implementorClass := receiverClass whichClassImplements:sel. + implementorClass := implementorClass ? receiverClass. implementorClass ~~ Object ifTrue:[ implementorClass := Dialog request:('Define ''%1'' in class:' bindWith:sel allBold) @@ -7682,10 +7682,12 @@ 'DebugView [warning]: error while accessing context: ' errorPrint. ex description errorPrintCR. contextInspector inspect:nil. + contextInspector fieldListLabel:('Context'). ex suspendedContext fullPrintAllOn: Transcript. "/ ex reject. ] do:[ contextInspector inspect:con. + "/ contextInspector fieldListLabel:('Context: ',con method whoString). contextInspector tryToSelectKeyNamed:lastSelectionInContextInspector. ]. @@ -7837,6 +7839,7 @@ ] ] ]. + contextInspector fieldListLabel:('Context: ', method whoString). method notNil ifTrue:[ Error handle:[:ex | "/ not covered by Error, anyway @@ -7986,6 +7989,7 @@ ]. receiverInspector inspect:rec. + receiverInspector fieldListLabel:('Receiver: ',rec classNameWithArticle). receiverInspector tryToSelectKeyNamed:lastSelectionInReceiverInspector. " @@ -8323,11 +8327,11 @@ !DebugView class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.584 2013-05-07 13:16:27 stefan Exp $' + ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.584 2013-05-07 13:16:27 stefan Exp $' + ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $' ! version_HG @@ -8336,7 +8340,7 @@ ! version_SVN - ^ '§Id: DebugView.st 7818 2011-08-18 11:42:39Z vranyj1 §' + ^ '$Id: DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $' ! ! diff -r 204da2f7db8e -r 0ce340e972c4 FileDialog.st --- a/FileDialog.st Mon Jun 03 18:43:00 2013 +0100 +++ b/FileDialog.st Tue Jun 04 16:21:31 2013 +0100 @@ -1179,6 +1179,12 @@ ^ DirectoryContentsBrowser showMenuSpec ! ! +!FileDialog class methodsFor:'others'! + +version_CVS + ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 17:41:12 vrany Exp $' +! ! + !FileDialog class methodsFor:'plugIn spec'! aspectSelectors @@ -2045,11 +2051,7 @@ !FileDialog class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 18:41:12 +0100 vrany Exp $' -! - -version_CVS - ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 18:41:12 +0100 vrany Exp $' + ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 17:41:12 vrany Exp $' ! version_HG @@ -2058,6 +2060,6 @@ ! version_SVN - ^ '$Id: FileDialog.st 7854 2012-01-30 17:49:41Z vranyj1 $' + ^ '$Id: FileDialog.st,v 1.117 2013-06-03 17:41:12 vrany Exp $' ! ! diff -r 204da2f7db8e -r 0ce340e972c4 InspectorView.st --- a/InspectorView.st Mon Jun 03 18:43:00 2013 +0100 +++ b/InspectorView.st Tue Jun 04 16:21:31 2013 +0100 @@ -775,7 +775,8 @@ ! fieldListLabel:aString - labelView label:aString + labelView label:aString. + labelView adjust:#left. "Created: 28.6.1996 / 15:30:26 / cg" ! @@ -3507,11 +3508,11 @@ !InspectorView class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.309 2013-05-28 19:30:59 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.310 2013-06-03 10:39:43 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.309 2013-05-28 19:30:59 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.310 2013-06-03 10:39:43 cg Exp $' ! version_HG diff -r 204da2f7db8e -r 0ce340e972c4 Tools__CodeView2.st --- a/Tools__CodeView2.st Mon Jun 03 18:43:00 2013 +0100 +++ b/Tools__CodeView2.st Tue Jun 04 16:21:31 2013 +0100 @@ -2921,18 +2921,22 @@ the fix should be there, but someone smarter should review it before the patch will be pushed up" - |soCol wasOn lineNrAboveCursor ln prevTab| + |soCol wasOn lineNrAboveCursor ln originalLine prevTab| wasOn := self hideCursor. + "JV@2012-01-06: Do not play with autoindent iff cursor is at the very beginning of the line" - (autoIndent and:[cursorCol ~~ 1]) ifTrue:[ + (autoIndent + and:[cursorCol ~~ 1 + and:[ (tabPositions includes:cursorCol) + ]]) ifTrue:[ prevTab := (self prevTabBefore:cursorCol) max:1. "JV@2011-12-10: The list can be shorter than cursorLine, trailing because empty lines are not physically in the list." (list size >= cursorLine) ifTrue:[ - ln := (list at:cursorLine) ? ''. + ln := originalLine := (list at:cursorLine) ? ''. ] ifFalse:[ - ln := ''. + ln := originalLine := ''. ]. ln size < prevTab ifTrue:[ ln := ln , (String new:prevTab withAll:Character space). @@ -2940,17 +2944,25 @@ (ln copyTo:prevTab) isBlank ifTrue:[ (ln copyFrom:prevTab+1) isBlank ifTrue:[ cursorCol > prevTab ifTrue:[ + self st80EditMode ifTrue:[ + "/ ensure that there is no conflict here: st80EditMode will + "/ not allow a cursor position beyond the end of line, + "/ so avoid that cursorLine:col: will force us to the beginning of the line + originalLine size < prevTab ifTrue:[ + self at:cursorLine put:ln + ] + ]. self cursorLine:cursorLine col:prevTab. wasOn ifTrue:[ self showCursor ]. ^ self ]. ] ifFalse:[ - (ln copyFrom:prevTab+1 to:cursorCol-1) isBlank ifTrue:[ + "/ (ln copyFrom:prevTab+1 to:cursorCol-1) isBlank ifTrue:[ self deleteFromLine:cursorLine col:prevTab toLine:cursorLine col:cursorCol-1. self cursorLine:cursorLine col:prevTab. wasOn ifTrue:[ self showCursor ]. ^ self. - ] + "/ ] ] ]. ]. @@ -3094,8 +3106,11 @@ wasAutoIndent := autoIndent. autoIndent := false. - super insertLines:someText from:start to:end before:lineNr. - autoIndent := wasAutoIndent + [ + super insertLines:someText from:start to:end before:lineNr. + ] ensure:[ + autoIndent := wasAutoIndent + ] "Created: / 20-12-2011 / 15:32:35 / Jan Vrany " ! ! @@ -3216,7 +3231,6 @@ changedDiffText := true. diffMode := false. suppressNotifications := false. - autoIndent := UserPreferences current codeView2AutoIndent. reallyModifiedChannel := false asValue. self enableMotionEvents. @@ -3527,11 +3541,11 @@ !CodeView2 class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.72 2013-05-28 18:52:32 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.74 2013-05-29 17:26:31 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.72 2013-05-28 18:52:32 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.74 2013-05-29 17:26:31 cg Exp $' ! version_HG @@ -3540,7 +3554,7 @@ ! version_SVN - ^ '$Id: Tools__CodeView2.st,v 1.72 2013-05-28 18:52:32 cg Exp $' + ^ '$Id: Tools__CodeView2.st,v 1.74 2013-05-29 17:26:31 cg Exp $' ! ! diff -r 204da2f7db8e -r 0ce340e972c4 Tools__CodeView2SettingsAppl.st --- a/Tools__CodeView2SettingsAppl.st Mon Jun 03 18:43:00 2013 +0100 +++ b/Tools__CodeView2SettingsAppl.st Tue Jun 04 16:21:31 2013 +0100 @@ -16,7 +16,7 @@ AbstractSettingsApplication subclass:#CodeView2SettingsAppl instanceVariableNames:'useCodeView2InTools useCodeView2InDebugger useCodeView2InBrowser useCodeView2InToolEnabled useCodeView2InWorkspace - codeView2AutoIndent codeView2ShowAcceptCancel + codeView2AutoPrettyPrint codeView2ShowAcceptCancel codeView2QuickSendersAndImplementorsOnControl' classVariableNames:'' poolDictionaries:'' @@ -71,7 +71,7 @@ #codeView2QuickSendersAndImplementorsOnControl 'If on, the CTRL (Control) key is used to get the quick implementors/senders menus via left/right mouse click. If off, the ALT key is used.' -#codeView2AutoIndent +#codeView2AutoPrettyPrint 'Automatically indent (prettyprint) code. This is experimental and not yet enabled by default, as it uses the refactory browser''s prettyprint function, which is known to loose comments and generate ugly layout occasionally. For now, it is recommended to manually prettyprint code (using the format button), @@ -171,7 +171,7 @@ enableChannel: useCodeView2InToolEnabled model: useCodeView2InBrowser translateLabel: true - extent: (Point 543 25) + extent: (Point 551 25) ) (CheckBoxSpec label: 'Use Advanced Code Editor in Debugger (experimental)' @@ -180,7 +180,7 @@ enableChannel: useCodeView2InToolEnabled model: useCodeView2InDebugger translateLabel: true - extent: (Point 543 25) + extent: (Point 551 25) ) (CheckBoxSpec label: 'Use Advanced Code Editor in Workspace' @@ -189,7 +189,7 @@ enableChannel: useCodeView2InToolEnabled model: useCodeView2InWorkspace translateLabel: true - extent: (Point 543 25) + extent: (Point 551 25) ) ) @@ -227,14 +227,16 @@ enableChannel: acceptCancelInGutterEnabledHolder model: codeView2ShowAcceptCancel translateLabel: true - extent: (Point 543 25) + extent: (Point 551 25) ) (CheckBoxSpec - label: 'Auto Indent (experimental, not yet recommended)' + label: 'Auto Pretty Print (experimental, not yet recommended)' name: 'CheckBox5' - model: codeView2AutoIndent + activeHelpKey: codeView2AutoPrettyPrint + enableChannel: false + model: codeView2AutoPrettyPrint translateLabel: true - extent: (Point 543 25) + extent: (Point 551 25) ) ) @@ -269,7 +271,7 @@ activeHelpKey: codeView2QuickSendersAndImplementorsOnControl model: codeView2QuickSendersAndImplementorsOnControl translateLabel: true - extent: (Point 543 25) + extent: (Point 551 25) ) ) @@ -296,14 +298,13 @@ ^ [UserPreferences current showAcceptCancelBar not] ! -codeView2AutoIndent - "return/create the 'useCodeView2InTools' value holder (automatically generated)" +codeView2AutoPrettyPrint - codeView2AutoIndent isNil ifTrue:[ - codeView2AutoIndent := ValueHolder new. - codeView2AutoIndent onChangeSend:#updateModifiedChannel to:self + codeView2AutoPrettyPrint isNil ifTrue:[ + codeView2AutoPrettyPrint := ValueHolder new. + codeView2AutoPrettyPrint onChangeSend:#updateModifiedChannel to:self ]. - ^ codeView2AutoIndent + ^ codeView2AutoPrettyPrint "Modified: / 11-03-2010 / 10:09:04 / Jan Vrany " "Created: / 07-08-2011 / 12:52:20 / Jan Vrany " @@ -320,7 +321,6 @@ ! codeView2ShowAcceptCancel - "return/create the 'codeView2ShowAcceptCancel' value holder (automatically generated)" codeView2ShowAcceptCancel isNil ifTrue:[ codeView2ShowAcceptCancel := ValueHolder new. @@ -332,7 +332,6 @@ ! useCodeView2InBrowser - "return/create the 'useCodeView2InTools' value holder (automatically generated)" useCodeView2InBrowser isNil ifTrue:[ useCodeView2InBrowser := ValueHolder new. @@ -345,7 +344,6 @@ ! useCodeView2InDebugger - "return/create the 'useCodeView2InTools' value holder (automatically generated)" useCodeView2InDebugger isNil ifTrue:[ useCodeView2InDebugger := ValueHolder new. @@ -358,7 +356,6 @@ ! useCodeView2InTools - "return/create the 'useCodeView2InTools' value holder (automatically generated)" useCodeView2InTools isNil ifTrue:[ useCodeView2InTools := ValueHolder new. @@ -370,7 +367,6 @@ ! useCodeView2InWorkspace - "return/create the 'useCodeView2InTools' value holder (automatically generated)" useCodeView2InWorkspace isNil ifTrue:[ useCodeView2InWorkspace := ValueHolder new. @@ -408,7 +404,7 @@ #useCodeView2InDebugger #useCodeView2InWorkspace "/Editing support - #codeView2AutoIndent + #codeView2AutoPrettyPrint "/ #codeView2ShowAcceptCancel #codeView2QuickSendersAndImplementorsOnControl ) @@ -453,11 +449,11 @@ !CodeView2SettingsAppl class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.8 2013-02-22 09:13:43 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.9 2013-05-29 11:11:05 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.8 2013-02-22 09:13:43 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2SettingsAppl.st,v 1.9 2013-05-29 11:11:05 cg Exp $' ! version_HG @@ -466,6 +462,6 @@ ! version_SVN - ^ '§Id§' + ^ '$Id: Tools__CodeView2SettingsAppl.st,v 1.9 2013-05-29 11:11:05 cg Exp $' ! ! diff -r 204da2f7db8e -r 0ce340e972c4 Tools__NewSystemBrowser.st --- a/Tools__NewSystemBrowser.st Mon Jun 03 18:43:00 2013 +0100 +++ b/Tools__NewSystemBrowser.st Tue Jun 04 16:21:31 2013 +0100 @@ -15415,6 +15415,11 @@ itemValue: projectMenuFindNotStableClasses ) (MenuItem + enabled: hasProjectSelectedAndSourceCodeManagerHolder + label: 'Find Classes NOT tagged as...' + itemValue: projectMenuFindNotTaggedClasses + ) + (MenuItem label: '-' isVisible: false ) @@ -33975,9 +33980,19 @@ ! classMenuSetTag - |classes tag knownTags| + |classes tag knownTags allOwners| classes := self selectedNonMetaclasses. + allOwners := Set new. + classes do:[:each | + each owningClass notNil ifTrue:[ + allOwners add:each owningClass + ]. + ]. + classes := classes reject:[:cls | cls isPrivate]. + classes := classes asSet. + classes addAll:allOwners. + classes := classes asOrderedCollection sort:[:a :b | a name < b name]. ((classes size <= 10) or:[ |answer| @@ -33994,6 +34009,12 @@ "/ only fetch from ProjectDefinitionClasses knownTags := self allKnownTagsInClasses:(classes select:[:cls | cls isProjectDefinition]). ]. + knownTags remove:'stable' ifAbsent:[]. + knownTags := knownTags asOrderedCollection. + knownTags notEmpty ifTrue:[ + knownTags addFirst:nil. + ]. + knownTags addFirst:'stable'. tag := Dialog request:(resources string:'Tag:') @@ -37563,6 +37584,7 @@ "Modified: / 28-02-2012 / 16:27:44 / cg" ! ! + !NewSystemBrowser methodsFor:'menu actions-namespace'! nameSpaceMenuCheckOut @@ -39853,47 +39875,67 @@ self projectMenuFileOutAsWithFormat:#xml ! -projectMenuFindNotStableClasses - "find classes which have a version different from the stable one." +projectMenuFindClassesNotTaggedAs:aSymbolicTag + "find classes which have a version different from aSymbolicTag." |differentClasses| differentClasses := OrderedCollection new. self withWaitCursorDo:[ - self selectedProjects value do:[:eachProject | - |module directory perProjectInfo classesInImage - autoloadedClassesInImage filesInImage autoloadedFilesInImage - classesNotInRepository classesDeletedInRepository filesNotInImage| - - module := eachProject asPackageId module. - directory := eachProject asPackageId directory. - - perProjectInfo := SourceCodeManager revisionsInModule:module directory:directory taggedAs:'stable'. - perProjectInfo := perProjectInfo ? #(). - perProjectInfo := perProjectInfo select:[:info | info key asFilename hasSuffix:'st']. - perProjectInfo := Dictionary withAssociations:perProjectInfo. - - classesInImage := Smalltalk allClassesInPackage:eachProject. - autoloadedClassesInImage := classesInImage reject:[:cls | cls isLoaded]. - classesInImage := classesInImage select:[:cls | cls isLoaded and:[cls isPrivate not]]. + self selectedProjectsDo:[:eachProject | + |module directory perProjectInfo classesInImage + autoloadedClassesInImage filesInImage autoloadedFilesInImage + classesNotInRepository classesDeletedInRepository filesNotInImage| + + module := eachProject asPackageId module. + directory := eachProject asPackageId directory. + + perProjectInfo := SourceCodeManager revisionsInModule:module directory:directory taggedAs:aSymbolicTag. + perProjectInfo := perProjectInfo ? #(). + perProjectInfo := perProjectInfo select:[:info | info key asFilename hasSuffix:'st']. + perProjectInfo := Dictionary withAssociations:perProjectInfo. + + classesInImage := Smalltalk allClassesInPackage:eachProject. + autoloadedClassesInImage := classesInImage reject:[:cls | cls isLoaded]. + classesInImage := classesInImage select:[:cls | cls isLoaded and:[cls isPrivate not]]. "/ filesInImage := classesInImage collect:[:cls | cls classBaseFilename] as:Set. "/ autoloadedFilesInImage := autoloadedClassesInImage collect:[:cls | cls classBaseFilename] as:Set. "/ "/ any differences ? "/ classesNotInRepository := classesInImage reject:[:cls | (perProjectInfo includesKey:cls classBaseFilename)]. "/ classesDeletedInRepository := classesInImage select:[:cls | (perProjectInfo at:cls classBaseFilename ifAbsent:nil) == #deleted]. - perProjectInfo := perProjectInfo reject:[:v | v == #deleted]. + perProjectInfo := perProjectInfo reject:[:v | v == #deleted]. "/ filesNotInImage := perProjectInfo keys reject:[:file | (filesInImage includes:file)]. "/ filesNotInImage := filesNotInImage reject:[:file | (autoloadedFilesInImage includes:file)]. "/ filesNotInImage remove:'extensions.st' ifAbsent:[]. - classesInImage do:[:eachClass | - eachClass revision ~= (perProjectInfo at:eachClass classBaseFilename ifAbsent:nil) ifTrue:[ - differentClasses add:eachClass - ] - ]. - ]. - self spawnClassBrowserFor:differentClasses label:'Classes different from "stable" Version' in:#newBuffer - ]. + classesInImage do:[:eachClass | + eachClass revision ~= (perProjectInfo at:eachClass classBaseFilename ifAbsent:nil) ifTrue:[ + differentClasses add:eachClass + ] + ]. + ]. + self + spawnClassBrowserFor:differentClasses + label:(resources string:'Classes different from "%1" Version' with:aSymbolicTag) + in:#newBuffer + ]. +! + +projectMenuFindNotStableClasses + "find classes which have a version different from the stable one." + + self projectMenuFindClassesNotTaggedAs:'stable' +! + +projectMenuFindNotTaggedClasses + "find classes which have a version different from the stable one." + + |tag| + + tag := Dialog request:'Tag:'. + tag isEmptyOrNil ifTrue:[^ self]. + + self projectMenuFindClassesNotTaggedAs:tag ! projectMenuGenerateBuildSupportFiles @@ -40690,18 +40732,19 @@ "use ...Using:manager variant" - |tag| + |tag allClasses| tag := Dialog request:'Tag:'. tag isEmptyOrNil ifTrue:[^ self ]. self withWaitCursorDo: [ - self selectedProjectsDo:[:packageToTag | - |classes| - - classes := Smalltalk allClassesInPackage:packageToTag. - SourceCodeManagerUtilities default tagClasses:classes as:tag. - ] + allClasses := OrderedCollection new. + self selectedProjectsDo:[:packageToTag | + allClasses addAll:((Smalltalk allClassesInPackage:packageToTag) + asOrderedCollection reject:[:cls | cls isPrivate]). + ]. + + SourceCodeManagerUtilities default tagClasses:allClasses as:tag. ] "Created: / 12-09-2006 / 13:25:09 / cg" @@ -57623,6 +57666,25 @@ "/ self immediateUpdate value:false. rslt isBehavior ifTrue:[ + "/ look for a comment and generate a documentation method if so + |parser tree comment| + parser := Parser new. + parser + source:theCode asString string; + saveComments:true. + tree := parser + parseExpressionWithSelf:nil + notifying:nil + ignoreErrors:true + ignoreWarnings:true + inNameSpace:nil. + parser nextToken. + comment := (parser comments collect:[:c | c string]) asStringCollection asString. + (comment includesString:'no comment') ifFalse:[ + (rslt class implements:#documentation) ifFalse:[ + rslt class compile:'documentation\"' withCRs,comment,'"' classified:'documentation'. + ] + ]. self switchToClass:rslt. "/ self switchToClassNamed:rslt name. returnValue := true. @@ -59037,11 +59099,11 @@ !NewSystemBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1866 2013-04-14 18:13:55 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1884 2013-06-03 11:40:01 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1866 2013-04-14 18:13:55 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1884 2013-06-03 11:40:01 cg Exp $' ! version_HG @@ -59050,7 +59112,7 @@ ! version_SVN - ^ '§Id: Tools__NewSystemBrowser.st 7817 2011-08-18 09:38:28Z vranyj1 §' + ^ '$Id: Tools__NewSystemBrowser.st,v 1.1884 2013-06-03 11:40:01 cg Exp $' ! ! diff -r 204da2f7db8e -r 0ce340e972c4 extensions.st --- a/extensions.st Mon Jun 03 18:43:00 2013 +0100 +++ b/extensions.st Tue Jun 04 16:21:31 2013 +0100 @@ -1473,6 +1473,20 @@ "Created: / 20-01-2011 / 12:19:05 / cg" ! ! +!Timestamp methodsFor:'inspecting'! + +inspectorValueStringInListFor:anInspector + "returns a string to be shown in the inspector's list" + + ^ self printString +! ! +!UUID methodsFor:'inspecting'! + +inspectorValueStringInListFor:anInspector + "returns a string to be shown in the inspector's list" + + ^ self printString +! ! !UndefinedObject methodsFor:'inspecting'! inspectorValueStringInListFor:anInspector @@ -1522,6 +1536,7 @@ !UserPreferences methodsFor:'accessing-prefs-code view'! codeView2AutoIndent + ^self at:#codeView2AutoIndent ifAbsent: false @@ -1536,6 +1551,7 @@ !UserPreferences methodsFor:'accessing-prefs-code view'! codeView2AutoIndent: aBoolean + ^self at:#codeView2AutoIndent put: aBoolean @@ -2089,7 +2105,7 @@ !stx_libtool class methodsFor:'documentation'! extensionsVersion_CVS - ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.108 2013-05-28 18:45:20 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.110 2013-06-03 12:09:19 stefan Exp $' ! ! !stx_libtool class methodsFor:'documentation'! diff -r 204da2f7db8e -r 0ce340e972c4 resources/de.rs --- a/resources/de.rs Mon Jun 03 18:43:00 2013 +0100 +++ b/resources/de.rs Tue Jun 04 16:21:31 2013 +0100 @@ -1,6 +1,6 @@ #encoding utf8 -; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.214 2013-05-21 20:51:28 cg Exp $ +; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.215 2013-05-29 13:31:10 cg Exp $ ; ; German Workspace (and other tools) resources ; @@ -485,7 +485,8 @@ 'Repository history' 'Historie aus Quellcodeverwaltung' 'Repository History' 'Historie aus Quellcodeverwaltung' -'Find Classes NOT tagged as "stable"' 'Klassen die NICHT als "stable" markiert sind' +'Find Classes NOT tagged as "stable"' 'Klassen die NICHT als "stable" markiert sind' +'Find Classes NOT tagged as' 'Klassen die NICHT als mit Tag markiert sind' 'Validate class revisions' 'Aktualitt aller Klassen prfen' 'Validate Class Revisions' 'Aktualitt aller Klassen prfen' 'Load from repository' 'Aus Quellcodeverwaltung laden' @@ -3583,6 +3584,8 @@ 'Hostname in Window Labels' 'Hostname im Fenstertitel anzeigen' 'Show Accelerator Keys in Menus' 'Funktionstasten im Menu anzeigen' 'Raise & Activate Windows on Click' 'Fenster bei Klick nach vorne bringen' +'Autoraise Windows on FocusIn' 'Fenster mit Tastaturfokus automatisch nach vorne bringen' +'Force Windows into Monitor''s Bounds' 'Fenster immer innerhalb der Bildschirmgrenzen halten' 'Focus Follows Mouse' 'Tastaturfokus folgt Mauszeiger' 'Keyboard Focus Follows Mouse' 'Tastaturfokus folgt Mauszeiger' 'Mousewheel Focus Follows Mouse' 'Scrollrad-Fokus folgt Mauszeiger' @@ -3591,12 +3594,17 @@ 'Opaque Table Column Resizing' 'Verndern der Grsse einer Tabellenspalte animieren' 'Select on Right-Button-Press' 'Auswahl durch Drcken der rechten Maustaste' 'Menu on Right-Button-Release' 'Menu durch Loslassen der rechten Maustaste' +'Window Label Format' 'Format der Fenstertitel' 'Define the Format of Window Labels:\\ %1 - Label\ %2 - Hostname\ %3 - Username\ %4 - ProcessId\' 'Format fr Fenstertitel: \\ %1 - Label\ %2 - Hostname\ %3 - Benutzername\ %4 - ProzessId\' +'%1 - Label\%2 - Hostname\%3 - Username' '%1 - Titel\%2 - Hostname\%3 - Benutzername' +'%4 - ProcessId\%5 - TOP-Directory\%6 - TOP-Path' '%4 - ProzessId\%5 - TOP-Verzeichnisname\%6 - TOP-Verzeichnispfad' 'Use Native Widgets (Experimental & Unfinished Feature)' 'Native Widgets verwenden (experimentell)' 'Use Native Dialogs (Experimental & Unfinished Feature)' 'Native Dialoge verwenden (experimentell)' 'Use Native File Dialogs (Experimental & Unfinished Feature)' 'Native Filedialoge verwenden (experimentell)' 'Right-Click in Title brings Window to Back' 'Rechtsklick im Titel bringt Fenster nach hinten' 'Shift-Click in Title brings Window to Back' 'Shift-Klick im Titel bringt Fenster nach hinten' +'CTRL-Mousewheel is Zoom' 'CTRL-Mausrad zum Zoomen' +'ALT-Leftclick is Rightclick' 'ALT-Linksklick simuliert Rechtsklick' diff -r 204da2f7db8e -r 0ce340e972c4 stx_libtool.st --- a/stx_libtool.st Mon Jun 03 18:43:00 2013 +0100 +++ b/stx_libtool.st Tue Jun 04 16:21:31 2013 +0100 @@ -610,11 +610,11 @@ !stx_libtool class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.93 2013-05-27 08:32:39 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.94 2013-06-03 12:09:54 stefan Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.93 2013-05-27 08:32:39 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.94 2013-06-03 12:09:54 stefan Exp $' ! version_HG