|
Class: WorkspaceApplication
Object
|
+--Model
|
+--ApplicationModel
|
+--ToolApplicationModel
|
+--MultiViewToolApplication
|
+--WorkspaceApplication
- Package:
- stx:libtool
- Category:
- Interface-Smalltalk
- Version:
- rev:
1.419
date: 2024/04/09 13:24:15
- user: stefan
- file: WorkspaceApplication.st directory: libtool
- module: stx stc-classLibrary: libtool
A simple wrapper around a WorkSpace-View, adding a pullDown menu.
copyrightCOPYRIGHT (c) 2001 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.
defaults
-
default
-
a place where the default workspaceApplication could be hooked in;
see SystemBrowser default and FileBrowser default on the intention...
-
defaultEditToolbarVisible
-
-
defaultInfoVisible
-
-
defaultMyWorkspaceDotWspFile
-
-
defaultToolbarVisible
-
-
filterTemplate
-
-
generatorTemplate
-
-
textProcessorTemplate
-
-
webServiceLinkName
-
help specs
-
helpSpec
-
image specs-execution
-
runScriptIcon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self runScriptIcon inspect
ImageEditor openOnClass:self andSelector:#runScriptIcon
Icon flushCachedIcons
|
-
runScriptWithDebugIcon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self runScriptWithDebugIcon inspect
ImageEditor openOnClass:self andSelector:#runScriptWithDebugIcon
Icon flushCachedIcons
|
interface specs
-
manageSnippetsDialogSpec
-
This resource specification was automatically generated
by the UIPainter of ST/X.
Usage example(s):
UIPainter new openOnClass:WorkspaceApplication andSelector:#manageSnippetsDialogSpec
WorkspaceApplication new openInterface:#manageSnippetsDialogSpec
|
-
toolBarSpec
-
This resource specification was automatically generated
by the UIPainter of ST/X.
Usage example(s):
UIPainter new openOnClass:WorkspaceApplication andSelector:#toolBarSpec
WorkspaceApplication new openInterface:#toolBarSpec
|
-
windowSpec
-
This resource specification was automatically generated
by the UIPainter of ST/X.
Usage example(s):
UIPainter new openOnClass:WorkspaceApplication andSelector:#windowSpec
WorkspaceApplication new openInterface:#windowSpec
WorkspaceApplication open
|
-
windowSpecForInfoBar
-
This resource specification was automatically generated
by the UIPainter of ST/X.
Usage example(s):
UIPainter new openOnClass:WorkspaceApplication andSelector:#windowSpecForInfoBar
WorkspaceApplication new openInterface:#windowSpecForInfoBar
|
menu specs
-
bufferAddMenuSlice
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#bufferAddMenuSlice
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication bufferAddMenuSlice)) startUp
|
-
bufferMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#bufferMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication bufferMenu)) startUp
|
-
editMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#editMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication editMenu)) startUp
|
-
editModeInfoLabelMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#editModeInfoLabelMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication editModeInfoLabelMenu)) startUp
|
-
editToolBarMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#editToolBarMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication editToolBarMenu)) startUp
|
-
executionMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#executionMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication executionMenu)) startUp
|
-
fileMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#fileMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication fileMenu)) startUp
|
-
helpMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#helpMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication helpMenu)) startUp
|
-
languageInfoLabelMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#languageInfoLabelMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication languageInfoLabelMenu)) startUp
|
-
mainMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#mainMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication mainMenu)) startUp
|
-
manageSnippetDialogMenuSpec
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#manageSnippetDialogMenuSpec
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication manageSnippetDialogMenuSpec)) startUp
|
-
smalltalkMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#smalltalkMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication smalltalkMenu)) startUp
|
-
toolBarMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#toolBarMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication toolBarMenu)) startUp
|
-
viewMenuExtraSlice
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
-
workspaceMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:WorkspaceApplication andSelector:#workspaceMenu
(Menu new fromLiteralArrayEncoding:(WorkspaceApplication workspaceMenu)) startUp
|
private
-
createWorkspaceView
-
special startup
-
openEvaluationWorkspace
-
a workspace specially for beginners, learning Smalltalk
Usage example(s):
self openEvaluationWorkspace
|
-
openForSinglePageDoing: aBlock
-
the original Workspace
-
openMyWorkspace
-
a workspace where I hold my personal expressions and snippets for doIts
Usage example(s):
openMyWorkspace_new leads to an error in root /, which we don't understand...
|
Usage example(s):
self openMyWorkspace_old.
|
Usage example(s):
WorkspaceApplication openMyWorkspace
|
-
openMyWorkspace_new
-
open showing tabs for ALL bookmarked workspace files
-
openMyWorkspace_old
-
open showing the single file: MyWorkspace.wsp
-
openOnFile: aFilename
-
launch a new workspace on the contents of some file
Usage example(s):
WorkspaceApplication openOnFile:'Makefile'
|
-
openScriptingWorkspace
-
a workspace specially for script development
-
openSpecialWorkspaceWith: aBlock named: name
-
common helper
-
openSystemWorkspace
-
the system workspace shows multiple tabs with hello, intro, help, etc...
Usage example(s):
|ws b|
ws := self openSystemWorkspace.
ws addMyWorkspace.
ws selectedWorkspaceIndexHolder value:(ws workspaces size).
ws selectedWorkspace contents:'Tools::NewSystemBrowser open'; selectAll.
ws selectedWorkspace
add:(b := Button label:'DoIt' action:[ws doIt. b destroy])
|
-
openWith: initialText
-
launch a new workspace with some initial contents.
The workspace will be opened in smalltalk syntax mode
Usage example(s):
WorkspaceApplication openWith:'Transcript showCR:''hello world'''
|
-
openWith: initialText selected: selectedBoolean
-
launch a new workspace with some initial contents.
The workspace will be opened in smalltalk syntax mode
Usage example(s):
WorkspaceApplication openWith:'Transcript showCR:''hello world'''
|
-
openWith: initialText selected: selectedBoolean title: titleString
-
launch a new workspace with some initial contents.
The workspace will be opened in smalltalk syntax mode
Usage example(s):
WorkspaceApplication
openWith:'Transcript showCR:''hello world'''
selected:false
title:'hello'
|
-
openWithGlobalsInspector
-
open a workspaceApp with a single initial pane, showing global variables.
Same as Smalltalk inspect, but looks nicer...
Usage example(s):
self openWithGlobalsInspector
|
-
openWithText: initialText
-
like openWith, but will set the language to 'text', so it is not incorrectly syntax highlighted
Usage example(s):
WorkspaceApplication openWithText:'foo 1 2 3 4'
|
-
openWithWorkspaceVariableInspector
-
open a workspaceApp with a single initial pane, showing workspace variables.
Same as Workspace workspaceVariables inspect, but looks nicer...
Usage example(s):
self openWithWorkspaceVariableInspector
|
startup
-
open
-
the very first open opens a MyWorkspace
Usage example(s):
MyWorkspaceOpened := nil.
WorkspaceApplication open.
|
-
openRegularWorkspace
-
always open a normal MyWorkspace
-
openSnippetsManageDialogFor: anInstance
-
open the snippet management dialog
Usage example(s):
self openSnippetsManageDialogFor:nil
|
aspects
-
autoDefineVariables
-
a value holder
-
autoFetchSelectionHolder
-
autoFetchSelection will automatically copy the current selection
and paste it at the cursor.
This makes it easy to collect multiple text fragments
(i.e. without having to go through the popup menus every time)
-
autoFetchSelectionMenuItemVisible
-
autoFetchSelection will automatically copy the current selection
and paste it at the cursor.
This makes it easy to collect multiple text fragments
(i.e. without having to go through the popup menus every time)
-
bookmarks
-
-
browseItMenuButtonVisible
-
-
canChangeLanguageHolder
-
return/create the 'canChangeLanguageHolder' value holder (automatically generated)
-
canChangeLanguageHolder: aValueHolder
-
set the 'canChangeLanguageHolder' value holder (automatically generated)
-
cursorColHolder
-
-
cursorColLabelHolder
-
-
cursorLineAndColumnLabelHolder
-
-
cursorLineHolder
-
-
cursorLineLabelHolder
-
-
deadKeysEnabledHolder
-
the current buffer's line-end cursor mode
-
deadKeysEnabledInAllEditorsHolder
-
all editor's dead key mode mode
-
doItMenuButtonVisible
-
-
editModeST80CursorHolder
-
the current buffer's line-end cursor mode
-
hasCryptLoaded
-
-
hasCryptedCodeLoaded
-
-
hasHistory
-
-
hasInfoLabel
-
-
inspectItMenuButtonVisible
-
-
languageInfoLabelHolder
-
'Syntax: ',
-
modeLabelHolder
-
-
namespaceHolder
-
-
namespaceInfoLabelHolder
-
-
printIntegersAsHolder
-
-
printItMenuButtonVisible
-
-
profileItMenuButtonVisible
-
-
setWindowLabel: label
-
Modified (format): / 15-03-2021 / 15:02:37 / cg
-
setWindowLabel: label language: language
-
-
smalltalkMenuEnabledHolder
-
-
syntax: aProgrammingLanguageOrNil
-
the argument must sth. like SmalltalkLanguage
-
syntaxHolder
-
-
toolBarView
-
aspects-queries
-
anyWorkspaceVariableIsDefined
-
-
canAddBookmark
-
true
-
canUndoEdit
-
-
isSQLWorkspaceAvailable
-
-
isSQLWorkspaceSelected
-
-
isScriptingWorkspaceSelected
-
-
isWebBrowserAvailable
-
-
selectedWorkspaceIsTextView
-
autofetch selection
-
autoFetchSelection
-
if on, the clipboard is watched, and when changed automatically pasted
-
autoFetchSelection: aBoolean
-
if on, the clipboard is watched,
and whenever it changes, it will be automatically pasted
-
autoFetchSelectionLines
-
-
itemFromClipboard
-
fetch the clipBoard text and paste it selected.
-
selectionClear: foo
-
Transcript showCR:foo.
-
startClipboardWatcher
-
-
stopClipboardWatcher
-
-
waitForClipBoardToChange
-
endless loop, watching out for clipBoard changes.
Then pastes the text at the cursor position.
Should be forked off
defaults
-
defaultEvaluatorSyntax
-
-
defaultFileNameForLoad
-
-
defaultFileNameForSave
-
eval-ws
-
defaultFileNameForSaveAll
-
-
defaultNameSpaceForDoIts
-
-
defaultPatternLoad
-
-
executeMenuVisible
-
-
thisIsASmalltalkWorkspace
-
can be redefined in a subclass to disable smalltalk-specific menu items
(expecco uses workspaces as scratchpads)
-
thisIsASmalltalkWorkspaceAndAutoFetchMenuItemVisible
-
Modified (format): / 18-11-2022 / 11:14:23 / cg
-
thisWorkspaceCanEvaluate
-
can be redefined in a subclass to disable smalltalk-specific menu items
(expecco uses workspaces as scratchpads)
-
workspaceMenuVisible
-
drag & drop
-
droppedFile: aFilename in: aComponent
-
this is a notification from my textView component
help specs
-
helpSpec
-
dynamically adjust the menuSave item's helpText
-
updateHelpSpec: aSpec
-
dynamically adjust the menuSave item's helpText (ask for name or use previous name)
initialization & release
-
closeRequest
-
asks for permission before closing
-
initialSyntax: aLanguage
-
-
initialize
-
autoDefineDefault := #doIt.
-
postBuildEditModeInfoLabel: aLabel
-
-
postBuildWith: aBuilder
-
force geometry update
-
postOpenWith: aBuilder
-
(comment from inherited method)
starts the active help for this tool (if turned on in the settings)
and updates the info label and the font's (from the settings)
-
processEvent: anEvent
-
filter double click in line-label.
Return true, if I have eaten the event
menu-actions
-
addWorkspaceVariable
-
-
askForEncryptionKeyFor: algorithm
-
-
askForFilterBlock: message template: template rememberIn: nameOfClassVar
-
-
askForFilterBlock: message template: template rememberIn: nameOfClassVar openFilteredInto: openFilteredHolder
-
ask for a filter block, to reject lines.
openFiltered is invoked wth a boolean to specify if the rejected lines should be shown
or else removed from the text
-
autoDefineVariablesChanged
-
-
basicInspectIt
-
forwarded from main menu to my current workspace
-
browseImplementors
-
-
browseImplementorsOfIt
-
-
browseIt
-
forwarded from main menu to my current workspace
-
browseReferencesToIt
-
-
browseSenders
-
-
checkForUnencryptedSave
-
return false, if user does NOT want to save it unencrypted
-
clearHistory
-
-
compareTextAgainst
-
-
debugIt
-
forwarded from main menu to my current workspace
-
encryptionAlgorithm
-
-
findClassAndBrowse
-
-
inspectIt
-
forwarded from main menu to my current workspace
-
inspectIt: isBasicInspector
-
forwarded from main menu to my current workspace
-
inspectWorkspaceVariables
-
opens an inspector on GLOBAL workspace variables
-
loadFile: aFileName encoding: encodingSymbolOrNil label: label
-
This small hack allows programmers to have their own
MyWorkspace.wsp in their ~/.smalltalk directory
-
manageSnippets
-
open the snippet management dialog
Usage example(s):
self openDialogInterface:#manageSnippetsDialogSpec withBindings:bindings
|
-
menuLoadEncryptedFrom
-
ask for a key and a filename, then decrypt and show the contents.
Useful for pasword files
-
menuSQLConnect
-
for the SQL workspace, to connect via the main menu
-
menuSave
-
menu operation: save the selected tab's contents to a file
-
menuSaveAs
-
redefined to check if the original came from an encrypted file,
before a dialog asking for a filename and saving unencrypted
-
menuSaveAsScript
-
ask for a name then save as an stx script file
-
menuSaveAsScriptAs: filenameOrNil
-
if filenameOrNil is nil, ask for a name first;
then save as an stx script file.
Returns the filename or nil, if not saved (i.e. when user cancels the dialog)
-
menuSaveEncryptedAs
-
place the size info at some random position within the random bytes
-
newEvaluationWorkspace
-
open a new window with an evaluation workspace
-
newScriptingWorkspace
-
open a new window with a scripting workspace
-
newSystemWorkspace
-
open a new window with a system workspace
-
openDocumentation
-
opens the documentation file
-
openEditingDocumentation
-
opens the documentation file
-
pasteAndExecute: aString
-
-
pasteSnippet
-
choose a snippet in a dialog and paste it
-
profileIt
-
forwarded from main menu to my current workspace
-
redoLastDoIt
-
-
removeAllWorkspaceVariables
-
removes all global workspace variables
-
removeGlobalVariable
-
-
removeSharedPool
-
-
removeWorkspaceVariable
-
-
renameWorkspace: wsIndex to: newName
-
-
saveAsScriptAs: filename
-
save as an stx script file (writes both a scriptand a bat for windows)
-
saveBatchForScript: scriptFilename
-
saves a .bat to call the script
-
setCompilerForSyntax
-
-
setCompilerForSyntaxIn: aWorkspace
-
compilerClass := (language evaluatorClass "self compilerClassForSyntaxName:syntax").
-
setNameSpaceForDoIts
-
-
spyOnIt
-
forwarded from main menu to my current workspace
-
switchToBookmarkEntry: bookmark
-
-
terminateBackgroundProcesses
-
-
timeIt
-
forwarded from main menu to my current workspace
menu-actions-adding
-
addBookmark
-
-
addClassVariableInspector
-
-
addEvaluationWorkspace
-
-
addGlobalVariable
-
-
addGlobalVariableInspector
-
-
addInspectorOn: aValue basic: isBasicInspector suppressPseudoSlots: suppressPseudoSlots
-
Inspector2 does not work yet!
-
addInspectorOn: aValue inspectorClass: inspectorClass suppressPseudoSlots: suppressPseudoSlots
-
v allowFollow:true.
-
addMyWorkspace
-
-
addNamespaceInspector
-
-
addNamespaceInspectorFor: aNameSpaceOrSharedPool
-
-
addSQLWorkspace
-
-
addScriptingWorkspace
-
-
addSelectionToSnippets
-
add a snippet for the selected string
-
addSharedPool
-
-
addSharedPoolInspector
-
-
addStopWatch
-
avoid making stx:libwidg3 a prerequisite.
-
addTeaTimer
-
you think that is a useless gimmick ?
I use it in the office and as a wakeup clock timer
-
addTerminal
-
mhm - xterm embedding seems to no longer work; the default from user prefs is therefore false
-
addWebBrowser
-
-
addWorkspaceVariableInspector
-
adds an inspector on GLOBAL workspace variables
-
addWorkspaceWithSameContents
-
-
menuAddBookmarkTo: folder
-
not a text view - nothing to bookmark
menu-actions-editing
-
changesBrowserOnText
-
-
editBookmarks
-
-
editModeInsert
-
-
editModeInsertAndSelect
-
-
editModeOverwrite
-
-
fileInSelectedText
-
filein the selected workspace's selected contents as if read from a file
-
fileInText
-
filein the selected workspace's contents as if read from a file
-
filterText
-
a filterblock is asked for, which is applied to the
selected line range.
Each line for which the filter evaluats to false is removed
-
generateText
-
a generatorblock is asked for, which is evaluated to generate
lines onto an output stream.
The generated text is inserted (or replaces the current selection)
-
googleSpellingSuggestion
-
-
googleTranslate: fromToModeString
-
translate the selected text and paste it after the selection.
-
indent
-
-
pasteLastDoIt
-
-
processText
-
a block is asked for, which is applied to each line of the selected line range.
Each line is replaced by the corresponding output of the processing block
-
undent
-
-
undoEdit
-
menu-dynamic
-
bookmarkMenu
-
-
editModeInfoLabelMenu
-
-
languageListMenuSlice
-
dynamically generate a slice containing the available
programming languages
-
makeRecentDoItsMenuFor: aSelector
-
-
namespaceInfoLabelMenu
-
-
namespaceInfoLabelMenuHolder
-
-
pasteRecentDoItMenu
-
-
recentDoItsMenuFor: aSelector
-
-
redoRecentDoItMenu
-
private
-
askIfAnyModified: question yesButton: yesButtonText
-
reset modified flag so question is asked only once
-
compilerClassForSyntaxName: syntax
-
-
compilerClassOf: aWorkspace
-
catch, because it could be a non-edit view there (VT100, TeaTimer etc.)
-
createEvaluationWorkspace
-
this workspace is neat in having separate panes
for input, output and a list of recent expresson results.
It is also perfect for beginners (but not only).
-
createScriptingWorkspace
-
this workspace is perfect for script development (stx --script file.st).
It adds an input view, an output view and highlights stdErr in a separate color.
Lets the script run in a separate, fresh and clean ST/X
-
createWorkspace
-
create a view to be put into a tab
-
createWorkspaceView
-
create normal workspace tab
-
createWorkspaceViewForText
-
creates a language unaware workspace
-
do: theCode in: workspace withExecTimeInfoIn: timeLabel showResultIn: resultViewOrNil
-
timeLabel helpText:'Code executed by a slow AST interpreter; time includes parse time'.
-
isModifiedWorkspace: aView
-
-
lastDoItsString
-
-
selectedLintRules
-
bad obfuscated design; this is called from the LintService to ask for a lintRule set;
I'd rather set this explicitly (I call you) instead of you call me
-
syntaxFromEvaluatorClass: aClass
-
knowing the evaluator class, determine the syntax highlighter class
-
workspaceSelectionChanged
-
attach line, col and mode holders to the current workspace window
special startup
-
openSystemWorkspace
-
create the tabs for the initial welcome system workspace
Usage example(s):
|ws b|
ws := self openSystemWorkspace.
ws addMyWorkspace.
ws selectedWorkspaceIndexHolder value:(ws workspaces size).
ws selectedWorkspace contents:'Tools::NewSystemBrowser open'; selectAll.
ws selectedWorkspace
add:(b := Button label:'DoIt' action:[ws doIt. b destroy])
|
user actions
-
infoVisibilityChanged
-
(comment from inherited method)
#CodeView.
-
namespaceChangedByUser
-
remember as default for next new workspace
-
runScriptIn: ws debug: debug
-
Run button of a scripting workspace was pressed.
Save the script, execute it with stx --script
-
syntaxChangedByUser
-
remember as default for next new workspace
-
toolBarVisibilityChanged
-
(comment from inherited method)
force it to recompute its dimension
|