|
Class: AbstractLauncherApplication
Object
|
+--Model
|
+--ApplicationModel
|
+--ToolApplicationModel
|
+--AbstractLauncherApplication
|
+--NewLauncher
- Package:
- stx:libtool
- Category:
- Interface-Smalltalk
- Version:
- rev:
1.620
date: 2024/03/19 11:52:47
- user: cg
- file: AbstractLauncherApplication.st directory: libtool
- module: stx stc-classLibrary: libtool
This is an abstract class, providing mechanisms and common functionality
for launcher-type applications. Subclasses may implement their GUI either
with or without the UIPainter framework, and still use the common functions
provided here.
copyrightCOPYRIGHT (c) 1997 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.
accessing
-
closeAllLaunchers
-
close all opened launchers
Usage example(s):
self closeAllLaunchers.
NewLauncher open
|
-
current
-
return the launcher running on the current screen.
(for access via addMenu/ removeMenu)
Usage example(s):
-
openLaunchers
-
return all opened launchers
defaults
-
notifyingEmergencyHandler
-
return a block (used as an emergency handler
for exceptions), which does errorNotification before going
into the debugger.
image specs
-
communicationIcon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self communicationIcon inspect
ImageEditor openOnClass:self andSelector:#communicationIcon
Icon flushCachedIcons
|
-
cross2Icon
-
This resource specification was automatically generated
by the ImageEditor of ST/X.
Usage example(s):
self cross2Icon inspect
ImageEditor openOnClass:self andSelector:#cross2Icon
Icon flushCachedIcons
|
-
httpServerIcon
-
-
systemBrowser24x24Icon
-
queries
-
isAbstract
-
Return if this class is an abstract class.
True is returned here for myself only; false for subclasses.
Abstract subclasses must redefine this again.
settings application list
-
addSettingsApplicationByClass: aClass withName: aName icon: anIcon
-
Ignore existing entries found in SettingsList for that name
-
allSettingsList
-
-
defaultSettingsApplicationList
-
cg: moved it to SettingsDialog - everyone is expecting it there and had to search it...
-
expandSettingsList: rawList
-
this expands a raw settings list,
by looking for entries with a block in their class name.
If any such is present, it is evaluated, returning
a collection of actual entries to use. Then, also % entries in
the name and icon are evaluated by sending corresponding messages
to the collected classes.
This allows for easy dynamic construction of more complicated
lists, for example to adapt to the set of loaded classes dynamically.
-
initializeSettingsList
-
self withAllSubclassesDo:[:cls | cls initializeSettingsList ]
-
removeSettingsApplicationByClass: aClass
-
-
removeSettingsEntry: entry forSettingsApp: aSettingsApp
-
-
settingsList
-
do NOT cache SettingsList
-
userSettingsList
-
settings dialog
-
openSettings
-
-
openSettingsAndSelect: selectedPageName
-
-
openSettingsFor: requestor
-
-
openSettingsFor: requestor andSelect: selectedPageName
-
settingsApp requestor:self.
utilities
-
openLoadPackageDialog
-
open a dialog showing wellknown packages (listed in the packages directory)
and offer to load the selected one(s).
TODO: make this a little app instead of an ad-hoc dialog,
add remote packages (central goody repository?)
actions - file
-
snapshot
-
saves a snapshot image, after asking for a fileName
Usage example(s):
snapshot failed for some reason (disk full, no permission etc.)
|
-
snapshotAndExit
-
saves a snapshot image and exits, after asking for a fileName
drag & drop
-
canDropObjects: aCollectionOfDropObjects
-
Any object can be dropped into workspace...
-
dropFileObject: aFilename
-
-
dropObjects: aCollectionOfObjects
-
Any object can be dropped:
text: open a workspace
file:
.st - open a cange-browser
other - open a fileBrowser
-
dropTextObject: aDropContext
-
menu actions - tools
-
clearAllCoverageInfo
-
clear all coverage information
-
startSUnitTestRunner2
-
open the SUnit test runner
oldStyle-user actions-settings
-
communicationsSettings
-
open a dialog on misc other settings
-
compilerSettings
-
open a dialog on compiler related settings
-
displaySettings
-
open a dialog on display related settings
-
editSettings
-
open a dialog on edit settings
-
fontSettings
-
open a dialog on font related settings
-
javaSettings
-
open a dialog on java-subsystem related settings
-
keyboardSetting
-
open a dialog on keyboard related settings
-
languageSetting
-
open a dialog on language related settings
-
loadSettings
-
restore settings from a settings-file.
-
memorySettings
-
open a dialog on objectMemory related settings
-
messageSettings
-
open a dialog on infoMessage related settings
-
miscSettings
-
open a dialog on misc other settings
-
printerSettings
-
open a dialog on printer related settings
-
saveSettings
-
save settings to a settings-file.
-
settingsDialog: symbolOrBlock
-
-
sourceAndDebuggerSettings
-
open a dialog on misc other settings
-
toolSettings
-
open a dialog on tool settings
-
viewStyleSetting
-
open a dialog on viewStyle related settings
private
-
allTopViewsAndLabelsSortedFilteringWindowGroups: windowGroupFilterOrNil
-
helper returning all windows on ALL SCREENS sorted by a label to suite
-
allTopViewsFilteringWindowGroups: windowGroupFilterOrNil withLabelsDo: aBlock
-
helper enumerating all windows on ALL SCREENS with a label to suite
-
findApplicationClass: classOrClassName nameSpace: aNameSpace
-
find some application, given the classes name.
Look for it in Smalltalk and the given nameSpace
-
findWindow: title
-
a helper for find & destroy and find & raise operations;
let user choose a view and return it; return nil on cancel
-
findWindow: title windowGroupFilter: windowGroupFilterOrNil
-
a helper for find & destroy and find & raise operations;
let user choose a view and return it; return nil on cancel
-
openApplication: classOrClassName
-
open an application, given by the classe name.
-
openApplication: classOrClassName nameSpace: aNameSpace
-
open some application, given the classes name.
Look for it in Smalltalk and the given nameSpace
-
openApplication: classOrClassName nameSpace: aNameSpace with: aSelector
-
open some application, given the classes name.
Look for it in Smalltalk and the given nameSpace
-
openFileBrowser
-
open a fileBrowser
-
pickAView
-
let user pick a view and return it
-
saveScreenImage: anImage defaultName: defaultName
-
ask user for filename, then save an image into a file
-
showDocumentation: aRelativeDocFilePath
-
open an HTML browser on some document
private-settings callBacks
-
changeViewStyleTo: newStyle
-
-
fontBoxForEncoding: encodingMatch
-
open a fontBox, showing fonts which match some encoding
(used when changing to japanese ...)
-
reopenLauncher
-
reopen a new launcher.
for now (since style & language settings currently do
not affect living views ...)
WARNING: bad design: Message known in LauncherDialogs
queries
-
bugReporterAvailable
-
-
hasPDALauncher
-
-
monticelloRepositoryAvailable
-
MCRepositoryBrowser notNil
-
processName
-
return a string to be shown for my process in the
process monitor. This has no semantic meaning, but exists
for your convenience only.
-
remoteImageBrowserAvailable
-
use Smalltalk at: to prevent package dependencies (prerequisites)
-
transcript
-
my transcript
-
windowTreeViewAvailable
-
WindowTreeView notNil
settings dialog
-
openSettings
-
-
settingsClosed
-
startup & release
-
addTopViewsToCurrentProject
-
ignored here - the launcher is always global (i.e. not project private).
-
closeDownViews
-
(comment from inherited method)
uninitializes and closes this tool
-
postBuildWith: aBuilder
-
(comment from inherited method)
this is sent after an interface is built from a spec,
but only iff the appModel is not the same as the topView's app
(i.e. if it is not a build for the same appModel again).
In the other case, postBuildAsSubcanvasWith is invoked.
Can be redefined in subclasses for additional setup after
the view has been built, but not yet opened.
-
reOpen
-
reopen a new launcher.
for now (since style & language settings currently do
not affect living views ...)
-
requestForWindowClose
-
close request from windowing system (window close);
confirm and ask if closing of launcher only or
a Smalltalk-exit is wanted
-
saveAndTerminateRequest
-
some windowManagers can send this, to shutDown an application
but let it save its state before, for later restart.
Although I have not yet encountered such a windowManager,
we are already prepared for this ;-)
user actions-about
-
openLicenseConditions
-
open an HTML browser on the 'LICENCE' document
user actions-classes
-
browseAllBreakAndTracePoints
-
open a browser showing all breakPointed/traced methods
(but, to get rid of them, there is also a menu itme to remove them all)
-
browseContainingString
-
open a browser after asking for a string
Usage example(s):
self basicNew browseContainingString
|
-
browseImplementors
-
open an implementors- browser after asking for a selector
-
browseReferencesToClass
-
open a browser after asking for a class
-
browseResources
-
open a resource- browser after asking for a resource string
-
browseSenders
-
open a senders browser after asking for a selector
-
browseUnboundGlobals
-
open a browser on methods refering to unbound global variables
-
browseUndeclared
-
open a browser on methods refering to undeclared variables
-
clearUndeclaredVariables
-
remove all undeclared variables
-
newSystemBrowserClass
-
-
removeAllBreakAndTracePoints
-
remove all break- and trace points
-
startClassBrowser
-
open a classBrowser; asks for class
-
startClassBrowserOnChangedClasses
-
open a classBrowser on the changeSet
-
startClassBrowserOnChangedMethods
-
open a classBrowser on the changeSet
-
startClassBrowserOnChanges
-
open a classBrowser on the changeSet
-
startClassHierarchyBrowser
-
open a classHierarchyBrowser; asks for class
-
startFullClassBrowser
-
open a fullClass systemBrowser; asks for class
-
startMonticelloRepositoryBrowser
-
open a monticello repository browser. Unfinished & experimental.
-
startRemoteImageBrowser
-
open a remoteImage browser; asks for hostname.
The remote host must have an st/x running with remote browsing enabled.
Sorry, for now, only the old browser supports remote browsing.
-
startSnapshotImageBrowser
-
open a snapshotImage browser; asks for filename.
Sorry, for now, only the old browser supports remote browsing.
user actions-demos
-
startPDALauncher
-
-
startRemoteLauncher
-
-
startRemoteLauncherWithSetup: aSetupBlock
-
"/ Q: should we allow GL graphics on the remote display
user actions-file
-
exit
-
saves a snapshot image and exits, after asking for a fileName
Usage example(s):
do not exit when snapshot writing fails
|
-
fileLoadPackage
-
open a dialog showing wellknown packages (listed in the packages directory)
and offer to load the selected one(s).
TODO: make this a little app instead of an ad-hoc dialog,
add remote packages (central goody repository?),
add a description text view, showing more info about the package (from where?)
-
saveImageAs: aFileName
-
save image in aFilename.
Sender has to handle SnapshotError
user actions-help
-
openDocumentation
-
open an HTML browser on the launcher section in the 'tools/TOP' document.
Called when <F1> is pressed
-
showBookPrintDocument
-
open an HTML browser on the 'book'-printing document
-
showCredits
-
-
showPortInfo
-
-
showRFC
-
-
showTipOfTheDay
-
open a tip-of-the-day window
-
startClassDocumentation
-
open an HTML browser on the 'classDoc/TOP' document
-
startDocumentationIndex
-
open an HTML browser on the 'index' document
-
startDocumentationTool
-
open an HTML browser on the 'TOP' document
-
startLauncherDocumentation
-
open an HTML browser on the launcher section in the 'tools/TOP' document
-
startProgrammersGuide
-
open an HTML browser on the 'programers guide' document
-
startSmalltalkSyntaxCheatSheet
-
open an HTML browser on the 'syntaxCheatSheet' document
-
startSmalltalkTutorial
-
open an HTML browser on 'doc\books\JoyOfST\IntroToST.html' document
-
startToolsDocumentation
-
open an HTML browser on the 'tools/TOP' document
-
startTutorial
-
open an HTML browser on the 'getstart/tutorial.html' document
-
startWhatsNewDocumentation
-
open an HTML browser on the 'whatsNew.html' document
-
startWhatsNewSTX
-
open an HTML browser on the 'relNotes.html' document
user actions-system
-
compressingGarbageCollect
-
perform a compressing garbageCollect
-
flushCachedResources
-
flush all cached resources (e.g. translations).
-
garbageCollect
-
perform a non-compressing garbageCollect
-
objectModuleDialog
-
opens a moduleInfo dialog
-
startStopEventTrace
-
start/stop event tracing for a particular view
user actions-tools
-
inspectGlobalVariables
-
inspect globals
-
inspectWorkspaceVariables
-
inspect workspace variables
-
newProject
-
creates a new project & opens a projectView for it
-
openEvaluationWorkspace
-
-
openMyWorkspace
-
-
openRegularWorkspace
-
-
openScriptingWorkspace
-
-
openSystemWorkspace
-
-
openTerminal
-
-
openTextDiffTool
-
-
openWorkspace
-
-
removeAllWorkspaceVariables
-
remove workspace variables
-
selectProject
-
asks for and switch to another project
-
startBugMessages
-
open the bug reporter
-
startChangeSetBrowser
-
open a change Set Browser on the changes in the system
-
startChangesBrowser
-
open a changebrowser on the change file - either new or old GUI, depending on userPrefs
-
startInternationalLanguageTranslationEditor
-
open the language-string editor (english/german/spanish etc.)
-
startNewChangesBrowser
-
opens the new changeBrowser
-
startNewLauncher
-
opens the new launcher
-
startOldChangesBrowser
-
opens the old changeBrowser
-
startOldLauncher
-
opens the old launcher
-
startSUnitTestRunner
-
open the configured SUnit test runner
-
startSUnitTestRunner1
-
open the SUnit test runner
-
startSmaCCParserGenerator
-
open the SmaCC-ParserGenerator UI
user actions-windows
-
allTopViewsDo: aBlock
-
-
askForAnotherDisplay
-
ask for some other display
-
bringAllWindowsOntoScreen
-
shift & resize all views to be visible.
If there are multiple screens, bring them all onto the screen where the launcher is
Usage example(s):
Transcript topView application bringAllWindowsOntoScreen
|
-
bringWindow: aWindow intoBounds: bounds
-
shift & resize a view to be completely inside bounds.
-
bringWindowOntoScreen: aWindow
-
shift & resize a view to be visible.
If there are multiple screens, bring it onto the screen where the launcher is
-
deIconifyAllWindows
-
Transcript topView application deIconifyAllWindows
-
findAndDestroyWindow
-
find a window (by name) and destroy it
-
findAndInspectWindow
-
find a window (by name) and inspect it
-
findAndMigrateWindow
-
find a window (by name) and migrate it to some other display
-
findAndMigrateWindowBack
-
find a window (by name) and migrate it back to this display
-
findAndRaiseWindow
-
find a window (by name) and raise it
-
fullScreenHardcopy
-
after a second (to allow redraw of views under menu ...),
save the contents of the whole screen.
-
fullScreenHardcopyUngrabbed
-
after a second (to allow redraw of views under menu ...),
save the contents of the whole screen.
-
hardcopyOfView: aView
-
after a second (to allow redraw of views under menu ...),
save a view's contents as bitmap image.
-
iconifyAllWindows
-
-
migrateAllWindows
-
migrate all views to some other display
-
migrateAllWindowsToDisplay
-
migrate all views to the current display
-
migrateAllWindowsToDisplay: aDisplay
-
migrate all views to some other display
-
migrateWindow: aWindow
-
migrate a view to some other display
-
migrateWindow: aWindow withBackOption: withBackOption
-
migrate a view to some other display
-
openWindowTreeInspector
-
-
screenHardcopy
-
let user specify a rectangular area on the screen,
then after a second (to allow redraw of views under menu ...),
save its contents.
-
screenHardcopyAfter: delay withCircle: withCircle
-
after a delay (to allow redraw of views under menu ...),
let user specify a rectangular area on the screen (which is copied),
and optionally another area (which gets an ellipse drawn inside)
and save its contents to a file.
-
screenHardcopyWithCircle
-
let user specify a rectangular area on the screen, then a circled area,
then after a second (to allow redraw of views under menu ...),
save its contents.
-
screenHardcopyWithDelay
-
let user specify a rectangular area on the screen,
then, after some time (to allow user to pull menu or similar...),
save its contents.
-
showFlyByWindowInformation
-
show infos about window under the mouse pointer
-
startWindowTreeView
-
open a windowTree (on a picked topView)
-
startWindowTreeViewForAll
-
open a windowTree on all views in the system
-
viewBrowse
-
let user pick a view and browse its Application class.
Of course, only Smalltalk views are allowed
-
viewDestroy
-
let user pick a view and destroy it.
Even allow destroying non-Smalltalk views
(also for views which I forgot due to some error)
-
viewHardcopy
-
after a second (to allow redraw of views under menu ...),
let user specify a view and save its contents.
-
viewHardcopyAfter: delayTime
-
after a second (to allow redraw of views under menu ...),
let user specify a view and save its contents.
-
viewHardcopyWithDelay
-
after 5 seconds,
let user specify a view and save its contents.
-
viewInspect
-
let user pick a view and inspect it.
Of course, only Smalltalk views are allowed
-
viewMigrate
-
let user pick a view and migrate it to some other display.
Only Smalltalk views are allowed
-
viewSelectAndShrink
-
let user pick a view and shrink it to a reasonable size
Added for stupid mac, to get windows back onto the screen,
which have their resize handle hidden or unreachable.
-
widgetHardcopy
-
after a second (to allow redraw of views under menu ...),
let user specify a widget and save its contents.
LauncherDialogs
PackageLoadDialog
|