Launcher.st
author claus
Sun, 26 Mar 1995 19:35:57 +0200
changeset 88 a38a2e87687b
parent 86 11b4ce85104e
child 89 43ca5e534f5e
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     1
"
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     3
	      All Rights Reserved
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     4
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     5
 This software is furnished under a license and may be used
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     6
 only in accordance with the terms of that license and with the
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
     9
 other person.  No title to or ownership of the software is
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    10
 hereby transferred.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    11
"
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
    12
11b4ce85104e Initial revision
claus
parents:
diff changeset
    13
ApplicationModel subclass:#NewLauncher
11b4ce85104e Initial revision
claus
parents:
diff changeset
    14
	 instanceVariableNames:'myMenu buttonPanel transcript infoView infoProcess helpIsOn'
11b4ce85104e Initial revision
claus
parents:
diff changeset
    15
	 classVariableNames:'CachedAboutIcon'
11b4ce85104e Initial revision
claus
parents:
diff changeset
    16
	 poolDictionaries:''
11b4ce85104e Initial revision
claus
parents:
diff changeset
    17
	 category:'Interface-Smalltalk'
11b4ce85104e Initial revision
claus
parents:
diff changeset
    18
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
    19
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    20
!NewLauncher class methodsFor:'documentation'!
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    21
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    22
copyright
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    23
"
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    24
 COPYRIGHT (c) 1995 by Claus Gittinger
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    25
	      All Rights Reserved
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    26
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    27
 This software is furnished under a license and may be used
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    28
 only in accordance with the terms of that license and with the
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    30
 be provided or otherwise made available to, or used by, any
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    31
 other person.  No title to or ownership of the software is
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    32
 hereby transferred.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    33
"
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    34
!
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    35
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    36
version
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    37
"
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    38
$Header: /cvs/stx/stx/libtool/Launcher.st,v 1.2 1995-03-26 17:35:27 claus Exp $
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    39
"
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    40
! !
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
    41
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
    42
!NewLauncher class methodsFor:'defaults'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
    43
11b4ce85104e Initial revision
claus
parents:
diff changeset
    44
aboutIcon
11b4ce85104e Initial revision
claus
parents:
diff changeset
    45
    |image|
11b4ce85104e Initial revision
claus
parents:
diff changeset
    46
11b4ce85104e Initial revision
claus
parents:
diff changeset
    47
    CachedAboutIcon notNil ifTrue:[^ CachedAboutIcon].
11b4ce85104e Initial revision
claus
parents:
diff changeset
    48
11b4ce85104e Initial revision
claus
parents:
diff changeset
    49
    image := Image fromFile:'SmalltalkX.xbm'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    50
    image isNil ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
    51
	^ 'about'
11b4ce85104e Initial revision
claus
parents:
diff changeset
    52
    ] ifFalse:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
    53
	|green dark|
11b4ce85104e Initial revision
claus
parents:
diff changeset
    54
11b4ce85104e Initial revision
claus
parents:
diff changeset
    55
	Display hasColors ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
    56
	    green := (Color red:0 green:80 blue:20) darkened.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    57
	] ifFalse:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
    58
	    green := White.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    59
	].
11b4ce85104e Initial revision
claus
parents:
diff changeset
    60
	Display hasGreyscales ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
    61
	    dark := Color grey:10.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    62
	] ifFalse:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
    63
	    dark := Black.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    64
	].
11b4ce85104e Initial revision
claus
parents:
diff changeset
    65
	image colorMap:(Array with:dark with:green); photometric:#palette.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    66
	image := image magnifyBy:0.4.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    67
	Display depth > 2 ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
    68
	    image := (Image implementorForDepth:Display depth) fromImage:image.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    69
	]
11b4ce85104e Initial revision
claus
parents:
diff changeset
    70
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
    71
    CachedAboutIcon := image.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    72
    ^ image
11b4ce85104e Initial revision
claus
parents:
diff changeset
    73
11b4ce85104e Initial revision
claus
parents:
diff changeset
    74
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
    75
     CachedAboutIcon := nil
11b4ce85104e Initial revision
claus
parents:
diff changeset
    76
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
    77
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
    78
11b4ce85104e Initial revision
claus
parents:
diff changeset
    79
!NewLauncher class methodsFor:'startup'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
    80
11b4ce85104e Initial revision
claus
parents:
diff changeset
    81
open
11b4ce85104e Initial revision
claus
parents:
diff changeset
    82
    |top launcher|
11b4ce85104e Initial revision
claus
parents:
diff changeset
    83
11b4ce85104e Initial revision
claus
parents:
diff changeset
    84
    top := StandardSystemView new.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    85
    top label:'Smalltalk/X'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    86
    top extent:(400@300 ).
11b4ce85104e Initial revision
claus
parents:
diff changeset
    87
11b4ce85104e Initial revision
claus
parents:
diff changeset
    88
    launcher := self new setupViewsIn:top.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    89
11b4ce85104e Initial revision
claus
parents:
diff changeset
    90
    top open.
11b4ce85104e Initial revision
claus
parents:
diff changeset
    91
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
    92
     raise its prio ...
11b4ce85104e Initial revision
claus
parents:
diff changeset
    93
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
    94
    top windowGroup process priority:(Processor userSchedulingPriority + 1).
11b4ce85104e Initial revision
claus
parents:
diff changeset
    95
11b4ce85104e Initial revision
claus
parents:
diff changeset
    96
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
    97
     self open
11b4ce85104e Initial revision
claus
parents:
diff changeset
    98
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
    99
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   100
11b4ce85104e Initial revision
claus
parents:
diff changeset
   101
!NewLauncher methodsFor:'actions - settings'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   102
11b4ce85104e Initial revision
claus
parents:
diff changeset
   103
viewStyleSetting 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   104
    |listOfStyles resourceDir dir box|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   105
11b4ce85104e Initial revision
claus
parents:
diff changeset
   106
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   107
     search resources directory for a list of .style files ...
11b4ce85104e Initial revision
claus
parents:
diff changeset
   108
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   109
11b4ce85104e Initial revision
claus
parents:
diff changeset
   110
    resourceDir := Smalltalk getSystemFileName:'resources'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   111
    dir := FileDirectory directoryNamed:resourceDir.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   112
11b4ce85104e Initial revision
claus
parents:
diff changeset
   113
    listOfStyles := dir select:[:aFileName | aFileName endsWith:'.style'].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   114
    listOfStyles := listOfStyles collect:[:aFileName | aFileName copyWithoutLast:6].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   115
11b4ce85104e Initial revision
claus
parents:
diff changeset
   116
    box := ListSelectionBox new.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   117
    box title:'select a style
11b4ce85104e Initial revision
claus
parents:
diff changeset
   118
11b4ce85104e Initial revision
claus
parents:
diff changeset
   119
The style change will not affect views 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   120
which are already open.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   121
'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   122
    box label:'Style selection'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   123
    box list:listOfStyles.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   124
    box initialText:View defaultStyle.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   125
    box action:[:newStyle |
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   126
	transcript topView withCursor:Cursor wait do:[
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   127
	    Transcript showCr:'change style to ' , newStyle , ' ...'.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   128
	    View defaultStyle:newStyle asSymbol.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   129
	]
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   130
    ].    
11b4ce85104e Initial revision
claus
parents:
diff changeset
   131
    box showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   132
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   133
11b4ce85104e Initial revision
claus
parents:
diff changeset
   134
languageSetting 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   135
    |listOfLanguages box|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   136
11b4ce85104e Initial revision
claus
parents:
diff changeset
   137
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   138
     hardwiring here is stupid - need a resource file
11b4ce85104e Initial revision
claus
parents:
diff changeset
   139
     which lists languagenames which have all texts available
11b4ce85104e Initial revision
claus
parents:
diff changeset
   140
     in resource files ...
11b4ce85104e Initial revision
claus
parents:
diff changeset
   141
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   142
    listOfLanguages := #('english'
11b4ce85104e Initial revision
claus
parents:
diff changeset
   143
			 'german'
11b4ce85104e Initial revision
claus
parents:
diff changeset
   144
			 'french'
11b4ce85104e Initial revision
claus
parents:
diff changeset
   145
			 'spanish'
11b4ce85104e Initial revision
claus
parents:
diff changeset
   146
			 'italian'
11b4ce85104e Initial revision
claus
parents:
diff changeset
   147
			).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   148
11b4ce85104e Initial revision
claus
parents:
diff changeset
   149
    box := ListSelectionBox new.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   150
    box title:'select a language
11b4ce85104e Initial revision
claus
parents:
diff changeset
   151
11b4ce85104e Initial revision
claus
parents:
diff changeset
   152
This requires that the resource files have the corresponding
11b4ce85104e Initial revision
claus
parents:
diff changeset
   153
language strings available; this may be not the case in the
11b4ce85104e Initial revision
claus
parents:
diff changeset
   154
current version for all languages.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   155
11b4ce85104e Initial revision
claus
parents:
diff changeset
   156
The change will not affect views/applictions which are already open.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   157
'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   158
    box label:'Language selection'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   159
    box list:listOfLanguages.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   160
    box initialText:(Language).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   161
    box action:[:newLanguage |
11b4ce85104e Initial revision
claus
parents:
diff changeset
   162
	transcript topView withCursor:Cursor wait do:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   163
	    Transcript showCr:'change language to ' , newLanguage , ' ...'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   164
	    Smalltalk at:#Language put:newLanguage asSymbol.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   165
	    Smalltalk changed:#Language.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   166
	    ResourcePack flushCachedResourcePacks
11b4ce85104e Initial revision
claus
parents:
diff changeset
   167
	]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   168
    ].    
11b4ce85104e Initial revision
claus
parents:
diff changeset
   169
    box showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   170
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   171
11b4ce85104e Initial revision
claus
parents:
diff changeset
   172
compilerSetting
11b4ce85104e Initial revision
claus
parents:
diff changeset
   173
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   174
11b4ce85104e Initial revision
claus
parents:
diff changeset
   175
!NewLauncher methodsFor:'initialize / release'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   176
11b4ce85104e Initial revision
claus
parents:
diff changeset
   177
setupMenu
11b4ce85104e Initial revision
claus
parents:
diff changeset
   178
    "setup the pulldown menu"
11b4ce85104e Initial revision
claus
parents:
diff changeset
   179
11b4ce85104e Initial revision
claus
parents:
diff changeset
   180
    |l s|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   181
11b4ce85104e Initial revision
claus
parents:
diff changeset
   182
    myMenu labels:(resources array:#(
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   183
				     'about'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   184
				     'file'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   185
				     'classes'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   186
				     'tools'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   187
				     'projects'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   188
				     'settings'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   189
				     'goodies'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   190
				     'demos'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   191
				     'help')).
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   192
    myMenu labels at:1 put:(self class aboutIcon).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   193
11b4ce85104e Initial revision
claus
parents:
diff changeset
   194
    myMenu selectors:#(
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   195
				     #about
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   196
				     #file
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   197
				     #classes 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   198
				     #tools 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   199
				     #projects 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   200
				     #settings
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   201
				     #goodies
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   202
				     #demos
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   203
				     #help).
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   204
11b4ce85104e Initial revision
claus
parents:
diff changeset
   205
    myMenu at:#about 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   206
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   207
					'about Smalltalk/X ...'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   208
				       ))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   209
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   210
					#about 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   211
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   212
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   213
11b4ce85104e Initial revision
claus
parents:
diff changeset
   214
    myMenu at:#file
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   215
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   216
					'file browser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   217
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   218
					'snapshot'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   219
					'snapshot & exit'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   220
					'exit'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   221
				       ))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   222
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   223
					#startFileBrowser
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   224
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   225
					#snapshot
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   226
					#snapshotAndExit
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   227
					#exit
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   228
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   229
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   230
11b4ce85104e Initial revision
claus
parents:
diff changeset
   231
    myMenu at:#classes 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   232
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   233
					'system browser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   234
					'class browser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   235
					'full class browser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   236
					'class hierarchy browser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   237
					'class tree'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   238
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   239
					'implementors'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   240
					'senders'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   241
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   242
					'change browser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   243
					))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   244
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   245
					#startSystemBrowser 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   246
					#startClassBrowser 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   247
					#startFullClassBrowser 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   248
					#startClassHierarchyBrowser 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   249
					#startClassTreeView 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   250
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   251
					#browseImplementors 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   252
					#browseSenders 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   253
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   254
					#startChangesBrowser 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   255
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   256
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   257
11b4ce85104e Initial revision
claus
parents:
diff changeset
   258
    myMenu at:#tools 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   259
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   260
					'workspace'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   261
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   262
					'process monitor'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   263
					'memory monitor'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   264
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   265
					'memory usage'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   266
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   267
					'window tree'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   268
					'inspect view'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   269
					'destroy view'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   270
					))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   271
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   272
					#startWorkspace 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   273
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   274
					#startProcessMonitor
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   275
					#startMemoryMonitor 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   276
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   277
					#startMemoryUsageView 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   278
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   279
					#startWindowTreeView 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   280
					#viewInspect 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   281
					#viewDestroy 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   282
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   283
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   284
11b4ce85104e Initial revision
claus
parents:
diff changeset
   285
    myMenu at:#projects 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   286
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   287
					'new project'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   288
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   289
					'select project'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   290
					))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   291
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   292
					#newProject 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   293
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   294
					#selectProject 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   295
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   296
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   297
11b4ce85104e Initial revision
claus
parents:
diff changeset
   298
    myMenu at:#settings 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   299
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   300
					'language'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   301
					'view style'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   302
					'compilation'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   303
					))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   304
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   305
					#languageSetting 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   306
					#viewStyleSetting 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   307
					#compilerSetting 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   308
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   309
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   310
11b4ce85104e Initial revision
claus
parents:
diff changeset
   311
    myMenu at:#goodies 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   312
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   313
					'clock'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   314
					'calendar'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   315
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   316
					'mail tool'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   317
					'news tool'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   318
					'-'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   319
					'draw tool'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   320
					))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   321
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   322
					#startClock 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   323
					#startCalendar 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   324
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   325
					#startMailTool 
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   326
					#startNewsTool
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   327
					nil
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   328
					#startDrawTool
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   329
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   330
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   331
11b4ce85104e Initial revision
claus
parents:
diff changeset
   332
    myMenu at:#demos 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   333
	   putLabels:(resources array:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   334
					))
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   335
	   selectors:#(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   336
		      )
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   337
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   338
11b4ce85104e Initial revision
claus
parents:
diff changeset
   339
    ActiveHelp notNil ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   340
	l := #(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   341
		'\c active help'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   342
		'ST/X documentation'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   343
	      ).
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   344
	s := #(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   345
		#toggleActiveHelp
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   346
		#startDocumentationTool
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   347
	      )
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   348
    ] ifFalse:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   349
	l := #(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   350
		'ST/X documentation'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   351
	      ).
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   352
	s := #(
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   353
		#startDocumentationTool
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   354
	      )
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   355
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   356
11b4ce85104e Initial revision
claus
parents:
diff changeset
   357
    myMenu at:#help 
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   358
	   putLabels:(resources array:l)
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   359
	   selectors:s
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   360
	   receiver:self.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   361
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   362
11b4ce85104e Initial revision
claus
parents:
diff changeset
   363
setupTranscriptIn:aView 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   364
    |v|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   365
11b4ce85104e Initial revision
claus
parents:
diff changeset
   366
    (Transcript notNil and:[Transcript ~~ Stderr]) ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   367
	Transcript topView destroy.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   368
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   369
11b4ce85104e Initial revision
claus
parents:
diff changeset
   370
    v := HVScrollableView 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   371
		for:TextCollector
11b4ce85104e Initial revision
claus
parents:
diff changeset
   372
		miniScrollerH:true 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   373
		miniScrollerV:false 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   374
		in:aView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   375
11b4ce85104e Initial revision
claus
parents:
diff changeset
   376
    v origin:(0.0 @ (buttonPanel corner y + View viewSpacing)) 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   377
      corner:(1.0 @ 1.0).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   378
    transcript := v scrolledView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   379
    transcript beTranscript.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   380
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   381
11b4ce85104e Initial revision
claus
parents:
diff changeset
   382
setupViewsIn:topView 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   383
    "create the pulldown menu, buttonPanel and transcript view"
11b4ce85104e Initial revision
claus
parents:
diff changeset
   384
11b4ce85104e Initial revision
claus
parents:
diff changeset
   385
    |frame|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   386
11b4ce85104e Initial revision
claus
parents:
diff changeset
   387
    topView model:self.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   388
11b4ce85104e Initial revision
claus
parents:
diff changeset
   389
    myMenu := PullDownMenu in:topView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   390
    myMenu origin:0.0@0.0 corner:[1.0@nil].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   391
11b4ce85104e Initial revision
claus
parents:
diff changeset
   392
    self setupMenu.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   393
    self setupButtonPanelIn:topView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   394
    self setupTranscriptIn:topView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   395
    self setupInfoViewIn:topView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   396
11b4ce85104e Initial revision
claus
parents:
diff changeset
   397
    topView extent:((transcript font widthOf:'3')*60) 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   398
		    @ 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   399
		    ((transcript font height) * 20).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   400
11b4ce85104e Initial revision
claus
parents:
diff changeset
   401
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   402
     NewLauncher open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   403
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   404
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   405
11b4ce85104e Initial revision
claus
parents:
diff changeset
   406
setupInfoViewIn:topView 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   407
    |spc|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   408
11b4ce85104e Initial revision
claus
parents:
diff changeset
   409
    spc := View viewSpacing.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   410
    infoView := Label label:'' in:topView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   411
    infoView adjust:#left; borderWidth:0.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   412
    infoView level:-1.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   413
    transcript superView bottomInset:(infoView height + spc).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   414
11b4ce85104e Initial revision
claus
parents:
diff changeset
   415
    infoView topInset:(infoView height negated - spc);
11b4ce85104e Initial revision
claus
parents:
diff changeset
   416
	     bottomInset:spc // 2;
11b4ce85104e Initial revision
claus
parents:
diff changeset
   417
	     leftInset:spc//2; 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   418
	     rightInset:spc//2.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   419
    infoView origin:0.0 @ 1.0 corner:1.0@1.0.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   420
    infoView model:self; aspect:#info.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   421
11b4ce85104e Initial revision
claus
parents:
diff changeset
   422
    Project addDependent:self.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   423
11b4ce85104e Initial revision
claus
parents:
diff changeset
   424
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   425
     NewLauncher open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   426
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   427
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   428
11b4ce85104e Initial revision
claus
parents:
diff changeset
   429
setupButtonPanelIn:aTopView
11b4ce85104e Initial revision
claus
parents:
diff changeset
   430
    "create the buttonPanel"
11b4ce85104e Initial revision
claus
parents:
diff changeset
   431
11b4ce85104e Initial revision
claus
parents:
diff changeset
   432
    |sep spc|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   433
11b4ce85104e Initial revision
claus
parents:
diff changeset
   434
    spc := View viewSpacing // 2.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   435
    buttonPanel := HorizontalPanelView in:aTopView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   436
    buttonPanel level:-1; borderWidth:0.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   437
    buttonPanel horizontalLayout:#leftSpace.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   438
11b4ce85104e Initial revision
claus
parents:
diff changeset
   439
    #(
11b4ce85104e Initial revision
claus
parents:
diff changeset
   440
	#(startSystemBrowser 'SBrowser32x32.xbm')
11b4ce85104e Initial revision
claus
parents:
diff changeset
   441
	#(startFileBrowser   'FBrowser32x32.xbm')
11b4ce85104e Initial revision
claus
parents:
diff changeset
   442
     ) do:[:entry |
11b4ce85104e Initial revision
claus
parents:
diff changeset
   443
	|b|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   444
11b4ce85104e Initial revision
claus
parents:
diff changeset
   445
	b := Button in:buttonPanel.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   446
	b form:(Image fromFile:(entry at:2)).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   447
	b model:self; change:(entry at:1)
11b4ce85104e Initial revision
claus
parents:
diff changeset
   448
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   449
    sep := View in:buttonPanel.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   450
    sep extent:32@32; borderWidth:0.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   451
11b4ce85104e Initial revision
claus
parents:
diff changeset
   452
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   453
     ... add more buttons here ...
11b4ce85104e Initial revision
claus
parents:
diff changeset
   454
    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   455
11b4ce85104e Initial revision
claus
parents:
diff changeset
   456
    buttonPanel origin:0.0 @ myMenu height 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   457
		corner:(1.0 @ (myMenu height + buttonPanel preferedExtent y)).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   458
11b4ce85104e Initial revision
claus
parents:
diff changeset
   459
    buttonPanel leftInset:spc; rightInset:spc.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   460
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   461
11b4ce85104e Initial revision
claus
parents:
diff changeset
   462
release
11b4ce85104e Initial revision
claus
parents:
diff changeset
   463
    infoProcess notNil ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   464
	infoProcess terminate.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   465
	infoProcess := nil.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   466
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   467
    super release
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   468
!
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   469
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   470
focusSequence
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   471
    ^ (Array with:myMenu) , buttonPanel subViews , (Array with:Transcript)
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   472
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   473
11b4ce85104e Initial revision
claus
parents:
diff changeset
   474
!NewLauncher methodsFor:'actions - classes'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   475
11b4ce85104e Initial revision
claus
parents:
diff changeset
   476
startFileBrowser
11b4ce85104e Initial revision
claus
parents:
diff changeset
   477
    FileBrowser open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   478
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   479
11b4ce85104e Initial revision
claus
parents:
diff changeset
   480
startSystemBrowser
11b4ce85104e Initial revision
claus
parents:
diff changeset
   481
    SystemBrowser open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   482
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   483
11b4ce85104e Initial revision
claus
parents:
diff changeset
   484
startChangesBrowser
11b4ce85104e Initial revision
claus
parents:
diff changeset
   485
    ChangesBrowser open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   486
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   487
11b4ce85104e Initial revision
claus
parents:
diff changeset
   488
startWorkspace
11b4ce85104e Initial revision
claus
parents:
diff changeset
   489
    Workspace open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   490
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   491
11b4ce85104e Initial revision
claus
parents:
diff changeset
   492
startClassBrowser
11b4ce85104e Initial revision
claus
parents:
diff changeset
   493
    self getClassThenDo:[:cls | SystemBrowser browseClass:cls].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   494
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   495
11b4ce85104e Initial revision
claus
parents:
diff changeset
   496
startClassHierarchyBrowser
11b4ce85104e Initial revision
claus
parents:
diff changeset
   497
    self getClassThenDo:[:cls | SystemBrowser browseClassHierarchy:cls].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   498
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   499
11b4ce85104e Initial revision
claus
parents:
diff changeset
   500
startFullClassBrowser
11b4ce85104e Initial revision
claus
parents:
diff changeset
   501
    self getClassThenDo:[:cls | SystemBrowser browseFullClassProtocol:cls].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   502
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   503
11b4ce85104e Initial revision
claus
parents:
diff changeset
   504
browseImplementors
11b4ce85104e Initial revision
claus
parents:
diff changeset
   505
    |enterBox|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   506
11b4ce85104e Initial revision
claus
parents:
diff changeset
   507
    enterBox := EnterBox title:(resources at:'Browse implementors of:') withCRs.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   508
    enterBox okText:(resources at:'browse').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   509
    enterBox action:[:selectorName |
11b4ce85104e Initial revision
claus
parents:
diff changeset
   510
	|cls|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   511
11b4ce85104e Initial revision
claus
parents:
diff changeset
   512
	SystemBrowser browseImplementorsOf:selectorName  
11b4ce85104e Initial revision
claus
parents:
diff changeset
   513
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   514
    enterBox showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   515
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   516
11b4ce85104e Initial revision
claus
parents:
diff changeset
   517
browseSenders
11b4ce85104e Initial revision
claus
parents:
diff changeset
   518
    |enterBox|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   519
11b4ce85104e Initial revision
claus
parents:
diff changeset
   520
    enterBox := EnterBox title:(resources at:'Browse senders of:') withCRs.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   521
    enterBox okText:(resources at:'browse').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   522
    enterBox action:[:selectorName |
11b4ce85104e Initial revision
claus
parents:
diff changeset
   523
	|cls|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   524
11b4ce85104e Initial revision
claus
parents:
diff changeset
   525
	SystemBrowser browseAllCallsOn:selectorName  
11b4ce85104e Initial revision
claus
parents:
diff changeset
   526
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   527
    enterBox showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   528
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   529
11b4ce85104e Initial revision
claus
parents:
diff changeset
   530
startClassTreeView
11b4ce85104e Initial revision
claus
parents:
diff changeset
   531
    ClassTreeGraphView open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   532
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   533
11b4ce85104e Initial revision
claus
parents:
diff changeset
   534
!NewLauncher methodsFor:'infoview update'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   535
11b4ce85104e Initial revision
claus
parents:
diff changeset
   536
info
11b4ce85104e Initial revision
claus
parents:
diff changeset
   537
    |project projectName projectDir|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   538
11b4ce85104e Initial revision
claus
parents:
diff changeset
   539
    (project := Project current) isNil ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   540
	projectName := '* none *'.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   541
	projectDir := '.'.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   542
    ] ifFalse:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   543
	projectName := project name.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   544
	projectDir := project directory.
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   545
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   546
11b4ce85104e Initial revision
claus
parents:
diff changeset
   547
    ^ resources
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   548
	string:'project: ''%1''  fileOut to: ''%2'''
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   549
	  with:projectName
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   550
	  with:(projectDir contractTo:30)
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   551
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   552
11b4ce85104e Initial revision
claus
parents:
diff changeset
   553
!NewLauncher methodsFor:'actions - about & help'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   554
11b4ce85104e Initial revision
claus
parents:
diff changeset
   555
about
11b4ce85104e Initial revision
claus
parents:
diff changeset
   556
    |box|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   557
11b4ce85104e Initial revision
claus
parents:
diff changeset
   558
    box := AboutBox new.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   559
    box autoHideAfter:10 with:[].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   560
    box showAtCenter
11b4ce85104e Initial revision
claus
parents:
diff changeset
   561
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   562
11b4ce85104e Initial revision
claus
parents:
diff changeset
   563
toggleActiveHelp
11b4ce85104e Initial revision
claus
parents:
diff changeset
   564
    ActiveHelp notNil ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   565
	helpIsOn isNil ifTrue:[helpIsOn := false].
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   566
	helpIsOn := helpIsOn not.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   567
	helpIsOn ifTrue:[
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   568
	    ActiveHelp start
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   569
	] ifFalse:[
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   570
	    ActiveHelp stop
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   571
	]
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   572
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   573
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   574
11b4ce85104e Initial revision
claus
parents:
diff changeset
   575
!NewLauncher methodsFor:'actions - tools'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   576
11b4ce85104e Initial revision
claus
parents:
diff changeset
   577
startProcessMonitor
11b4ce85104e Initial revision
claus
parents:
diff changeset
   578
    ProcessMonitor open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   579
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   580
11b4ce85104e Initial revision
claus
parents:
diff changeset
   581
startMemoryMonitor
11b4ce85104e Initial revision
claus
parents:
diff changeset
   582
    MemoryMonitor open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   583
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   584
11b4ce85104e Initial revision
claus
parents:
diff changeset
   585
startMemoryUsageView
11b4ce85104e Initial revision
claus
parents:
diff changeset
   586
    MemoryUsageView open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   587
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   588
11b4ce85104e Initial revision
claus
parents:
diff changeset
   589
startWindowTreeView
11b4ce85104e Initial revision
claus
parents:
diff changeset
   590
    WindowTreeView open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   591
11b4ce85104e Initial revision
claus
parents:
diff changeset
   592
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   593
11b4ce85104e Initial revision
claus
parents:
diff changeset
   594
viewInspect
11b4ce85104e Initial revision
claus
parents:
diff changeset
   595
    |v|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   596
11b4ce85104e Initial revision
claus
parents:
diff changeset
   597
    v := self pickAView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   598
    v notNil ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   599
	v topView inspect
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   600
    ]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   601
11b4ce85104e Initial revision
claus
parents:
diff changeset
   602
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   603
11b4ce85104e Initial revision
claus
parents:
diff changeset
   604
viewInspector
11b4ce85104e Initial revision
claus
parents:
diff changeset
   605
    |v|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   606
11b4ce85104e Initial revision
claus
parents:
diff changeset
   607
    v := self pickAView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   608
    v notNil ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   609
	v topView inspect
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   610
    ]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   611
11b4ce85104e Initial revision
claus
parents:
diff changeset
   612
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   613
11b4ce85104e Initial revision
claus
parents:
diff changeset
   614
viewDestroy
11b4ce85104e Initial revision
claus
parents:
diff changeset
   615
    |v|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   616
11b4ce85104e Initial revision
claus
parents:
diff changeset
   617
    v := self pickAView.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   618
    v notNil ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   619
	v topView destroy
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   620
    ]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   621
11b4ce85104e Initial revision
claus
parents:
diff changeset
   622
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   623
11b4ce85104e Initial revision
claus
parents:
diff changeset
   624
!NewLauncher methodsFor:'actions - goodies'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   625
11b4ce85104e Initial revision
claus
parents:
diff changeset
   626
startNewsTool
11b4ce85104e Initial revision
claus
parents:
diff changeset
   627
    NewsView open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   628
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   629
11b4ce85104e Initial revision
claus
parents:
diff changeset
   630
startMailTool
11b4ce85104e Initial revision
claus
parents:
diff changeset
   631
    MailView open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   632
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   633
11b4ce85104e Initial revision
claus
parents:
diff changeset
   634
startClock
11b4ce85104e Initial revision
claus
parents:
diff changeset
   635
    RoundClock open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   636
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   637
11b4ce85104e Initial revision
claus
parents:
diff changeset
   638
startDrawTool
11b4ce85104e Initial revision
claus
parents:
diff changeset
   639
    DrawTool open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   640
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   641
11b4ce85104e Initial revision
claus
parents:
diff changeset
   642
startCalendar
11b4ce85104e Initial revision
claus
parents:
diff changeset
   643
    Calendar open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   644
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   645
11b4ce85104e Initial revision
claus
parents:
diff changeset
   646
!NewLauncher methodsFor:'change & update'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   647
11b4ce85104e Initial revision
claus
parents:
diff changeset
   648
update:something with:aParameter from:changedObject
11b4ce85104e Initial revision
claus
parents:
diff changeset
   649
    ((something == #currentProject)
11b4ce85104e Initial revision
claus
parents:
diff changeset
   650
    or:[changedObject == Project]) ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   651
	self changed:#info.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   652
	^ self
11b4ce85104e Initial revision
claus
parents:
diff changeset
   653
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   654
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   655
11b4ce85104e Initial revision
claus
parents:
diff changeset
   656
!NewLauncher methodsFor:'actions - file'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   657
11b4ce85104e Initial revision
claus
parents:
diff changeset
   658
snapshot
11b4ce85104e Initial revision
claus
parents:
diff changeset
   659
    |saveBox|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   660
11b4ce85104e Initial revision
claus
parents:
diff changeset
   661
    saveBox := EnterBox title:(resources at:'filename for image:') withCRs.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   662
    saveBox okText:(resources at:'save').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   663
    saveBox action:[:fileName | 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   664
	(ObjectMemory snapShotOn:fileName) ifFalse:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   665
	    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   666
	     snapshot failed for some reason (disk full, no permission etc.)
11b4ce85104e Initial revision
claus
parents:
diff changeset
   667
	    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   668
	    self warn:(resources string:'failed to save snapshot image (disk full or not writable)').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   669
	]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   670
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   671
11b4ce85104e Initial revision
claus
parents:
diff changeset
   672
    saveBox initialText:(ObjectMemory nameForSnapshot).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   673
    saveBox label:'save image'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   674
    saveBox showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   675
11b4ce85104e Initial revision
claus
parents:
diff changeset
   676
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   677
11b4ce85104e Initial revision
claus
parents:
diff changeset
   678
exit
11b4ce85104e Initial revision
claus
parents:
diff changeset
   679
    (self confirm:(resources string:'Are you certain you want to exit without saving ?'))
11b4ce85104e Initial revision
claus
parents:
diff changeset
   680
    ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   681
	self closeDownViews.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   682
	Smalltalk exit
11b4ce85104e Initial revision
claus
parents:
diff changeset
   683
    ]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   684
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   685
11b4ce85104e Initial revision
claus
parents:
diff changeset
   686
snapshotAndExit
11b4ce85104e Initial revision
claus
parents:
diff changeset
   687
    |saveBox|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   688
11b4ce85104e Initial revision
claus
parents:
diff changeset
   689
    saveBox := EnterBox title:(resources at:'filename for image:') withCRs.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   690
    saveBox okText:(resources at:'save & exit').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   691
    saveBox action:[:fileName | 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   692
	(ObjectMemory snapShotOn:fileName) ifFalse:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   693
	    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   694
	     snapshot failed for some reason (disk full, no permission etc.)
11b4ce85104e Initial revision
claus
parents:
diff changeset
   695
	     Do NOT exit in this case.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   696
	    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   697
	    self warn:(resources string:'failed to save snapshot image (disk full or not writable)').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   698
	] ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   699
	    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   700
	     closeDownViews tells all views to shutdown neatly 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   701
	     (i.e. offer a chance to save the contents to a file).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   702
11b4ce85104e Initial revision
claus
parents:
diff changeset
   703
	     This is NOT required - all data should be in the snapshot ...
11b4ce85104e Initial revision
claus
parents:
diff changeset
   704
	     ... however, if remote disks/mountable filesystems are involved,
11b4ce85104e Initial revision
claus
parents:
diff changeset
   705
	     which may not be present the next time, it may make sense to 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   706
	     uncomment it and query for saving - time will show which is better.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   707
	    "
11b4ce85104e Initial revision
claus
parents:
diff changeset
   708
"
11b4ce85104e Initial revision
claus
parents:
diff changeset
   709
	    self closeDownViews.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   710
"
11b4ce85104e Initial revision
claus
parents:
diff changeset
   711
	    Smalltalk exit
11b4ce85104e Initial revision
claus
parents:
diff changeset
   712
	]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   713
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   714
11b4ce85104e Initial revision
claus
parents:
diff changeset
   715
    saveBox initialText:(ObjectMemory nameForSnapshot).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   716
    saveBox label:'save image & exit'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   717
    saveBox showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   718
11b4ce85104e Initial revision
claus
parents:
diff changeset
   719
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   720
11b4ce85104e Initial revision
claus
parents:
diff changeset
   721
!NewLauncher methodsFor:'actions - projects'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   722
11b4ce85104e Initial revision
claus
parents:
diff changeset
   723
newProject 
11b4ce85104e Initial revision
claus
parents:
diff changeset
   724
    (ProjectView for:(Project new)) open
11b4ce85104e Initial revision
claus
parents:
diff changeset
   725
11b4ce85104e Initial revision
claus
parents:
diff changeset
   726
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   727
11b4ce85104e Initial revision
claus
parents:
diff changeset
   728
selectProject
11b4ce85104e Initial revision
claus
parents:
diff changeset
   729
    |list box|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   730
11b4ce85104e Initial revision
claus
parents:
diff changeset
   731
    list := Project allInstances.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   732
    box := ListSelectionBox new.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   733
    box list:(list collect:[:p | p name]).
11b4ce85104e Initial revision
claus
parents:
diff changeset
   734
    box title:(resources string:'select a project').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   735
    box action:[:selection |
11b4ce85104e Initial revision
claus
parents:
diff changeset
   736
	|project|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   737
11b4ce85104e Initial revision
claus
parents:
diff changeset
   738
	project := list detect:[:p | p name = selection] ifNone:[nil].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   739
	project isNil ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   740
	    Transcript showCr:'no such project'
11b4ce85104e Initial revision
claus
parents:
diff changeset
   741
	] ifFalse:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   742
	    project showViews.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   743
	    Project current:project
11b4ce85104e Initial revision
claus
parents:
diff changeset
   744
	]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   745
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   746
    box showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   747
11b4ce85104e Initial revision
claus
parents:
diff changeset
   748
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   749
11b4ce85104e Initial revision
claus
parents:
diff changeset
   750
!NewLauncher methodsFor:'private'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   751
11b4ce85104e Initial revision
claus
parents:
diff changeset
   752
getClassThenDo:aBlock
11b4ce85104e Initial revision
claus
parents:
diff changeset
   753
    |enterBox|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   754
11b4ce85104e Initial revision
claus
parents:
diff changeset
   755
    enterBox := EnterBox title:(resources at:'Browse which class:') withCRs.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   756
    enterBox okText:(resources at:'browse').
11b4ce85104e Initial revision
claus
parents:
diff changeset
   757
    enterBox action:[:className |
11b4ce85104e Initial revision
claus
parents:
diff changeset
   758
	|cls|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   759
11b4ce85104e Initial revision
claus
parents:
diff changeset
   760
	cls := Smalltalk classNamed:className.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   761
	cls isNil ifTrue:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   762
	    self warn:'no such class'.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   763
	] ifFalse:[
11b4ce85104e Initial revision
claus
parents:
diff changeset
   764
	    aBlock value:cls  
11b4ce85104e Initial revision
claus
parents:
diff changeset
   765
	]
11b4ce85104e Initial revision
claus
parents:
diff changeset
   766
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   767
    enterBox showAtPointer
11b4ce85104e Initial revision
claus
parents:
diff changeset
   768
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   769
11b4ce85104e Initial revision
claus
parents:
diff changeset
   770
closeDownViews
11b4ce85104e Initial revision
claus
parents:
diff changeset
   771
    "tell each topview that we are going to terminate and give it chance
11b4ce85104e Initial revision
claus
parents:
diff changeset
   772
     to save its contents."
11b4ce85104e Initial revision
claus
parents:
diff changeset
   773
11b4ce85104e Initial revision
claus
parents:
diff changeset
   774
    ObjectMemory changed:#aboutToExit
11b4ce85104e Initial revision
claus
parents:
diff changeset
   775
!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   776
11b4ce85104e Initial revision
claus
parents:
diff changeset
   777
pickAView
11b4ce85104e Initial revision
claus
parents:
diff changeset
   778
    |v|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   779
11b4ce85104e Initial revision
claus
parents:
diff changeset
   780
    (Delay forSeconds:1) wait.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   781
    v := Display viewFromUser.
11b4ce85104e Initial revision
claus
parents:
diff changeset
   782
    v isNil ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   783
	self warn:'sorry, this is not a smalltalk view'.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   784
	^ nil
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   785
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   786
    ^ v
11b4ce85104e Initial revision
claus
parents:
diff changeset
   787
! !
11b4ce85104e Initial revision
claus
parents:
diff changeset
   788
11b4ce85104e Initial revision
claus
parents:
diff changeset
   789
!NewLauncher methodsFor:'help'!
11b4ce85104e Initial revision
claus
parents:
diff changeset
   790
11b4ce85104e Initial revision
claus
parents:
diff changeset
   791
helpTextFor:aComponent
11b4ce85104e Initial revision
claus
parents:
diff changeset
   792
    |sel|
11b4ce85104e Initial revision
claus
parents:
diff changeset
   793
11b4ce85104e Initial revision
claus
parents:
diff changeset
   794
    aComponent == transcript ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   795
	^ resources string:'this is the Transcript.\It is used to send\messages to the user.'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   796
    ].
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   797
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   798
    aComponent == infoView ifTrue:[
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   799
	^ resources string:'this shows the name of the current\project and the directory\where a fileOut operation writes the file.'
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   800
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   801
11b4ce85104e Initial revision
claus
parents:
diff changeset
   802
    (buttonPanel subViews includes:aComponent) ifTrue:[
88
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   803
	"kludge: look for its change selector"
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   804
	sel := aComponent changeSymbol.
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   805
	sel == #startSystemBrowser ifTrue:[
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   806
	    ^ resources string:'opens a\SystemBrowser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   807
	].
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   808
	sel == #startFileBrowser ifTrue:[
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   809
	    ^ resources string:'opens a\FileBrowser'
a38a2e87687b *** empty log message ***
claus
parents: 86
diff changeset
   810
	].
86
11b4ce85104e Initial revision
claus
parents:
diff changeset
   811
    ].
11b4ce85104e Initial revision
claus
parents:
diff changeset
   812
    ^ nil
11b4ce85104e Initial revision
claus
parents:
diff changeset
   813
! !