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