Tim Felgentreff uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-tfel.720.mcz ==================== Summary ==================== Name: Tools-tfel.720 Author: tfel Time: 21 August 2016, 4:50:38.603391 pm UUID: 470a43f5-8185-4b55-b196-1863ed506913 Ancestors: Tools-mt.719, Tools-tfel.716 merge trunk =============== Diff against Tools-mt.719 =============== Item was changed: ----- Method: ArchiveViewer class>>descriptionForPartsBin (in category 'parts bin') ----- descriptionForPartsBin + ^ self partName: 'Zip Tool' translatedNoop + categories: #() + documentation: 'A viewer and editor for Zip archive files' translatedNoop - ^ self partName: 'Zip Tool' - categories: #(Tools) - documentation: 'A viewer and editor for Zip archive files' ! Item was changed: ----- Method: ArchiveViewer class>>serviceAddToNewZip (in category 'file list services') ----- serviceAddToNewZip "Answer a service for adding the file to a new zip" ^ FileModifyingSimpleServiceEntry provider: self + label: 'add file to new zip' translatedNoop - label: 'add file to new zip' selector: #addFileToNewZip: + description: 'add file to new zip' translatedNoop + buttonLabel: 'to new zip' translatedNoop! - description: 'add file to new zip' - buttonLabel: 'to new zip'! Item was changed: ----- Method: ArchiveViewer class>>serviceExtractAll (in category 'file list services') ----- serviceExtractAll "Answer a service for opening in a zip viewer" ^ FileModifyingSimpleServiceEntry provider: self + label: 'extract all to...' translatedNoop - label: 'extract all to...' selector: #extractAllFrom: + description: 'extract all files to a user-specified directory' translatedNoop + buttonLabel: 'extract all' translatedNoop! - description: 'extract all files to a user-specified directory' - buttonLabel: 'extract all'! Item was changed: ----- Method: ArchiveViewer class>>serviceOpenInZipViewer (in category 'class initialization') ----- serviceOpenInZipViewer "Answer a service for opening in a zip viewer" ^ SimpleServiceEntry provider: self + label: 'open in zip viewer' translatedNoop - label: 'open in zip viewer' selector: #openOn: + description: 'open in zip viewer' translatedNoop + buttonLabel: 'open zip' translatedNoop! - description: 'open in zip viewer' - buttonLabel: 'open zip'! Item was changed: ----- Method: ArchiveViewer>>writePrependingFile (in category 'archive operations') ----- writePrependingFile | result name prependedName | self canSaveArchive ifFalse: [ ^self ]. + result _ (StandardFileMenu newFileMenu: FileDirectory default) + startUpWithCaption: 'Destination Zip File Name:' translated. - result := (StandardFileMenu newFileMenu: FileDirectory default) - startUpWithCaption: 'Destination Zip File Name:'. result ifNil: [ ^self ]. + name _ result directory fullNameFor: result name. - name := result directory fullNameFor: result name. (archive canWriteToFileNamed: name) ifFalse: [ self inform: name, ' is used by one or more members in your archive, and cannot be overwritten. + Try writing to another file name' translated. - Try writing to another file name'. ^self ]. + result _ (StandardFileMenu oldFileMenu: FileDirectory default) + startUpWithCaption: 'Prepended File:' translated. - result := (StandardFileMenu oldFileMenu: FileDirectory default) - startUpWithCaption: 'Prepended File:'. result ifNil: [ ^self ]. + prependedName _ result directory fullNameFor: result name. - prependedName := result directory fullNameFor: result name. [ archive writeToFileNamed: name prependingFileNamed: prependedName ] on: Error do: [ :ex | self inform: ex description. ]. self changed: #memberList "in case CRC's and compressed sizes got set"! Item was changed: ----- Method: Browser class>>registerInFlapsRegistry (in category 'class initialization') ----- registerInFlapsRegistry "Register the receiver in the system's flaps registry" self environment at: #Flaps + ifPresent: [:cl | cl registerQuad: {#Browser. #prototypicalToolWindow. 'Browser' translatedNoop. 'A Browser is a tool that allows you to view all the code of all the classes in the system' translatedNoop} - ifPresent: [:cl | cl registerQuad: #(#Browser #prototypicalToolWindow 'Browser' 'A Browser is a tool that allows you to view all the code of all the classes in the system' ) forFlapNamed: 'Tools']! Item was changed: ----- Method: ChangeList class>>serviceBrowseChangeFile (in category 'fileIn/Out') ----- serviceBrowseChangeFile "Answer a service for opening a changelist browser on a file" ^ (SimpleServiceEntry provider: self + label: 'changelist browser' translatedNoop - label: 'changelist browser' selector: #browseStream: + description: 'open a changelist tool on this file' translatedNoop + buttonLabel: 'changes' translatedNoop) - description: 'open a changelist tool on this file' - buttonLabel: 'changes') argumentGetter: [ :fileList | fileList readOnlyStream ]! Item was changed: ----- Method: ChangeList class>>serviceBrowseCompressedChangeFile (in category 'fileIn/Out') ----- serviceBrowseCompressedChangeFile "Answer a service for opening a changelist browser on a file" ^ SimpleServiceEntry provider: self + label: 'changelist browser' translatedNoop - label: 'changelist browser' selector: #browseCompressedChangesFile: + description: 'open a changelist tool on this file' translatedNoop + buttonLabel: 'changes' translatedNoop! - description: 'open a changelist tool on this file' - buttonLabel: 'changes'! Item was changed: ----- Method: ChangeList class>>serviceBrowseDotChangesFile (in category 'fileIn/Out') ----- serviceBrowseDotChangesFile "Answer a service for opening a changelist browser on the tail end of a .changes file" ^ SimpleServiceEntry provider: self + label: 'recent changes in file' translatedNoop - label: 'recent changes in file' selector: #browseRecentLogOnPath: + description: 'open a changelist tool on recent changes in file' translatedNoop + buttonLabel: 'recent changes' translatedNoop! - description: 'open a changelist tool on recent changes in file' - buttonLabel: 'recent changes'! Item was changed: ----- Method: ChangeSorter class>>registerInFlapsRegistry (in category 'deprecated') ----- registerInFlapsRegistry "Register the receiver in the system's flaps registry" self environment at: #Flaps + ifPresent: [:cl | cl registerQuad: {#ChangeSorter. #prototypicalToolWindow. 'Change Set' translatedNoop. 'A tool that allows you to view and manipulate all the code changes in a single change set' translatedNoop} - ifPresent: [:cl | cl registerQuad: #(ChangeSorter prototypicalToolWindow 'Change Set' 'A tool that allows you to view and manipulate all the code changes in a single change set') forFlapNamed: 'Tools']! Item was changed: ----- Method: ChangeSorter>>checkThatSidesDiffer: (in category 'changeSet menu') ----- checkThatSidesDiffer: escapeBlock "If the change sets on both sides of the dual sorter are the same, put up an error message and escape via escapeBlock, else proceed happily" + parent ifNil: [^ escapeBlock value]. "Not relevant unless in dual change sorter." + (myChangeSet == (parent other: self) changeSet) ifTrue: [self inform: 'This command requires that the change sets selected on the two sides of the change sorter *not* + be the same.' translated. - be the same.'. ^ escapeBlock value] ! Item was changed: ----- Method: Debugger>>preDebugMessageString (in category 'toolbuilder') ----- preDebugMessageString + ^ message ifNil: ['An error has occurred; you should probably just hit ''abandon''. Sorry!!' translated].! - ^ message ifNil: ['An error has occurred; you should probably just hit ''abandon''. Sorry!!'].! Item was changed: ----- Method: DualChangeSorter class>>registerInFlapsRegistry (in category 'class initialization') ----- registerInFlapsRegistry "Register the receiver in the system's flaps registry" self environment at: #Flaps + ifPresent: [:cl | cl registerQuad: {#DualChangeSorter, #prototypicalToolWindow. 'Change Sorter' translatedNoop. 'Shows two change sets side by side' translatedNoop} - ifPresent: [:cl | cl registerQuad: #(DualChangeSorter prototypicalToolWindow 'Change Sorter' 'Shows two change sets side by side') forFlapNamed: 'Tools']! Item was changed: ----- Method: FileContentsBrowser class>>serviceBrowseCode (in category 'file list services') ----- serviceBrowseCode "Answer the service of opening a file-contents browser" ^ (SimpleServiceEntry provider: self + label: 'code-file browser' translatedNoop - label: 'code-file browser' selector: #browseStream: + description: 'open a "file-contents browser" on this file, allowing you to view and selectively load its code' translatedNoop + buttonLabel: 'code' translatedNoop) - description: 'open a "file-contents browser" on this file, allowing you to view and selectively load its code' - buttonLabel: 'code') argumentGetter: [ :fileList | fileList readOnlyStream ]! Item was changed: ----- Method: FileContentsBrowser class>>serviceBrowseCodeFiles (in category 'file list services') ----- serviceBrowseCodeFiles ^ (SimpleServiceEntry provider: self + label: 'browse code files' translatedNoop - label: 'browse code files' selector: #selectAndBrowseFile:) argumentGetter: [ :fileList | fileList ]; yourself! Item was changed: ----- Method: FileContentsBrowser class>>serviceBrowseCompressedCode (in category 'file list services') ----- serviceBrowseCompressedCode "Answer a service for opening a changelist browser on a file" ^ (SimpleServiceEntry provider: self + label: 'code-file browser' translatedNoop - label: 'code-file browser' selector: #browseCompressedCodeStream: + description: 'open a "file-contents browser" on this file, allowing you to view and selectively load its code' translatedNoop + buttonLabel: 'code' translatedNoop) - description: 'open a "file-contents browser" on this file, allowing you to view and selectively load its code' - buttonLabel: 'code') argumentGetter: [ :fileList | fileList readOnlyStream ]! Item was changed: ----- Method: FileList class>>registerInFlapsRegistry (in category 'class initialization') ----- registerInFlapsRegistry "Register the receiver in the system's flaps registry" self environment at: #Flaps + ifPresent: [:cl | cl registerQuad: {#FileList . #prototypicalToolWindow, 'File List' translatedNoop. 'A File List is a tool for browsing folders and files on disks and on ftp types.' translatedNoop} - ifPresent: [:cl | cl registerQuad: #(FileList prototypicalToolWindow 'File List' 'A File List is a tool for browsing folders and files on disks and on ftp types.') forFlapNamed: 'Tools']! Item was changed: ----- Method: FileList>>deleteDirectory (in category 'volume list and pattern') ----- deleteDirectory "Remove the currently selected directory" | localDirName | + directory entries size = 0 ifFalse:[^self inform:'Directory must be empty' translated]. + localDirName _ directory localName. + (self confirm: ('Really delete {1}?' translated format: {localDirName})) ifFalse: [^ self]. - directory entries size = 0 ifFalse:[^self inform:'Directory must be empty']. - localDirName := directory localName. - (self confirm: 'Really delete ' , localDirName , '?') ifFalse: [^ self]. self volumeListIndex: self volumeListIndex-1. directory deleteDirectory: localDirName. self updateFileList.! Item was changed: ----- Method: FileList>>serviceAddNewDirectory (in category 'own services') ----- serviceAddNewDirectory "Answer a service entry characterizing the 'add new directory' command" ^ SimpleServiceEntry provider: self + label: 'add new directory' translatedNoop - label: 'add new directory' selector: #addNewDirectory + description: 'adds a new, empty directory (folder)' translatedNoop! - description: 'adds a new, empty directory (folder)' ! Item was changed: ----- Method: FileList>>serviceAddNewFile (in category 'own services') ----- serviceAddNewFile "Answer a service entry characterizing the 'add new file' command" + ^ SimpleServiceEntry + provider: self + label: 'add new file' translatedNoop + selector: #addNewFile + description: 'create a new,. empty file, and add it to the current directory.' translatedNoop! - ^ SimpleServiceEntry provider: self label: 'add new file' selector: #addNewFile description: 'create a new,. empty file, and add it to the current directory.'! Item was changed: ----- Method: FileList>>serviceAllFileOptions (in category 'own services') ----- serviceAllFileOptions + ^ {SimpleServiceEntry + provider: self + label: 'more...' translatedNoop + selector: #offerAllFileOptions + description: 'show all the options available' translatedNoop}! - ^ {SimpleServiceEntry provider: self label: 'more...' selector: #offerAllFileOptions description: 'show all the options available'}! Item was changed: ----- Method: FileList>>serviceCompressFile (in category 'own services') ----- serviceCompressFile "Answer a service for compressing a file" + ^ SimpleServiceEntry + provider: self + label: 'compress' translatedNoop + selector: #compressFile + description: 'compress file' translatedNoop + buttonLabel: 'compress' translatedNoop! - ^ SimpleServiceEntry provider: self label: 'compress' selector: #compressFile description: 'compress file' buttonLabel: 'compress'! Item was changed: ----- Method: FileList>>serviceCopyName (in category 'own services') ----- serviceCopyName + ^ (SimpleServiceEntry + provider: self + label: 'copy name to clipboard' translatedNoop + selector: #copyName + description:'copy name to clipboard' translatedNoop )! - ^ (SimpleServiceEntry provider: self label: 'copy name to clipboard' selector: #copyName description:'copy name to clipboard' )! Item was changed: ----- Method: FileList>>serviceDeleteFile (in category 'own services') ----- serviceDeleteFile + ^ (SimpleServiceEntry + provider: self + label: 'delete' translatedNoop + selector: #deleteFile) + description: 'delete the seleted item' translatedNoop! - ^ (SimpleServiceEntry provider: self label: 'delete' selector: #deleteFile) - description: 'delete the seleted item'! Item was changed: ----- Method: FileList>>serviceGet (in category 'own services') ----- serviceGet "Answer a service for getting the entire file" ^ (SimpleServiceEntry provider: self + label: 'get entire file' translatedNoop - label: 'get entire file' selector: #get + description: 'if the file has only been partially read in, because it is very large, read the entire file in at this time.' translatedNoop)! - description: 'if the file has only been partially read in, because it is very large, read the entire file in at this time.')! Item was changed: ----- Method: FileList>>serviceGetEncodedText (in category 'own services') ----- serviceGetEncodedText ^ (SimpleServiceEntry provider: self + label: 'view as encoded text' translatedNoop - label: 'view as encoded text' selector: #getEncodedText + description: 'view as encoded text' translatedNoop) - description: 'view as encoded text') ! Item was changed: ----- Method: FileList>>serviceGetHex (in category 'own services') ----- serviceGetHex ^ (SimpleServiceEntry provider: self + label: 'view as hex' translatedNoop - label: 'view as hex' selector: #getHex + description: 'view as hex' translatedNoop) - description: 'view as hex') ! Item was changed: ----- Method: FileList>>serviceRenameFile (in category 'own services') ----- serviceRenameFile + ^ (SimpleServiceEntry + provider: self + label: 'rename' translatedNoop + selector: #renameFile + description: 'rename file' translatedNoop)! - ^ (SimpleServiceEntry provider: self label: 'rename' selector: #renameFile description: 'rename file')! Item was changed: ----- Method: FileList>>serviceSortByDate (in category 'own services') ----- serviceSortByDate "Answer a service for sorting by date" ^ (SimpleServiceEntry new provider: self + label: 'by date' translatedNoop - label: 'by date' selector: #sortByDate + description: 'sort entries by date' translatedNoop) - description: 'sort entries by date') extraSelector: #sortingByDate; + buttonLabel: 'date' translatedNoop! - buttonLabel: 'date'! Item was changed: ----- Method: FileList>>serviceSortByName (in category 'own services') ----- serviceSortByName "Answer a service for soring by name" ^ (SimpleServiceEntry new + provider: self label: 'by name' translatedNoop + selector: #sortByName + description: 'sort entries by name' translatedNoop) - provider: self label: 'by name' selector: #sortByName - description: 'sort entries by name') extraSelector: #sortingByName; + buttonLabel: 'name' translatedNoop! - buttonLabel: 'name'! Item was changed: ----- Method: FileList>>serviceSortBySize (in category 'own services') ----- serviceSortBySize "Answer a service for sorting by size" ^ (SimpleServiceEntry provider: self + label: 'by size' translatedNoop - label: 'by size' selector: #sortBySize + description: 'sort entries by size' translatedNoop) - description: 'sort entries by size') extraSelector: #sortingBySize; + buttonLabel: 'size' translatedNoop! - buttonLabel: 'size'! Item was changed: ----- Method: FileList>>serviceViewContentsInWorkspace (in category 'own services') ----- serviceViewContentsInWorkspace "Answer a service for viewing the contents of a file in a workspace" + ^ (SimpleServiceEntry provider: self label: 'workspace with contents' translatedNoop + selector: #viewContentsInWorkspace) + description: 'open a new Workspace whose contents are set to the contents of this file' translatedNoop! - ^ (SimpleServiceEntry provider: self label: 'workspace with contents' selector: #viewContentsInWorkspace) - description: 'open a new Workspace whose contents are set to the contents of this file'! Item was changed: ----- Method: FileList2 class>>modalFileSelectorForSuffixes: (in category 'modal dialogs') ----- modalFileSelectorForSuffixes: aList | window aFileList | window := self morphicViewFileSelectorForSuffixes: aList. aFileList := window valueOfProperty: #fileListModel. + aFileList resort: #name. window openCenteredInWorld. - UserInterfaceTheme current applyTo: window allMorphs. self modalLoopOn: window. ^aFileList getSelectedFile! Item was changed: ----- Method: FileList2 class>>morphicViewProjectLoader2InWorld:reallyLoad:dirFilterType: (in category 'blue ui') ----- morphicViewProjectLoader2InWorld: aWorld reallyLoad: aBoolean dirFilterType: aSymbol | window aFileList buttons treePane textColor1 fileListPane pane2a pane2b treeExtent filesExtent | window := AlignmentMorphBob1 newColumn. window hResizing: #shrinkWrap; vResizing: #shrinkWrap. + textColor1 := Color black. - textColor1 := Color r: 0.742 g: 0.839 b: 1.0. aFileList := self new directory: FileDirectory default. + aFileList resort: #name. aFileList optionalButtonSpecs: aFileList servicesForProjectLoader; fileSelectionBlock: ( aSymbol == #limitedSuperSwikiDirectoryList ifTrue: [ MessageSend receiver: self selector: #projectOnlySelectionMethod: ] ifFalse: [ self projectOnlySelectionBlock ] ); "dirSelectionBlock: self hideSqueakletDirectoryBlock;" modalView: window. window setProperty: #FileList toValue: aFileList; wrapCentering: #center; cellPositioning: #topCenter; borderWidth: ColorTheme current dialogBorderWidth; borderColor: ColorTheme current dialogBorderColor; useRoundedCorners. buttons := {{'OK'. ColorTheme current okColor}. {'Cancel'. ColorTheme current cancelColor}} collect: [ :each | self blueButtonText: each first textColor: textColor1 color: each second inWindow: window ]. aWorld width < 800 ifTrue: [ treeExtent := 150@300. filesExtent := 350@300. ] ifFalse: [ treeExtent := 250@300. filesExtent := 350@300. ]. (treePane := aFileList morphicDirectoryTreePaneFiltered: aSymbol) extent: treeExtent; retractable: false; borderWidth: 0. fileListPane := aFileList morphicFileListPane extent: filesExtent; retractable: false; borderWidth: 0. window addARow: { window fancyText: 'Load A Project' translated font: Preferences standardEToysTitleFont color: textColor1 }; addARowCentered: { buttons first. (Morph new extent: 30@5) color: Color transparent. buttons second }; addARow: { window fancyText: 'Please select a project' translated font: Preferences standardEToysFont color: textColor1 }; addARow: { (window inAColumn: {(pane2a := window inARow: {window inAColumn: {treePane}}) useRoundedCorners; layoutInset: 0; borderWidth: ColorTheme current dialogPaneBorderWidth; borderColor: ColorTheme current dialogPaneBorderColor }) layoutInset: 10. (window inAColumn: {(pane2b := window inARow: {window inAColumn: {fileListPane}}) useRoundedCorners; layoutInset: 0; borderWidth: ColorTheme current dialogPaneBorderWidth; borderColor: ColorTheme current dialogPaneBorderColor }) layoutInset: 10. }. window fullBounds. window fillWithRamp: ColorTheme current dialogRampOrColor oriented: 0.65. pane2a fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35). pane2b fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35). " buttons do: [ :each | each fillWithRamp: ColorTheme current dialogButtonsRampOrColor oriented: (0.75 @ 0). ]. " buttons first on: #mouseUp send: (aBoolean ifTrue: [#okHitForProjectLoader] ifFalse: [#okHit]) to: aFileList. buttons second on: #mouseUp send: #cancelHit to: aFileList. aFileList postOpen. window position: aWorld topLeft + (aWorld extent - window extent // 2). window adoptPaneColor: (Color r: 0.548 g: 0.677 b: 1.0). window becomeModal. ^ window openInWorld: aWorld.! Item was changed: ----- Method: FileList2 class>>morphicViewProjectSaverFor: (in category 'blue ui') ----- morphicViewProjectSaverFor: aProject " (FileList2 morphicViewProjectSaverFor: Project current) openInWorld " | window aFileList buttons treePane pane2 textColor1 option treeExtent buttonData buttonRow | + textColor1 := Color black. - textColor1 := Color r: 0.742 g: 0.839 b: 1.0. aFileList := self new directory: ServerDirectory projectDefaultDirectory. aFileList dirSelectionBlock: self hideSqueakletDirectoryBlock. window := AlignmentMorphBob1 newColumn. window hResizing: #shrinkWrap; vResizing: #shrinkWrap. aFileList modalView: window. window setProperty: #FileList toValue: aFileList; wrapCentering: #center; cellPositioning: #topCenter; borderWidth: ColorTheme current dialogBorderWidth; borderColor: ColorTheme current dialogBorderColor; useRoundedCorners. buttonData := Preferences enableLocalSave ifTrue: [{ {'Save'. #okHit. 'Save in the place specified below, and in the Squeaklets folder on your local disk'. ColorTheme current okColor}. {'Save on local disk only'. #saveLocalOnlyHit. 'saves in the Squeaklets folder'. ColorTheme current okColor}. {'Cancel'. #cancelHit. 'return without saving'. ColorTheme current cancelColor} }] ifFalse: [{ {'Save'. #okHit. 'Save in the place specified below, and in the Squeaklets folder on your local disk'. ColorTheme current okColor}. {'Cancel'. #cancelHit. 'return without saving'. ColorTheme current cancelColor} }]. buttons := buttonData collect: [ :each | (self blueButtonText: each first textColor: textColor1 color: each fourth inWindow: window) setBalloonText: each third translated; hResizing: #shrinkWrap; on: #mouseUp send: each second to: aFileList ]. option := aProject world valueOfProperty: #SuperSwikiPublishOptions ifAbsent: [#initialDirectoryList]. aProject world removeProperty: #SuperSwikiPublishOptions. treeExtent := World height < 500 ifTrue: [ 350@150 ] ifFalse: [ 350@300 ]. (treePane := aFileList morphicDirectoryTreePaneFiltered: option) extent: treeExtent; retractable: false; borderWidth: 0. window addARowCentered: { window fancyText: 'Publish This Project' translated font: Preferences standardEToysTitleFont color: textColor1 }. buttonRow := OrderedCollection new. buttons do: [:button | buttonRow add: button] separatedBy: [buttonRow add: ((Morph new extent: 30@5) color: Color transparent)]. " addARowCentered: { buttons first. (Morph new extent: 30@5) color: Color transparent. buttons second. (Morph new extent: 30@5) color: Color transparent. buttons third };" window addARowCentered: buttonRow; addARowCentered: { (window inAColumn: {(ProjectViewMorph on: aProject) lock}) layoutInset: 4}; addARowCentered: { window fancyText: 'Please select a folder' translated font: Preferences standardEToysFont color: textColor1 }; addARow: { ( window inAColumn: { (pane2 := window inARow: {window inAColumn: {treePane}}) useRoundedCorners; layoutInset: 0; borderWidth: ColorTheme current dialogPaneBorderWidth; borderColor: ColorTheme current dialogPaneBorderColor } ) layoutInset: 10 }. window fullBounds. window fillWithRamp: ColorTheme current dialogRampOrColor oriented: 0.65. pane2 fillWithRamp: ColorTheme current dialogPaneRampOrColor oriented: (0.7 @ 0.35). " buttons do: [ :each | each fillWithRamp: ColorTheme current dialogButtonsRampOrColor oriented: (0.75 @ 0). ]. " window setProperty: #morphicLayerNumber toValue: 11. aFileList postOpen. window adoptPaneColor: (Color r: 0.548 g: 0.677 b: 1.0). ^ window ! Item was changed: ----- Method: FileList2>>serviceCancel (in category 'own services') ----- serviceCancel "Answer a service for hitting the cancel button" ^ (SimpleServiceEntry new + provider: self + label: 'cancel' translatedNoop + selector: #cancelHit + description: 'hit here to cancel ' translatedNoop) + buttonLabel: 'cancel' translatedNoop! - provider: self label: 'cancel' selector: #cancelHit - description: 'hit here to cancel ') - buttonLabel: 'cancel'! Item was changed: ----- Method: FileList2>>serviceOkay (in category 'own services') ----- serviceOkay "Answer a service for hitting the okay button" ^ (SimpleServiceEntry new + provider: self + label: 'okay' translatedNoop + selector: #okHit + description: 'hit here to accept the current selection' translatedNoop) + buttonLabel: 'ok' translatedNoop! - provider: self label: 'okay' selector: #okHit - description: 'hit here to accept the current selection') - buttonLabel: 'ok'! Item was changed: ----- Method: FileList2>>serviceOpenProjectFromFile (in category 'own services') ----- serviceOpenProjectFromFile "Answer a service for opening a .pr project file" ^ SimpleServiceEntry provider: self + label: 'load as project' translatedNoop - label: 'load as project' selector: #openProjectFromFile + description: 'open project from file' translatedNoop + buttonLabel: 'load' translatedNoop! - description: 'open project from file' - buttonLabel: 'load'! Item was changed: ----- Method: ProcessBrowser class>>registerInFlapsRegistry (in category 'class initialization') ----- registerInFlapsRegistry "Register the receiver in the system's flaps registry" self environment at: #Flaps + ifPresent: [:cl | cl registerQuad: {#ProcessBrowser. #prototypicalToolWindow. 'Processes' translatedNoop. 'A Process Browser shows you all the running processes' translatedNoop} - ifPresent: [:cl | cl registerQuad: #(ProcessBrowser prototypicalToolWindow 'Processes' 'A Process Browser shows you all the running processes') forFlapNamed: 'Tools'.]! |
Free forum by Nabble | Edit this page |