|
Class: NewLauncher
Object
|
+--Model
|
+--ApplicationModel
|
+--ToolApplicationModel
|
+--AbstractLauncherApplication
|
+--NewLauncher
- Package:
- stx:libtool
- Category:
- Interface-Smalltalk
- Version:
- rev:
1.636
date: 2024/04/25 13:48:01
- user: stefan
- file: NewLauncher.st directory: libtool
- module: stx stc-classLibrary: libtool
The new launcher.
This one provides all of the Launchers functionality,
but has been written using the new GUI painter tools.
(i.e. its menu and toolbar is defined by specs, which can be
easily modified).
Functionality which can be shared with the old launcher
has been moved to a common superclass.
If you want to write your own (application-)launcher, we recommend
creating a subclass, and redefining the appropriate menu & menuToolBar
methods there.
copyrightCOPYRIGHT (c) 1997-1998 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
-
label
-
defaults
-
defaultInfoLineTemplate
-
available values:
PACKAGE - the current packageID
PACKAGEOREMPTY - the current packageID or empty if it's __NoPackage__
IMAGE - the current snapshot image
CVS - the CVS source repository or empty
DB - the Store source repository DB or empty
SVN_WORKING_COPY- the SVN working copy dir or empty
NOREPOSITORY - the tring 'No Repository' empty
NS - the default namespace, or empty (if Smalltalk)
PROJECTDIR - the default fileOut directory or empty (if current)
-
maxNumItemsInHistoryMenus
-
limit the number of items in those pull-down-menus,
to avoid covering the main-manu
and also to still fit reasonably onto the screen
-
windowIcon
-
help specs
-
helpSpec
-
This resource specification was automatically generated
by the UIHelpTool of ST/X.
interface specs
-
windowSpec
-
^ self windowSpec_new.
-
windowSpec_new
-
This resource specification was automatically generated
by the UIPainter of ST/X.
Usage example(s):
UIPainter new openOnClass:NewLauncher andSelector:#windowSpec_new
NewLauncher new openInterface:#windowSpec_new
|
-
windowSpec_old
-
This resource specification was automatically generated
by the UIPainter of ST/X.
Usage example(s):
UIPainter new openOnClass:NewLauncher andSelector:#windowSpec_old
NewLauncher new openInterface:#windowSpec_old
|
-
windowSpec_pda
-
This resource specification was automatically generated
by the UIPainter of ST/X.
Usage example(s):
UIPainter new openOnClass:NewLauncher andSelector:#windowSpec_pda
NewLauncher new openInterface:#windowSpec_pda
|
menu configuration
-
addMenuItem: newItem from: anApplicationWhichProvidesResourcesOrNil in: where position: positionSpecOrNilArg space: space
-
add to instance
-
addMenuItem: newItem in: where position: positionSpecOrNilArg space: space
-
-
addToolMenuEntryNamed: aString action: aBlock
-
translateLabel: true; -- the default is true anyway
Usage example(s):
NewLauncher addToolMenuEntryNamed:'My Workspace' action:[Workspace open]
NewLauncher addToolMenuEntryNamed:'Bla' action:[self halt]
|
-
removeAllUserAddedTools
-
self removeAllUserAddedTools
-
removeUserTool: toolNameOrMenuItem
-
removes a menu item labeled toolName
This can be invoked by a classes #deinitialize method,
to remove its item from the toolbar or menu.
Usage example(s):
Transcript topView application
removeUserTool:'Bar'
|
Usage example(s):
Transcript topView application
removeUserTool:'Foo'
|
-
removeUserTool: toolNameOrMenuItem from: addedToolsCollection
-
removes a menu item labeled toolName
This can be invoked by a classes #deinitialize method,
to remove its item from the toolbar or menu.
Usage example(s):
Transcript topView application
removeUserTool:'Bar'
|
Usage example(s):
Transcript topView application
removeUserTool:'Foo'
|
menu specs
-
aboutMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#aboutMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher aboutMenu)) startUp
|
-
classesMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#classesMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher classesMenu)) startUp
|
-
classesSpecialBrowserMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#classesSpecialBrowserMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher classesSpecialBrowserMenu)) startUp
|
-
demosMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#demosMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher demosMenu)) startUp
|
-
fileMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#fileMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher fileMenu)) startUp
|
-
helpMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#helpMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher helpMenu)) startUp
|
-
menu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#menu
(Menu new fromLiteralArrayEncoding:(NewLauncher menu)) startUp
|
-
menuOpenWorkspaceTypes
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#menuOpenWorkspaceTypes
(Menu new fromLiteralArrayEncoding:(NewLauncher menuOpenWorkspaceTypes)) startUp
|
-
menuToolbar
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#menuToolbar
(Menu new fromLiteralArrayEncoding:(NewLauncher menuToolbar)) startUp
|
-
menuToolbar_pda
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#menuToolbar_pda
(Menu new fromLiteralArrayEncoding:(NewLauncher menuToolbar_pda)) startUp
|
-
menu_pda
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#menu_pda
(Menu new fromLiteralArrayEncoding:(NewLauncher menu_pda)) startUp
|
-
systemMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#systemMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher systemMenu)) startUp
|
-
toolsMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#toolsMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher toolsMenu)) startUp
|
-
toolsMiscMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#toolsMiscMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher toolsMiscMenu)) startUp
|
-
windowsMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#windowsMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher windowsMenu)) startUp
|
oldstyle-menu specs
-
settingsMenu
-
This resource specification was automatically generated
by the MenuEditor of ST/X.
Usage example(s):
MenuEditor new openOnClass:NewLauncher andSelector:#settingsMenu
(Menu new fromLiteralArrayEncoding:(NewLauncher settingsMenu)) startUp
|
accessing
-
errorListCanvas
-
-
examples
-
reopening a standard launcher (without any added tools)
[exBegin]
NewLauncher removeAllUserAddedTools.
NewLauncher open.
[exEnd]
adding your own menu items (for user-applications)
an additional item in the tools menu:
[exBegin]
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo invoked'];
isButton: false;
labelImage: nil;
nameKey: #foo;
activeHelpKey: #Foo)
in:#menu
position:#(before workspace)
space:true
[exEnd]
an additional item in the tools menu:
[exBegin]
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo invoked'];
isButton: false;
labelImage: nil;
activeHelpKey: #Foo)
in:#menu
position:#(after guiPainter)
space:true
[exEnd]
an additional item in one of the tools sub menus:
[exBegin]
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo invoked'];
isButton: false;
labelImage: nil;
activeHelpKey: #Foo)
in:#toolbar
position:#(after Workspace)
space:true
[exEnd]
-
infoLineTemplate
-
controls what is shown in the lower info - line.
See classes defaultInfoLineTemplate and updateInfo for desription.
-
infoLineTemplate: aString
-
controls what is shown in the lower info - line.
See classes defaultInfoLineTemplate and updateInfo for desription.
-
menuToolbar
-
provide access to my toolBar
-
transcriptView
-
provide access to my transcript view
aspects
-
canDoTerminal
-
return a 'valueHolder', which returns true if the terminal application
is available. For now, this is true if we run under unix
-
canOpenRemoteLauncher
-
-
chickenFunIsRunning
-
return a 'valueHolder', which returns true if the chickenFun demo is running.
-
debuggerHasIgnoredHalts
-
-
debuggerHasIgnoredHaltsOrSmalltalkIsIgnoringHalts
-
-
displaySupportsGLDrawing
-
return a 'valueHolder', which returns true if the GL support
is available.
-
enableDangerousMenuItemsInRemoteLauncher
-
-
fileBrowserItemVisible
-
-
historyManagerActive
-
Answer whether the history manager is active.
-
isMainLauncherHolder
-
-
isNotMainLauncherHolder
-
-
javaSupportPresent
-
return a 'valueHolder', which returns true if the java support
is available.
-
libraryBuilderAvailable
-
-
logLevelHolder
-
-
noteBookCanvasHolder
-
-
oomPackageLoaded
-
true if the oom (metrics) package is loaded
-
selectedTabHolder
-
-
showActiveHelpMenuItem
-
-
smaccPackageLoaded
-
true if the smacc (compiler-compiler) package is loaded
-
smallTeamAvailable
-
-
sqlWorkspaceItemVisible
-
-
tabList
-
-
webDocumentsItemShownInHelpMenu
-
change & update
-
update: something with: aParameter from: changedObject
-
care for project changes & update my infoView
-
updateInfo
-
update the infoLabel (at the bottom) from the current project
help
-
defaultInfoLabel
-
(comment from inherited method)
returns the default info label; here an empty string
-
helpTextForKey: aKey
-
(comment from inherited method)
flyByHelp interface:
return some short help text for a key.
Key is the symbol associated with some widget or menu item.
(from my helpSpec);
Return a language variant (if available).
Special: with CTRL, show how it is generated (the helpKey or action block)
menu configuration
-
addMenuItem: newItem from: anApplicationClassWhichProvidesResourcesOrNil in: where position: positionSpecOrNilArg space: space
-
adds a menu item;
where == #menu - menu item is added at the end of the sub menu 'Tools',
where == #toolbar - menu item is added at the end of the tool bar,
where == #menu.<name> - menu item is added at the end of the sub menu named 'name',
position may be one of:
#(before <someItemPath>)
#(after <someItemPath>)
#( #first ) or #first
#( #last ) or #last or nil
If space is true, some empty space is inserted.
This can be invoked by a classes #initialize method, to add an item
for itself to the toolbar or menu.
Usage example(s):
UserAddedToolBarItems := nil.
UserAddedMenuItems := nil.
NewLauncher open.
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo'];
isButton: false;
labelImage: nil;
nameKey: #foo)
in:'menu.'
position:#(last)
space:true.
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo'];
isButton: false;
labelImage: nil;
nameKey: #foo)
in:#menu
position:#(before Workspace)
space:true.
Transcript topView application
addMenuItem:(MenuItem new
label: 'Bar';
value: [Transcript showCR:'bar'];
isButton: false;
labelImage: nil;
nameKey: #bar)
in:#menu
position:#(after foo)
space:true.
Transcript topView application
addMenuItem:(MenuItem new
label: 'Baz';
value: [Transcript showCR:'baz'];
isButton: false;
labelImage: nil;
nameKey: #baz)
in:#menu
position:#(before bar)
space:false.
Transcript topView application
addMenuItem:(MenuItem new
label: 'Baz2';
value: [Transcript showCR:'baz2'];
isButton: false;
labelImage: nil;
nameKey: #baz2)
in:#menu
position:#(after bar)
space:false.
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo2';
value: [Transcript showCR:'foo2'];
isButton: false;
labelImage: nil;
nameKey: #foo2)
in:'menu.classes'
position:#last
space:false.
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo3';
value: [Transcript showCR:'foo3'];
isButton: false;
labelImage: nil;
nameKey: #foo3)
in:'menu.classes.special'
position:#first
space:true.
|
-
addMenuItem: newItem in: where position: positionSpecOrNilArg space: space
-
adds a menu item;
where == #menu - menu item is added at the end of the sub menu 'Tools',
where == #toolbar - menu item is added at the end of the tool bar,
where == #menu.<name> - menu item is added at the end of the sub menu named 'name',
position may be one of:
#(before <someItemPath>)
#(after <someItemPath>)
#( #first ) or #first
#( #last ) or #last or nil
If space is true, some empty space is inserted.
This can be invoked by a classes #initialize method, to add an item
for itself to the toolbar or menu.
-
findItem: menuItem inMenuPanel: menuPanel
-
find a menu item in the menupanel.
Return the index of the item in the panel or 0
if not found
-
removeUserTool: toolNameOrMenuItem
-
removes a menu item labeled toolName
This can be invoked by a classes #deinitialize method,
to remove its item from the toolbar or menu.
-
removeUserTool: toolNameOrMenuItem from: addedToolsCollection
-
removes a menu item labeled toolName
This can be invoked by a classes #deinitialize method,
to remove its item from the toolbar or menu.
Usage example(s):
Transcript topView application
removeUserTool:'Bar'
|
Usage example(s):
Transcript topView application
removeUserTool:'Foo'
|
-
userAddedMenuItems
-
return a dictionary of user-added menu item infos.
-
userAddedToolBarItems
-
return a dictionary of user-added toolBar item infos.
menus-dynamic
-
allWindowsMenu
-
returns a subMenu with one oeprations-submenu entry per open window
-
menuChangeHistory
-
returns a sub menu on the last changes
-
menuClassHistory
-
returns a sub menu on the history of the classes
-
menuClassHistoryFor: whichBrowserClass
-
returns a sub menu on the history of the classes
-
menuClassHistoryNew
-
returns a sub menu on the history of the classes
-
menuFileHistory
-
returns a subMenu on the history of the filebrowsers directories
-
recentlyOpenedApplicationsMenu
-
-
startBrowserOnSmallTeamChangesMenu
-
returns a subMenu on the history of the filebrowsers directories
private-settings callBacks
-
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
-
preferredExtent
-
(comment from inherited method)
preferred extent of my window;
top/main menu and top toolbar (named by 'menuToolbarView')
will be considered
-
useNewSettingsApplication
-
-
useOldSettingsApplication
-
-
windowMigrationFunctionsAreShown
-
startup & release
-
allButOpenInterface: anInterface
-
sent by my superclass to open up my interface
-
postBuildWith: aBuilder
-
setup my preferred size
-
postOpenWith: aBuilder
-
increase my priority"
-
release
-
(comment from inherited method)
remove all references to objects that may refer to self.
Subclasses may redefine this method but should do a 'super release'.
-
requestForWindowClose
-
remote launchers may not finish ST/X
-
setupTranscript
-
create the transcript view
user actions-classes
-
enableGlobalCoverageAnalysis
-
-
findApplicationAndOpen
-
-
findClassAndBrowse
-
-
openMethodFinder
-
open the methodFinder (ported from squeak)
-
startBrowserOnChangesOnSmallTeamHost: aHostName
-
-
startOOMBrowser
-
-
startToDoListBrowser
-
-
stopIgnoringHalts
-
user actions-debugging
-
openTranscriptDebugDialog
-
-
openTranscriptTraceDialog
-
-
timestampTranscriptMessages
-
-
timestampTranscriptMessages: aBoolean
-
user actions-demos
-
openDemo: className
-
open a demo, given its name.
Looks in both the Smalltalk- and the Demos-Namespace
for that class.
-
openMandelbrotDemo
-
-
startPingPong2
-
opens a 2-user PingPong game
-
startReversi
-
opens a reversi game (java)
-
startStopDemo: className
-
start/stop a demo, given its name.
Looks in both the Smalltalk- and the Demos-Namespace
for that class.
-
startTicTacToe2
-
opens a 2-user ticTacToe game
user actions-file
-
clearTranscript
-
-
saveImage
-
save image
-
saveImageAs
-
save image, after asking for a file name
-
saveSessionChangesAs
-
save the current default changeset as a patch file,
after asking for a file name
-
saveSessionChangesAs: changesFilename
-
save the current default changeset as a patch file
user actions-help
-
activeHelp
-
helpIsOn addDependent:self.
-
toggleFlyByHelp: aBoolean
-
turn on/off active help
user actions-system
-
initJavaVM
-
-
startLatencyMonitor
-
open an interruptLatencyMonitor view
-
startOSProcessMonitor
-
open an OSProcessMonitor view (showing OS processes started by me)
-
startProcessMonitor
-
open an ProcessMonitor view (showing smalltalk threads)
-
startSQLScratchpad
-
-
startSQLWorkspace
-
-
toggleHistoryManager
-
Toggle history manager usage.
user actions-tools
-
menuResumeCPUHogs
-
on my system, firefox seems to run amok occasionally,
leaving 100% plugin-containers around.
The suspendFirefox actions suspends them all, so my battery is not drained too fast,
this actions resumes them.
-
menuSetLogLevel: levelSymbol
-
-
menuSlowDownCPUHogs
-
on my system, firefox seems to run amok occasionally,
leaving 100% plugin-containers around.
This starts a process which slows them down (takes CPU cycles from them)
-
menuSlowDownCPUHogs: percentageArg
-
on my system, firefox seems to run amok occasionally,
leaving 100% plugin-containers around.
This starts a process which slows them down (takes CPU cycles from them),
or even suspends them completely.
-
menuSuspendCPUHogs
-
on my system, firefox seems to run amok occasionally,
leaving 100% plugin-containers around.
This suspends them all, so my battery is not drained too fast
user actions-windows
-
redrawAllWindows
-
AddedToolInfo
reopening a standard launcher (without any added tools)
NewLauncher removeAllUserAddedTools.
NewLauncher open.
|
adding your own menu items (for user-applications)
an additional item in the tools menu:
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo invoked'];
isButton: false;
labelImage: nil;
nameKey: #foo;
activeHelpKey: #Foo)
in:#menu
position:#(before workspace)
space:true
|
an additional item in the tools menu:
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo invoked'];
isButton: false;
labelImage: nil;
activeHelpKey: #Foo)
in:#menu
position:#(after guiPainter)
space:true
|
an additional item in one of the tools sub menus:
Transcript topView application
addMenuItem:(MenuItem new
label: 'Foo';
value: [Transcript showCR:'foo invoked'];
isButton: false;
labelImage: nil;
activeHelpKey: #Foo)
in:#menu
position:#(after Workspace)
space:true
|
|