AbstractLauncherApplication.st
author penk
Tue, 12 Nov 2002 12:25:24 +0100
changeset 4244 64dcb0a42673
parent 4243 2dc1cbadd5fc
child 4245 fe5535df5fb3
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2195
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     1
"
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     3
              All Rights Reserved
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     4
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     5
 This software is furnished under a license and may be used
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     6
 only in accordance with the terms of that license and with the
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     7
 inclusion of the above copyright notice. This software may not
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     8
 be provided or otherwise made available to, or used by, any
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
     9
 other person. No title to or ownership of the software is
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    10
 hereby transferred.
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    11
"
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    12
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    13
2689
602cbcd0feb3 Fix comment on oldSpace compress limit
Stefan Vogel <sv@exept.de>
parents: 2621
diff changeset
    14
"{ Package: 'stx:libtool' }"
602cbcd0feb3 Fix comment on oldSpace compress limit
Stefan Vogel <sv@exept.de>
parents: 2621
diff changeset
    15
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
ToolApplicationModel subclass:#AbstractLauncherApplication
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    17
	instanceVariableNames:'transcript'
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    18
	classVariableNames:'NotifyingEmergencyHandler OpenLaunchers RegisteredMenuHandlers'
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    19
	poolDictionaries:''
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    20
	category:'Interface-Smalltalk'
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    23
AbstractSettingsApplication subclass:#KbdMappingSettingsAppl
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    24
	instanceVariableNames:'modifiedChannel selectedRawKey macroTextHolder
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    25
		selectedFunctionKey labelTextHolder functionKeyList rawKeyList
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    26
		mappings'
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    27
	classVariableNames:''
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    28
	poolDictionaries:''
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    29
	privateIn:AbstractLauncherApplication
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    30
!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    31
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    32
AbstractSettingsApplication subclass:#LanguageSettingsAppl
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    33
	instanceVariableNames:'modifiedChannel languageHolder languageList listOfLanguages
4228
bb491a32fae5 *** empty log message ***
penk
parents: 4224
diff changeset
    34
		translatedLanguages noticeLabelHolder currentLanguageChannel
bb491a32fae5 *** empty log message ***
penk
parents: 4224
diff changeset
    35
		currentLanguageLabel'
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    36
	classVariableNames:''
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    37
	poolDictionaries:''
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    38
	privateIn:AbstractLauncherApplication
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    39
!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    40
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
Object subclass:#LauncherDialogs
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    42
	instanceVariableNames:''
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    43
	classVariableNames:''
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    44
	poolDictionaries:''
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
    45
	privateIn:AbstractLauncherApplication
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    48
ApplicationModel subclass:#SettingsDialog
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    49
	instanceVariableNames:'canvasHolder appList selectionHolder selection requestor
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    50
		colOfInstances'
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    51
	classVariableNames:'ApplicationList'
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    52
	poolDictionaries:''
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    53
	privateIn:AbstractLauncherApplication
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    54
!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    55
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    56
AbstractSettingsApplication subclass:#StyleSettingsAppl
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    57
	instanceVariableNames:'modifiedChannel showStandardStylesOnly styleList selectedStyle
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    58
		styleDirectoryContents infoLabelHolder noticeLabelHolder'
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    59
	classVariableNames:''
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    60
	poolDictionaries:''
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    61
	privateIn:AbstractLauncherApplication
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    62
!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
    63
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    64
AbstractSettingsApplication subclass:#ToolsSettingsAppl
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    65
	instanceVariableNames:'useNewVersionDiffBrowser transcriptBufferSize useNewInspector
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    66
		showClockInLauncher useNewChangesBrowser useNewFileBrowser
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    67
		useNewSystemBrowser currentUserPrefs modifiedChannel'
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    68
	classVariableNames:''
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    69
	poolDictionaries:''
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    70
	privateIn:AbstractLauncherApplication
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    71
!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
    72
2195
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    73
!AbstractLauncherApplication class methodsFor:'documentation'!
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    74
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    75
copyright
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    76
"
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    77
 COPYRIGHT (c) 1997 by eXept Software AG
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    78
              All Rights Reserved
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    79
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    80
 This software is furnished under a license and may be used
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    81
 only in accordance with the terms of that license and with the
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    82
 inclusion of the above copyright notice. This software may not
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    83
 be provided or otherwise made available to, or used by, any
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    84
 other person. No title to or ownership of the software is
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    85
 hereby transferred.
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    86
"
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    87
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    88
!
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    89
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    90
documentation
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    91
"
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    92
    This is an abstract class, providing mechanisms and common functionality
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    93
    for launcher-type applications. Subclasses may implement their GUI either
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    94
    with or without the UIPainter framework, and still use the common functions
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    95
    provided here.
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    96
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    97
    [author:]
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    98
        Claus Gittinger, eXept Software AG
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
    99
"
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   100
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   101
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   102
! !
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
!AbstractLauncherApplication class methodsFor:'accessing'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
2761
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   106
closeAllLaunchers
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   107
    "close all opened launchers"
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   108
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   109
    self openLaunchers copy do:[:eachLauncher |
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   110
        eachLauncher closeRequest
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   111
    ].
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   112
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   113
    "
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   114
     self closeAllLaunchers.
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   115
     NewLauncher open
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   116
    "
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   117
!
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   118
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
current
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    "return the launcher running on the current screen.
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
     (for access via addMenu/ removeMenu)"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    |currentScreen|
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    OpenLaunchers size > 0 ifTrue:[
2761
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   126
        currentScreen := Screen current.
2762
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   127
        ^ OpenLaunchers detect:[:eachLauncher | eachLauncher graphicsDevice == currentScreen] ifNone:nil
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
    ].
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    ^ nil.
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    "
2761
4e05f561e2db checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2760
diff changeset
   132
     NewLauncher current
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
    "
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    "Modified: / 9.9.1996 / 22:41:36 / stefan"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    "Modified: / 13.10.1998 / 16:09:50 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
openLaunchers
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    "return all opened launchers"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
3079
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   142
    OpenLaunchers isNil ifTrue:[
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   143
        OpenLaunchers := IdentitySet new
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   144
    ].
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   145
    ^ OpenLaunchers
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!AbstractLauncherApplication class methodsFor:'defaults'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
notifyingEmergencyHandler
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    "return a block (used as an emergency handler
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
     for exceptions), which does errorNotification before going
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
     into the debugger."
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    "Remember the handlerBlock, to be able to determine if the current
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
     handler is the notifying one."
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    NotifyingEmergencyHandler isNil ifTrue:[
2316
6a46309a5e43 NotifyingEmergencyHandler moved to NoHandlerError
Stefan Vogel <sv@exept.de>
parents: 2314
diff changeset
   159
        NotifyingEmergencyHandler := NoHandlerError notifyingEmergencyHandler
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    ].
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    ^ NotifyingEmergencyHandler
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    "Created: 7.1.1997 / 22:18:19 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    "Modified: 15.1.1997 / 21:15:38 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
2195
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   167
!AbstractLauncherApplication class methodsFor:'queries'!
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   168
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   169
isVisualStartable
2845
e7d49909cab3 language settings fixed
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   170
    "return true, if this application can be started via #open.
e7d49909cab3 language settings fixed
Claus Gittinger <cg@exept.de>
parents: 2838
diff changeset
   171
     (to allow start of a change browser via double-click in the browser)"
2195
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   172
2762
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   173
    "/ assume all my subclasses can
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   174
    ^ self ~~ AbstractLauncherApplication
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   175
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   176
    "
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   177
     AbstractLauncherApplication isVisualStartable
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   178
     NewLauncher isVisualStartable
713cb2f6ad5c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2761
diff changeset
   179
    "
2195
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   180
! !
5f1c47696cd6 added documentation
Claus Gittinger <cg@exept.de>
parents: 2194
diff changeset
   181
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
!AbstractLauncherApplication methodsFor:'private'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   184
findApplicationClass:classOrClassName nameSpace:aNameSpace
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   185
    "find some application, given the classes name.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   186
     Look for it in Smalltalk and the given nameSpace"
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   187
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   188
    |cls|
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   189
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   190
    classOrClassName isBehavior ifTrue:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   191
        cls := classOrClassName.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   192
    ] ifFalse:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   193
        cls := Smalltalk at:classOrClassName asSymbol.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   194
        cls isNil ifTrue:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   195
            "/ look if its in the nameSpace
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   196
            aNameSpace notNil ifTrue:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   197
                cls := aNameSpace at:classOrClassName asSymbol
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   198
            ]
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   199
        ].
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   200
        cls isNil ifTrue:[
3037
0d452d54bf04 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3035
diff changeset
   201
            self warn:(resources string:'Sorry, the ''%1''-class is not available.' with:classOrClassName).
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   202
            ^ nil
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   203
        ].
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   204
    ].
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   205
    ^ cls
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   206
!
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   207
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   208
findWindow:title
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   209
    "a helper for find & destroy and find & raise operations;
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   210
     let user choose a view and return it; return nil on cancel"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   211
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   212
    ^ self findWindow:title windowGroupFilter:nil
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   213
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   214
!
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   215
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   216
findWindow:title windowGroupFilter:windowGroupFilterOrNil
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   217
    "a helper for find & destroy and find & raise operations;
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   218
     let user choose a view and return it; return nil on cancel"
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   219
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   220
    |knownTopViews nameList box|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   221
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   222
    knownTopViews := IdentitySet new.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   223
    Screen allScreens do:[:aScreen |
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   224
        aScreen knownViews do:[:aView |
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   225
            |top showIt wg|
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   226
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   227
            aView notNil ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   228
                top := aView topView.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   229
                (top isKindOf:DebugView) ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   230
                    "/ although modal, show it.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   231
                    showIt := top realized
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   232
                ] ifFalse:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   233
                    wg := top windowGroup.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   234
                    showIt := (wg notNil and:[wg isModal not]).
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   235
                    showIt ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   236
                        windowGroupFilterOrNil notNil ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   237
                            showIt := windowGroupFilterOrNil includes:wg
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   238
                        ]
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   239
                    ]
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   240
                ].
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   241
                showIt ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   242
                    knownTopViews add:top
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   243
                ]
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   244
            ]
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   245
        ]
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   246
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   247
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   248
    knownTopViews := knownTopViews asOrderedCollection.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   249
    knownTopViews sort:[:v1 :v2 | |l1 l2|
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   250
                                l1 := v1 label ? 'aView'.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   251
                                l2 := v2 label ? 'aView'.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   252
                                l1 < l2
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   253
                       ].
2041
52cd1ca19280 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2040
diff changeset
   254
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   255
    nameList := knownTopViews collect:[:v | 
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   256
                                        |isDead wg p l|
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   257
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   258
                                        l := v label ? 'aView'.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   259
                                        v device == Display ifFalse:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   260
                                            l := l , ' [' , (v device displayName ? '?') , ']'
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   261
                                        ].
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   262
                                        ((wg := v windowGroup) notNil
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   263
                                        and:[(p := wg process) notNil
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   264
                                        and:[p state ~~ #dead]]) ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   265
                                            l  
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   266
                                        ] ifFalse:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   267
                                            l , ' (dead ?)'
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   268
                                        ]
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   269
                                      ].
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   270
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   271
    box := ListSelectionBox new.
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   272
    box selectionChangeCallback:[:selectionIndex |   |v|
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   273
                                    v := knownTopViews at:box selectionIndex.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   274
                                    v raise. box raise 
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   275
                                ].
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   276
    box noEnterField.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   277
    box list:nameList.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   278
    box label:(resources string:'view selection').
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   279
    box title:(resources string:title) withCRs.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   280
    box action:[:selection |
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   281
        |v|
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   282
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   283
        v := knownTopViews at:box selectionIndex.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   284
        box destroy.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
   285
        ^ v
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   286
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   287
    box extent:400@300.
3293
d7b925f89a7b dont use explicit showAtPointer
Claus Gittinger <cg@exept.de>
parents: 3288
diff changeset
   288
    box open.
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   289
    ^ nil
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   290
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   291
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
   292
openApplication: classOrClassName
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   293
     "open an application, given by the classe name."
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   294
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
   295
    self openApplication:classOrClassName nameSpace:nil
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   296
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   297
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
   298
openApplication:classOrClassName nameSpace:aNameSpace
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   299
    "open some application, given the classes name.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   300
     Look for it in Smalltalk and the given nameSpace"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   301
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
   302
    self openApplication:classOrClassName nameSpace:aNameSpace with:#open
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   303
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   304
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
   305
openApplication:classOrClassName nameSpace:aNameSpace with:aSelector
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   306
    "open some application, given the classes name.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   307
     Look for it in Smalltalk and the given nameSpace"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   308
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   309
    |cls|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   310
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   311
    cls := self findApplicationClass:classOrClassName nameSpace:aNameSpace.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   312
    cls isNil ifTrue:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   313
        ^ self
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   314
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   315
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
   316
    Autoload autoloadFailedSignal handle:[:ex |
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   317
        self warn:(resources string:'Sorry, the %1 class seems to be not available.' with:cls name)
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
   318
    ] do:[
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   319
        self withWaitCursorDo:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   320
            cls perform:aSelector
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   321
        ]
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   322
    ]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   323
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   324
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   325
openSettings
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   326
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   327
    | builder|
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   328
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   329
    builder := SettingsDialog open.
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   330
    builder application requestor:self.
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   331
!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
   332
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   333
pickAView
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   334
    "let user pick a view and return it"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   335
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   336
    |v|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   337
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   338
    (Delay forSeconds:1) wait.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   339
    v := Screen current viewFromUser.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   340
    v isNil ifTrue:[
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   341
	self warn:'Sorry, this is not a smalltalk view'.
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   342
	^ nil
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   343
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   344
    ^ v
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   345
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   346
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   347
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   348
saveScreenImage:anImage defaultName:defaultName
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   349
    "save an image into a file 
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   350
     - ask user for filename using a fileSelectionBox."
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   351
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   352
    |fileName|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   353
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   354
    fileName := Dialog
3782
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
   355
                    requestFileName:(resources string:'Save hardcopy image in:') 
3003
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   356
                    default:(defaultName , '.tiff')
3782
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
   357
                    ok:(resources string:'Save')
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
   358
                    abort:(resources string:'Cancel')
3003
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   359
                    pattern:'*.tiff'
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   360
                    fromDirectory:nil
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   361
                    whenBoxCreatedEvaluate:[:box | 
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   362
                                                |editButton|
4029
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   363
                                                UserPreferences current useNewFileDialog ifFalse:[
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   364
                                                    editButton := Button label:(resources string:'Edit').
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   365
                                                    (DialogBox styleSheet at:'dialogBox.okAtLeft' default:false) ifFalse:[
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   366
                                                        box addButton:editButton before:nil
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   367
                                                    ] ifTrue:[
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   368
                                                        box addButton:editButton after:nil
3003
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   369
                                                    ].
4029
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   370
                                                    editButton 
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   371
                                                        action:[ 
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   372
                                                            box hide; destroy.
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   373
                                                            ImageEditor openOnImage:anImage.
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   374
                                                        ].
32736ebb1068 no extra button for save screenshots for new fileDialog
penk
parents: 3992
diff changeset
   375
                                                ]
3003
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   376
                                           ].
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   377
    fileName notNil ifTrue:[
3003
74e2002951dc edit button in grab-screen area
Claus Gittinger <cg@exept.de>
parents: 2993
diff changeset
   378
        anImage saveOn:fileName
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   379
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   380
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   381
    "Modified: / 21.2.1996 / 13:09:28 / cg"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   382
    "Created: / 29.1.1998 / 23:20:36 / cg"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   383
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   384
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
showDocumentation:aRelativeDocFilePath
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    "open an HTML browser on some document"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    "
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
     although that one is not yet finished,
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
     its better than nothing ...
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
    "
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
    HTMLDocumentView notNil ifTrue:[
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   393
	self withWaitCursorDo:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   394
	    "
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   395
	     temporary kludge;
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   396
	     not all machines can autoload binaries;
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   397
	     however, on my SGI (which can) we want it
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   398
	     to load automatically.
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   399
	    "
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   400
	    HTMLDocumentView isLoaded ifFalse:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   401
		ErrorSignal catch:[HTMLDocumentView autoload]
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   402
	    ].
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   403
	    HTMLDocumentView isLoaded ifTrue:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   404
		HTMLDocumentView openFullOnDocumentationFile:aRelativeDocFilePath. 
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   405
		^ self
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   406
	    ].
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   407
	]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    ].
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    self warn:'Sorry, the ST/X HTML reader is not
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
included in this release.
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
Please use Mosaic, netscape, chimera or any
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
other HTML viewer to see the documentation.
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
The documentation is found in the ''doc/online'' directory.'.
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
    "Modified: / 25.2.1998 / 21:24:20 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   421
!AbstractLauncherApplication methodsFor:'private - settings callBacks'!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   422
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   423
changeViewStyleTo:newStyle
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   424
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   425
    newStyle notNil ifTrue:[
2458
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   426
        self withWaitCursorDo:[
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   427
            (transcript ? Transcript) showCR:'change style to ' , newStyle , ' ...'.
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   428
            View defaultStyle:newStyle asSymbol.
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   429
        ].
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   430
        self reopenLauncher.
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   431
        DebugView newDebugger.
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   432
    ]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   433
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   434
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   435
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   436
fontBoxForEncoding:encodingMatch
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   437
    "open a fontBox, showing fonts which match some encoding
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   438
     (used when changing to japanese ...)"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   439
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
   440
    ^ LauncherDialogs fontBoxForEncoding:encodingMatch
2047
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   441
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   442
"/    |box y b
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   443
"/     labelDef buttonDef listDef menuDef textDef
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   444
"/     models labels allOfThem filter|
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   445
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   446
"/    encodingMatch notNil ifTrue:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   447
"/        filter := [:f | f encoding notNil 
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   448
"/                        and:[encodingMatch match:f encoding]].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   449
"/    ].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   450
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   451
"/    models := OrderedCollection new.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   452
"/    labels := OrderedCollection new.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   453
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   454
"/    models add:(allOfThem := nil asValue).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   455
"/    models add:(labelDef := Label defaultFont asValue).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   456
"/    models add:(buttonDef := Button defaultFont asValue).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   457
"/    models add:(listDef := SelectionInListView defaultFont asValue).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   458
"/    models add:(menuDef := MenuView defaultFont asValue).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   459
"/    models add:(textDef := TextView defaultFont asValue).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   460
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   461
"/    box := Dialog new.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   462
"/    box label:(resources string:'Font settings').
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   463
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   464
"/    models
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   465
"/    with:(resources array:#('all' 'labels' 'buttons' 'lists' 'menus' 'edit text'))
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   466
"/    do:[:model :title |
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   467
"/        |y2 lbl f i|
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   468
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   469
"/        f := model value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   470
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   471
"/        (box addTextLabel:title) adjust:#left.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   472
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   473
"/        y := box yPosition.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   474
"/        b := box addComponent:(Button label:(resources string:'change ...')) tabable:true.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   475
"/        b relativeExtent:nil; extent:(b preferredExtent).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   476
"/        y2 := box yPosition.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   477
"/        box yPosition:y.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   478
"/        i := box leftIndent.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   479
"/        box leftIndent:(b widthIncludingBorder + View viewSpacing).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   480
"/        (lbl := box addTextLabel:'')
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   481
"/            adjust:#left;
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   482
"/            font:(model value);
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   483
"/            labelChannel:(BlockValue 
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   484
"/                            with:[:v | |f|
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   485
"/                                f := v value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   486
"/                                f isNil ifTrue:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   487
"/                                    ''
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   488
"/                                ] ifFalse:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   489
"/                                    f userFriendlyName
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   490
"/                                ]
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   491
"/                            ]
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   492
"/                            argument:model).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   493
"/        labels add:lbl.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   494
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   495
"/        box leftIndent:i.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   496
"/        box yPosition:(box yPosition max:y2).
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   497
"/        box addVerticalSpace.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   498
"/        box addHorizontalLine.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   499
"/        box addVerticalSpace.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   500
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   501
"/        b action:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   502
"/            |f|
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   503
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   504
"/            f := FontPanel 
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   505
"/                fontFromUserInitial:(model value) 
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   506
"/                              title:(resources string:'font for %1' with:title)
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   507
"/                             filter:filter.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   508
"/            f notNil ifTrue:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   509
"/                model == allOfThem ifTrue:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   510
"/                    models do:[:m | m value:f].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   511
"/                    labels do:[:l | l font:f]
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   512
"/                ] ifFalse:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   513
"/                    model value:f.  
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   514
"/                    lbl font:f.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   515
"/                ].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   516
"/            ]
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   517
"/        ].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   518
"/        model == allOfThem ifTrue:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   519
"/            box addVerticalSpace
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   520
"/        ]
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   521
"/    ].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   522
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   523
"/    box addAbortButton; addOkButton.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   524
"/    (box addButton:(Button label:(resources string:'defaults')) before:nil)
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   525
"/        action:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   526
"/            "/ fetch defaults
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   527
"/            View readStyleSheetAndUpdateAllStyleCaches.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   528
"/            labelDef value: Label defaultFont.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   529
"/            buttonDef value: Button defaultFont.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   530
"/            listDef value: SelectionInListView defaultFont.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   531
"/            menuDef value: MenuView defaultFont.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   532
"/            textDef value: TextView defaultFont.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   533
"/        ].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   534
"/
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   535
"/    box open.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   536
"/    box accepted ifTrue:[
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   537
"/        Label defaultFont:labelDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   538
"/        Button defaultFont:buttonDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   539
"/        Toggle defaultFont:buttonDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   540
"/        SelectionInListView defaultFont:listDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   541
"/        MenuView defaultFont:menuDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   542
"/        PullDownMenu defaultFont:menuDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   543
"/        TextView defaultFont:textDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   544
"/        EditTextView defaultFont:textDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   545
"/        CodeView defaultFont:textDef value.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   546
"/    ].
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   547
"/    box destroy.
bb2070a26bd2 care for styleSheets right-to-left button order.
Claus Gittinger <cg@exept.de>
parents: 2045
diff changeset
   548
"/    ^ box accepted
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   549
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   550
    "Modified: / 15.9.1998 / 22:04:56 / cg"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   551
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   552
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   553
reopenLauncher
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   554
    "reopen a new launcher.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   555
     for now (since style & language settings currently do
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   556
     not affect living views ...)
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   557
     WARNING: bad design: Message known in LauncherDialogs"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   558
2034
b3537f805381 force reopen at same position (fvwm & mwm)
Claus Gittinger <cg@exept.de>
parents: 2021
diff changeset
   559
    |oldOrigin contents builder newLauncher|
b3537f805381 force reopen at same position (fvwm & mwm)
Claus Gittinger <cg@exept.de>
parents: 2021
diff changeset
   560
b3537f805381 force reopen at same position (fvwm & mwm)
Claus Gittinger <cg@exept.de>
parents: 2021
diff changeset
   561
    oldOrigin := self window origin.
2458
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   562
    transcript notNil ifTrue:[contents := transcript endEntry; list].
2034
b3537f805381 force reopen at same position (fvwm & mwm)
Claus Gittinger <cg@exept.de>
parents: 2021
diff changeset
   563
    builder := self class openAt:oldOrigin.
3787
88b39d2d33d8 tzpe on dialog label
Claus Gittinger <cg@exept.de>
parents: 3782
diff changeset
   564
    builder window waitUntilVisible; origin:oldOrigin.
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   565
    newLauncher := builder application.
2458
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   566
    transcript notNil ifTrue:[
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   567
        newLauncher transcript list:contents; hideCursor; scrollToBottom; cursorToEnd; showCursor.
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
   568
    ].
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   569
    ^ newLauncher
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   570
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   571
    "Modified: / 4.8.1998 / 17:08:33 / cg"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   572
! !
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   573
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   574
!AbstractLauncherApplication methodsFor:'queries'!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   575
3410
fd14c97c539a *** empty log message ***
penk
parents: 3408
diff changeset
   576
bugReporterAvailable
fd14c97c539a *** empty log message ***
penk
parents: 3408
diff changeset
   577
    ^ BugGUI notNil
fd14c97c539a *** empty log message ***
penk
parents: 3408
diff changeset
   578
!
fd14c97c539a *** empty log message ***
penk
parents: 3408
diff changeset
   579
3120
564ee1530a8e startPDALauncher item invisible for the normal user
Claus Gittinger <cg@exept.de>
parents: 3100
diff changeset
   580
hasPDALauncher
564ee1530a8e startPDALauncher item invisible for the normal user
Claus Gittinger <cg@exept.de>
parents: 3100
diff changeset
   581
    ^ PDALauncher notNil
564ee1530a8e startPDALauncher item invisible for the normal user
Claus Gittinger <cg@exept.de>
parents: 3100
diff changeset
   582
!
564ee1530a8e startPDALauncher item invisible for the normal user
Claus Gittinger <cg@exept.de>
parents: 3100
diff changeset
   583
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   584
processName
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   585
    "for monitors only - my name"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   586
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   587
    ^ 'ST/X Launcher'
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   588
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   589
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   590
3575
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   591
remoteImageBrowserAvailable
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   592
    ^ SmalltalkShareClient notNil and:[RemoteImage notNil]
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   593
!
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   594
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   595
transcript
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   596
    "my transcript"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   597
3079
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   598
    transcript isNil ifTrue:[
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   599
        ^ Transcript current
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   600
    ].
9e8b81438edb checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3078
diff changeset
   601
    ^ transcript 
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   602
! !
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   603
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   604
!AbstractLauncherApplication methodsFor:'startup / release'!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   605
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   606
addTopViewsToCurrentProject
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   607
    "ignored here - the launcher is always global (i.e. not project private)."
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   608
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   609
    ^ self
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   610
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   611
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   612
2314
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   613
closeDownViews
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   614
    OpenLaunchers remove:self ifAbsent:nil.
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   615
    super closeDownViews
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   616
!
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   617
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   618
postBuildWith:aBuilder
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   619
    super postBuildWith:aBuilder.
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   620
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   621
    OpenLaunchers isNil ifTrue:[
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   622
        OpenLaunchers := IdentitySet new.
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   623
    ].
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   624
    OpenLaunchers add:self
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   625
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   626
!
7ac730bdb664 OpenLaunchers as IdentitySet methodes modified add and remove
tm
parents: 2311
diff changeset
   627
2040
06dd0e21aae0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2038
diff changeset
   628
requestForWindowClose
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   629
    "close request from windowing system (window close);
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   630
     confirm and ask if closing of launcher only or
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   631
     a smalltalk-exit is wanted"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   632
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   633
    |answer|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   634
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   635
    answer := Dialog 
3738
fc625b46878b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3690
diff changeset
   636
                confirmWithCancel:(resources string:'Close %1 only or Exit Smalltalk (Close all) ?' with:self class name)
2165
Claus Gittinger <cg@exept.de>
parents: 2164
diff changeset
   637
                labels:(resources array:#('Cancel' 'Close' 'Exit'))
Claus Gittinger <cg@exept.de>
parents: 2164
diff changeset
   638
                default:3.
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   639
    answer isNil ifTrue:[
2165
Claus Gittinger <cg@exept.de>
parents: 2164
diff changeset
   640
        "/ cancel
Claus Gittinger <cg@exept.de>
parents: 2164
diff changeset
   641
        ^ false
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   642
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   643
2165
Claus Gittinger <cg@exept.de>
parents: 2164
diff changeset
   644
    answer == false ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 2164
diff changeset
   645
        ^ true
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   646
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   647
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   648
    self exit
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   649
2160
028c1d5740e5 exit smalltalk is now the default, when closing the launcher.
Claus Gittinger <cg@exept.de>
parents: 2149
diff changeset
   650
    "Modified: / 20.5.1999 / 17:24:47 / cg"
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   651
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   652
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   653
saveAndTerminateRequest
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   654
    "some windowManagers can send this, to shutDown an application
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   655
     but let it save its state before, for later restart. 
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   656
     Although I have not yet encountered such a windowManager,
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   657
     we are already prepared for this ;-)"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   658
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   659
    self snapshot.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   660
    super saveAndTerminateRequest
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   661
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   662
! !
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   663
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
!AbstractLauncherApplication methodsFor:'user actions - about'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
openLicenseConditions
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
    "open an HTML browser on the 'LICENCE' document"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
    self withWaitCursorDo:[
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   670
	|lang doc|
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   671
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   672
	Smalltalk releaseIdentification = 'ST/X_free_demo_vsn' ifTrue:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   673
	    doc := 'english/LICENCE_DEMO_STX.html'
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   674
	] ifFalse:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   675
	    ((lang := Smalltalk language) = 'de'
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   676
	    or:[lang = 'german']) ifTrue:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   677
		doc := 'german/LICENCE_STX.html'
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   678
	    ] ifFalse:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   679
		doc := 'english/LICENCE_STX.html'
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   680
	    ].
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   681
	].
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   682
	doc := resources at:'LICENCEFILE' default:doc.
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
   683
	self showDocumentation:('../' , doc)
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
    ]
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
    "Created: / 5.2.1998 / 21:43:19 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
    "Modified: / 23.4.1998 / 11:45:53 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   690
!AbstractLauncherApplication methodsFor:'user actions - classes'!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   691
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   692
browseAllBreakAndTracePoints
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   693
    "open a browser showing all breakPointed/traced methods
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   694
     (but, to get rid of them, there is also a menu itme to remove them all)"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   695
3140
1f85ff8a1a22 UserPreference access
Claus Gittinger <cg@exept.de>
parents: 3120
diff changeset
   696
    UserPreferences systemBrowserClass
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   697
        browseMethods:(WrappedMethod allInstances)
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   698
        title:'all breakPointed/traced methods'
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   699
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   700
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   701
browseImplementors
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   702
    "open an implementors- browser after asking for a selector"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   703
3369
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   704
    |selector|
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   705
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   706
    selector := Dialog 
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   707
                    requestSelector:(resources at:'Browse implementors of (Tab for completion):') 
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3423
diff changeset
   708
                    okLabel:(resources at:'Browse')
3369
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   709
                    initialAnswer:''.
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   710
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   711
    selector size > 0 ifTrue:[
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   712
        self withWaitCursorDo:[
4155
b62b378443df checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4127
diff changeset
   713
            UserPreferences systemBrowserClass browseImplementorsMatching:selector
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   714
        ]  
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   715
    ].
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3423
diff changeset
   716
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3423
diff changeset
   717
    "Modified: / 17.11.2001 / 16:33:28 / cg"
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   718
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   719
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   720
browseResources
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   721
    "open a resource- browser after asking for a resource string"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   722
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   723
    |box resourceHolder valueHolder component rsrc value t anyString|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   724
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   725
    anyString := resources string:'* any *'.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   726
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   727
    resourceHolder := ValueHolder newString.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   728
    valueHolder := '*' asValue.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   729
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   730
    box := DialogBox new.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   731
    box label:(resources at:'Resource search:').
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   732
    component := box addTextLabel:(resources at:'Search for methods which contain a\particular resource specification') withCRs.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   733
    component adjust:#left.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   734
    box addVerticalSpace:10.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   735
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   736
    component := box addTextLabel:(resources at:'Resource symbol (empty for any; no matchPattern allowed):') withCRs.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   737
    component adjust:#left.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   738
    component :=  box addComboBoxOn:resourceHolder tabable:true.
3014
cb531619c185 Don't use obsolete methods.
Stefan Vogel <sv@exept.de>
parents: 3003
diff changeset
   739
    component list:((Array with:anyString) , #('canvas' 'menu' 'keyboard' 'style' 'image' 'programMenu' '-' 'obsolete' 'needsFix')).
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   740
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   741
    component := box addTextLabel:(resources at:'Resource value (* for any; matchPattern is allowed):') withCRs.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   742
    component adjust:#left.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   743
    box addInputFieldOn:valueHolder tabable:true.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   744
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   745
    box addVerticalSpace:10.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   746
    box addHelpButtonFor:'programming/language.html#RESOURCEDEFS'.
2048
f8c010698b75 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
   747
    box addAbortAndOkButtons.
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   748
3293
d7b925f89a7b dont use explicit showAtPointer
Claus Gittinger <cg@exept.de>
parents: 3288
diff changeset
   749
    box open.
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   750
    box destroy.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   751
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   752
    box accepted ifTrue:[
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   753
        rsrc := resourceHolder value.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   754
        value := valueHolder value.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   755
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   756
        (rsrc size == 0 or:[rsrc = '*' or:[rsrc = anyString]]) ifTrue:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   757
            t := 'methods with any resource'.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   758
            rsrc := nil
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   759
        ] ifFalse:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   760
            t := 'methods with #' , rsrc , '-resource'.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   761
            rsrc := rsrc withoutSeparators asSymbol
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   762
        ].
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   763
        (value size == 0 or:[value = '*']) ifTrue:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   764
            t := t , ' and any value'.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   765
            value := nil
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   766
        ] ifFalse:[
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   767
            t := t , ' and value ' , value.
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   768
        ].
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   769
        self withWaitCursorDo:[
3140
1f85ff8a1a22 UserPreference access
Claus Gittinger <cg@exept.de>
parents: 3120
diff changeset
   770
            UserPreferences systemBrowserClass
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   771
                browseForResource:rsrc
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   772
                containing:value
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   773
                in:(Smalltalk allClasses)
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   774
                title:t
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   775
        ]  
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   776
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   777
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   778
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   779
browseSenders
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   780
    "open a senders- browser after asking for a selector"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   781
3369
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   782
    |selector|
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   783
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   784
    selector := Dialog 
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   785
                    requestSelector:(resources at:'Browse senders of (Tab for completion):') 
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3423
diff changeset
   786
                    okLabel:(resources at:'Browse')
3369
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   787
                    initialAnswer:''.
ac3ce702451c senders/implementors: Tab completion
Claus Gittinger <cg@exept.de>
parents: 3362
diff changeset
   788
    selector size > 0 ifTrue:[
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   789
        self withWaitCursorDo:[
3140
1f85ff8a1a22 UserPreference access
Claus Gittinger <cg@exept.de>
parents: 3120
diff changeset
   790
            UserPreferences systemBrowserClass
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   791
                browseAllCallsOn:selector
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   792
        ]  
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   793
    ].
3442
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3423
diff changeset
   794
38a5ec1d3add *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3423
diff changeset
   795
    "Modified: / 17.11.2001 / 16:33:42 / cg"
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   796
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   797
4199
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   798
browseUnboundGlobals
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   799
    "open a browser on methods refering to unbound global variables"
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   800
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   801
    self withWaitCursorDo:[
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   802
        UserPreferences systemBrowserClass
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   803
            browseReferendsOfUnboundGlobalsWithTitle:(resources string:'References to unbound global variables')
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   804
            warnIfNone:true
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   805
    ]
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   806
!
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   807
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   808
browseUndeclared
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   809
    "open a browser on methods refering to undeclared variables"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   810
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   811
    self withWaitCursorDo:[
3140
1f85ff8a1a22 UserPreference access
Claus Gittinger <cg@exept.de>
parents: 3120
diff changeset
   812
        UserPreferences systemBrowserClass
3778
5595e6f544ab undeclared variable stuff
penk
parents: 3741
diff changeset
   813
            browseReferendsOf:(Smalltalk undeclaredPrefix , '*')
4199
f9bc3cbc38f7 added browse refs to unbound globals.
Claus Gittinger <cg@exept.de>
parents: 4155
diff changeset
   814
            title:(resources string:'References to undeclared variables')
2696
bc8ab69f2a56 allow browserClass to be set in preferences
Claus Gittinger <cg@exept.de>
parents: 2689
diff changeset
   815
            warnIfNone:true
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   816
    ]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   817
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   818
3778
5595e6f544ab undeclared variable stuff
penk
parents: 3741
diff changeset
   819
clearUndeclaredVariables
5595e6f544ab undeclared variable stuff
penk
parents: 3741
diff changeset
   820
    "remove all undeclared variables"
5595e6f544ab undeclared variable stuff
penk
parents: 3741
diff changeset
   821
5595e6f544ab undeclared variable stuff
penk
parents: 3741
diff changeset
   822
    Smalltalk clearUndeclaredVariables
5595e6f544ab undeclared variable stuff
penk
parents: 3741
diff changeset
   823
!
5595e6f544ab undeclared variable stuff
penk
parents: 3741
diff changeset
   824
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   825
removeAllBreakAndTracePoints
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   826
    "remove all break- and trace points"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   827
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   828
    self withCursor:Cursor execute do:[ MessageTracer cleanup]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   829
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   830
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   831
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   832
startClassBrowser
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   833
    "open a classBrowser; asks for class"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   834
3140
1f85ff8a1a22 UserPreference access
Claus Gittinger <cg@exept.de>
parents: 3120
diff changeset
   835
    UserPreferences systemBrowserClass askThenBrowseClass
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   836
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   837
3100
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   838
startClassBrowserOnChangedClasses
2854
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   839
    "open a classBrowser on the changeSet"
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   840
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   841
    NewSystemBrowser isNil ifTrue:[
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   842
        ^ self warn:'This needs the NewSystemBrowser to be loaded.'
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   843
    ].
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   844
    NewSystemBrowser openOnClassesInChangeSet
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   845
!
ac97ea47bb08 browse changed classes added
Claus Gittinger <cg@exept.de>
parents: 2845
diff changeset
   846
3100
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   847
startClassBrowserOnChangedMethods
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   848
    "open a classBrowser on the changeSet"
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   849
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   850
    NewSystemBrowser isNil ifTrue:[
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   851
        ^ self warn:'This needs the NewSystemBrowser to be loaded.'
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   852
    ].
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   853
    NewSystemBrowser openOnMethodsInChangeSet
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   854
!
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   855
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   856
startClassBrowserOnChanges
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   857
    "open a classBrowser on the changeSet"
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   858
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   859
    ^ self startClassBrowserOnChangedClasses
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   860
!
8867c882329c added 'browse changed methods' function.
Claus Gittinger <cg@exept.de>
parents: 3079
diff changeset
   861
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   862
startClassHierarchyBrowser
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   863
    "open a classHierarchyBrowser; asks for class"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   864
3140
1f85ff8a1a22 UserPreference access
Claus Gittinger <cg@exept.de>
parents: 3120
diff changeset
   865
    UserPreferences systemBrowserClass askThenBrowseClassHierarchy
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   866
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   867
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   868
startFullClassBrowser
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   869
    "open a fullClass systemBrowser; asks for class"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   870
3140
1f85ff8a1a22 UserPreference access
Claus Gittinger <cg@exept.de>
parents: 3120
diff changeset
   871
    UserPreferences systemBrowserClass askThenBrowseFullClassProtocol
3575
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   872
!
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   873
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   874
startRemoteImageBrowser
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   875
    "open a remoteImage browser; asks for hostname.
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   876
     The remote host must have an st/x running with remote browsing enabled.
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   877
     Sorry, for now, only the old browser can be used this way."
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   878
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   879
    |hostName|
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   880
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   881
    hostName := Dialog request:'Remote Host:'.
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   882
    SystemBrowser openOnRemoteImageOnHost:hostName port:nil.
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   883
!
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   884
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   885
startSnapshotImageBrowser
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   886
    "open a snapshotImage browser; asks for filename.
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   887
     Sorry, for now, only the old browser can be used this way."
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   888
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   889
    |imageFileName|
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   890
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   891
    imageFileName := Dialog requestFileName:'Name of Snapshot Image File:' default:'st.img' pattern:'*.img;*.sav'.
c35b9ba0092c snapshotImage and remoteImage browser
Claus Gittinger <cg@exept.de>
parents: 3572
diff changeset
   892
    SystemBrowser openOnSnapShotImage:imageFileName
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   893
! !
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
   894
2038
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   895
!AbstractLauncherApplication methodsFor:'user actions - demos'!
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   896
3035
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   897
startPDALauncher
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   898
    self startRemoteLauncherWithSetup:[:newDisplay | newDisplay bePDA].
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   899
!
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   900
2038
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   901
startRemoteLauncher
3035
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   902
    self startRemoteLauncherWithSetup:[:newDisplay | ].
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   903
!
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   904
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   905
startRemoteLauncherWithSetup:aSetupBlock
2754
565abad0ef64 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2737
diff changeset
   906
    |host remoteDisplay remoteDisplayClass|
2038
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   907
2620
fe33eeb9d2ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2609
diff changeset
   908
    host := Dialog 
fe33eeb9d2ad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2609
diff changeset
   909
                request:(resources string:'Remote Launcher on which display:')
3215
5782487c2f48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3180
diff changeset
   910
                initialAnswer:'{hostName}:0'
5782487c2f48 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3180
diff changeset
   911
                initialSelection:(1 to:10).
2038
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   912
    host size > 0 ifTrue:[
2359
7432181f17a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2331
diff changeset
   913
        (host includes:$:) ifFalse:[
7432181f17a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2331
diff changeset
   914
            host := (host , ':0')
7432181f17a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2331
diff changeset
   915
        ].
2754
565abad0ef64 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2737
diff changeset
   916
565abad0ef64 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2737
diff changeset
   917
        remoteDisplayClass := XWorkstation.
565abad0ef64 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2737
diff changeset
   918
2755
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   919
"/        "/ Q: should we allow GL graphics on the remote display
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   920
"/        "/ (Problem: the GL library is not threadsafe, when multiple-display connections
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   921
"/        "/ are open - leading to mixing output between views ...)
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   922
"/
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   923
"/        "/ only simulated GL can be done remote (i.e. not on SGI)
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   924
"/        (Screen current supportsGLDrawing 
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   925
"/        and:[Screen current isTrueGL not])
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   926
"/        ifTrue:[
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   927
"/            remoteDisplayClass := GLXWorkstation.
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   928
"/        ].
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   929
3664
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
   930
        [
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
   931
            remoteDisplay := remoteDisplayClass newDispatchingFor:host.
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
   932
        ] on:Screen deviceOpenErrorSignal do:[:ex|
2359
7432181f17a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2331
diff changeset
   933
            self warn:'Could not connect to display: ''' , host , '''.'.
7432181f17a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2331
diff changeset
   934
            ^ self
7432181f17a1 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2331
diff changeset
   935
        ].
3035
55824593b14c some more pda support
Claus Gittinger <cg@exept.de>
parents: 3032
diff changeset
   936
        aSetupBlock value:remoteDisplay.
2755
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   937
        Screen currentScreenQuerySignal 
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   938
            answer:remoteDisplay
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   939
            do:[
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   940
                self class open.
48769b1546d8 use new utility method to start a remote application
Claus Gittinger <cg@exept.de>
parents: 2754
diff changeset
   941
            ]
2038
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   942
    ].
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   943
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   944
    "Created: / 10.9.1998 / 11:48:42 / cg"
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   945
! !
2f58a17935b9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2037
diff changeset
   946
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   947
!AbstractLauncherApplication methodsFor:'user actions - file'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   948
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   949
objectModuleDialog
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   950
    "opens a moduleInfo dialog"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   951
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
   952
    ^ LauncherDialogs objectModuleDialog
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   953
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   954
    "Modified: / 31.7.1998 / 17:33:24 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   955
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   956
2490
924e607d11d8 first version of a package dialog
Claus Gittinger <cg@exept.de>
parents: 2462
diff changeset
   957
packageDialog
924e607d11d8 first version of a package dialog
Claus Gittinger <cg@exept.de>
parents: 2462
diff changeset
   958
    "opens a package dialog"
924e607d11d8 first version of a package dialog
Claus Gittinger <cg@exept.de>
parents: 2462
diff changeset
   959
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
   960
    ^ LauncherDialogs packageDialog
2490
924e607d11d8 first version of a package dialog
Claus Gittinger <cg@exept.de>
parents: 2462
diff changeset
   961
924e607d11d8 first version of a package dialog
Claus Gittinger <cg@exept.de>
parents: 2462
diff changeset
   962
    "Modified: / 31.7.1998 / 17:33:24 / cg"
924e607d11d8 first version of a package dialog
Claus Gittinger <cg@exept.de>
parents: 2462
diff changeset
   963
!
924e607d11d8 first version of a package dialog
Claus Gittinger <cg@exept.de>
parents: 2462
diff changeset
   964
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   965
saveImageAs: aFileName
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   966
    "save image in aFilename"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   967
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   968
    aFileName notNil ifTrue:[
2621
a79f619e7538 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2620
diff changeset
   969
        self withCursor:Cursor write do:[
a79f619e7538 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2620
diff changeset
   970
            (ObjectMemory snapShotOn:aFileName) ifFalse:[
a79f619e7538 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2620
diff changeset
   971
                self warn:('Failed to save snapshot image (disk full or not writable)').
a79f619e7538 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2620
diff changeset
   972
            ]
a79f619e7538 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2620
diff changeset
   973
        ].
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   974
    ].
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   977
!AbstractLauncherApplication methodsFor:'user actions - help'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   979
showBookPrintDocument
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   980
    "open an HTML browser on the 'book'-printing document"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   982
    self showDocumentation:'BOOK.html'
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   983
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   984
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
startClassDocumentation
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
    "open an HTML browser on the 'classDoc/TOP' document"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
    self showDocumentation:'classDoc/TOP.html'
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   992
startDocumentationIndex
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
    "open an HTML browser on the 'index' document"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
    self showDocumentation:'index.html'
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   996
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
startDocumentationTool
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
    "open an HTML browser on the 'TOP' document"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1001
    self showDocumentation:'TOP.html'
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1002
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
startWhatsNewDocumentation
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1006
    "open an HTML browser on the 'whatsNew.html' document"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
    self showDocumentation:'whatsNew.html'
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
2296
cb2a81a506ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2294
diff changeset
  1010
!
cb2a81a506ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2294
diff changeset
  1011
cb2a81a506ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2294
diff changeset
  1012
startWhatsNewSTX
cb2a81a506ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2294
diff changeset
  1013
    "open an HTML browser on the 'relNotes.html' document"
cb2a81a506ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2294
diff changeset
  1014
cb2a81a506ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2294
diff changeset
  1015
    self showDocumentation:'newFeatures.html'
cb2a81a506ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2294
diff changeset
  1016
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1017
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1018
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1019
!AbstractLauncherApplication methodsFor:'user actions - settings'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1020
2196
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1021
communicationsSettings
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1022
    "open a dialog on misc other settings"
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1023
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1024
    self settingsDialog:[:handler | handler communicationsSettings]
2196
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1025
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1026
    "Modified: / 31.7.1998 / 22:46:56 / cg"
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1027
!
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1028
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1029
compilerSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1030
    "open a dialog on compiler related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1031
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1032
    self settingsDialog:[:handler | handler compilerSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1033
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1034
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1035
displaySettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1036
    "open a dialog on display related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1037
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1038
    self settingsDialog:[:handler | handler displaySettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1039
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1040
    "Modified: / 31.7.1998 / 22:45:38 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1041
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1042
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1043
editSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1044
    "open a dialog on edit settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1045
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1046
    self settingsDialog:[:handler | handler editSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1047
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1048
    "Modified: / 31.7.1998 / 22:46:56 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1049
    "Created: / 6.1.1999 / 14:14:48 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1050
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1051
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1052
fontSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1053
    "open a dialog on font related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1055
    self settingsDialog:[:handler | handler fontSettingsFor:self]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1056
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
    "Modified: / 31.7.1998 / 22:45:44 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1058
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1059
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1060
javaSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1061
    "open a dialog on java-subsystem related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1062
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1063
    self settingsDialog:[:handler | handler javaSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1064
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1065
    "Modified: / 31.7.1998 / 22:46:13 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1066
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1067
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1068
keyboardSetting 
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1069
    "open a dialog on keyboard related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1070
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1071
    self settingsDialog:[:handler | handler keyboardSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1072
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1073
    "Modified: / 31.7.1998 / 22:45:56 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1074
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1075
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1076
languageSetting 
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1077
    "open a dialog on language related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1078
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1079
    self settingsDialog:[:handler | handler languageSettingsFor:self]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1080
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1081
    "Modified: / 31.7.1998 / 22:46:13 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1082
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1083
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1084
loadSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1085
    "restore settings from a settings-file."
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1086
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1087
    "a temporary kludge - we need a central systemSettings object for this,
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1088
     which can be saved/restored with a single store/read."
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1089
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1090
    |fileName|
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1091
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1092
    fileName := Dialog 
4052
23d23ec45081 *** empty log message ***
ca
parents: 4029
diff changeset
  1093
        requestFileName:(resources string:'Load Settings From:') 
3790
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1094
        default:'settings.stx'
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1095
        ok:(resources string:'Load') 
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1096
        abort:(resources string:'Cancel') 
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1097
        pattern:'*.stx'
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1098
        fromDirectory:nil.
2021
07aa22f577c5 code cleanup; replaced
Claus Gittinger <cg@exept.de>
parents: 2019
diff changeset
  1099
07aa22f577c5 code cleanup; replaced
Claus Gittinger <cg@exept.de>
parents: 2019
diff changeset
  1100
    (fileName size == 0) ifTrue:[
3790
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1101
        "/ canceled
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1102
        ^ self
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1103
    ].
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1104
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1105
    self withWaitCursorDo:[
3790
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1106
        Smalltalk fileIn:fileName.
6ebd50d902d9 upper case button labels
Claus Gittinger <cg@exept.de>
parents: 3787
diff changeset
  1107
        self reOpen
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1108
    ].
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1109
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1110
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1111
memorySettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1112
    "open a dialog on objectMemory related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1113
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1114
    self settingsDialog:[:handler | handler memorySettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1115
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1116
    "Modified: / 31.7.1998 / 22:46:33 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1117
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1118
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1119
messageSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1120
    "open a dialog on infoMessage related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1121
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1122
    self settingsDialog:[:handler | handler messageSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1123
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1124
    "Modified: / 31.7.1998 / 22:46:45 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1125
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1126
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1127
miscSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1128
    "open a dialog on misc other settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1129
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1130
    self settingsDialog:[:handler | handler miscSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1131
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1132
    "Modified: / 31.7.1998 / 22:46:56 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1133
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1134
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1135
printerSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1136
    "open a dialog on printer related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1137
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1138
    self settingsDialog:[:handler | handler printerSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1139
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1140
    "Modified: / 31.7.1998 / 22:47:05 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1141
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1142
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1143
saveSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1144
    "save settings to a settings-file."
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1145
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1146
    self settingsDialog:[:handler | handler saveSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1147
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1148
    "Modified: / 31.7.1998 / 22:48:38 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1149
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1150
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1151
settingsDialog:symbolOrBlock 
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1152
    "open a dialog on viewStyle related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1153
2196
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1154
    |handler|
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1155
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1156
    RegisteredMenuHandlers notNil ifTrue:[
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1157
        handler := RegisteredMenuHandlers at:symbolOrBlock ifAbsent:nil.
2196
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1158
    ].
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1159
    handler isNil ifTrue:[
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1160
        handler := LauncherDialogs
53741ab5bd17 added OSI logging settings
Claus Gittinger <cg@exept.de>
parents: 2195
diff changeset
  1161
    ].
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1162
    symbolOrBlock isBlock ifTrue:[
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1163
        symbolOrBlock value:handler
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1164
    ] ifFalse:[
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1165
        handler perform:symbolOrBlock with:self.
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1166
    ]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1167
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1168
    "Modified: / 31.7.1998 / 22:47:33 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1169
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1170
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1171
sourceAndDebuggerSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1172
    "open a dialog on misc other settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1173
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1174
    self settingsDialog:[:handler | handler sourceAndDebuggerSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1175
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1176
    "Modified: / 31.7.1998 / 22:47:21 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1177
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1178
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1179
toolSettings
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1180
    "open a dialog on tool settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1181
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1182
    self settingsDialog:[:handler | handler toolSettings]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1183
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1184
    "Modified: / 31.7.1998 / 22:46:56 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1185
    "Created: / 13.10.1998 / 15:50:53 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1186
!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1187
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1188
viewStyleSetting 
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1189
    "open a dialog on viewStyle related settings"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1190
4062
decb623a8c3d settings dialogs no longer need a requestor (with few exceptions)
ca
parents: 4052
diff changeset
  1191
    self settingsDialog:[:handler | handler viewStyleSettingsFor:self]
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1192
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1193
    "Modified: / 31.7.1998 / 22:47:33 / cg"
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1194
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1195
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1196
!AbstractLauncherApplication methodsFor:'user actions - system'!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1197
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1198
compressingGarbageCollect
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1199
    "perform a compressing garbageCollect"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1200
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1201
    self withWaitCursorDo:[ObjectMemory verboseGarbageCollect]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1202
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1203
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1204
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1205
garbageCollect
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1206
    "perform a non-compressing garbageCollect"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1207
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1208
    self withWaitCursorDo:[ObjectMemory reclaimSymbols]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1209
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1210
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1211
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1212
startStopEventTrace
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1213
    "start/stop event tracing for a particular view"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1214
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1215
    |v wg|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1216
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1217
    v := Screen current viewFromUser.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1218
    v notNil ifTrue:[
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1219
	v := v topView.
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1220
	wg := v windowGroup.
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1221
	wg notNil ifTrue:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1222
	    "/
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1223
	    "/ toggle eventTrace in its windowGroup
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1224
	    "/
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1225
	    wg traceEvents:(wg preEventHook isNil)
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1226
	]
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1227
    ]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1228
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1229
! !
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1230
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1231
!AbstractLauncherApplication methodsFor:'user actions - tools'!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1232
2210
efe47610b7ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
  1233
inspectGlobalVariables
efe47610b7ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
  1234
    "inspect globals"
efe47610b7ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
  1235
efe47610b7ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
  1236
    Smalltalk inspect
efe47610b7ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
  1237
!
efe47610b7ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
  1238
2207
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1239
inspectWorkspaceVariables
2210
efe47610b7ef checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2209
diff changeset
  1240
    "inspect workspace variables"
2207
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1241
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1242
    Workspace workspaceVariables inspect
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1243
!
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1244
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1245
newProject 
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1246
    "creates a new project & opens a projectView for it"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1247
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1248
    Project notNil ifTrue: [(ProjectView for: Project new) open]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1249
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1250
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1251
openTerminal
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1252
    self openApplication:#VT100TerminalView 
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1253
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1254
    "Created: / 27.7.1998 / 12:48:30 / cg"
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1255
!
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1256
3158
70963eea944a new workspace
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1257
openWorkspace
70963eea944a new workspace
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1258
    WorkspaceApplication notNil ifTrue:[
70963eea944a new workspace
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1259
        ^ WorkspaceApplication open
70963eea944a new workspace
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1260
    ].
70963eea944a new workspace
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1261
    ^ self openApplication:Workspace
70963eea944a new workspace
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1262
!
70963eea944a new workspace
Claus Gittinger <cg@exept.de>
parents: 3140
diff changeset
  1263
2207
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1264
removeAllWorkspaceVariables
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1265
    "remove workspace variables"
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1266
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1267
    Workspace removeAllWorkspaceVariables
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1268
!
84d23e553268 support for workspace variables
Claus Gittinger <cg@exept.de>
parents: 2206
diff changeset
  1269
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1270
selectProject
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1271
    "asks for and switch to another project"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1272
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1273
    |list box|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1274
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1275
    Project notNil ifTrue:[
2458
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1276
        list := Project allInstances.
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1277
        box := ListSelectionBox new.
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1278
        box list:(list collect:[:p | p name]).
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1279
        box title:(resources string:'select a project').
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1280
        box action:[:selection |
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1281
            |project|
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1282
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1283
            project := list detect:[:p | p name = selection] ifNone:[nil].
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1284
            project isNil ifTrue:[
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1285
                transcript notNil ifTrue:[
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1286
                    transcript showCR:'no such project.'
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1287
                ]
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1288
            ] ifFalse:[
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1289
                project showViews.
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1290
                Project current:project
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1291
            ]
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1292
        ].
3293
d7b925f89a7b dont use explicit showAtPointer
Claus Gittinger <cg@exept.de>
parents: 3288
diff changeset
  1293
        box open.
2458
3c273283bb84 care for transcript being nil.
Claus Gittinger <cg@exept.de>
parents: 2457
diff changeset
  1294
        box destroy
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1295
    ]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1296
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1297
3408
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1298
startBugMessages
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1299
    "open the SUnit test runner"
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1300
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1301
    self openApplication:#BugGUI
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1302
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1303
    "Modified: / 17.10.1998 / 14:38:18 / cg"
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1304
!
12215beef308 new Icon in NewLauncher for Bug messages
penk
parents: 3401
diff changeset
  1305
3362
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1306
startChangeSetBrowser
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1307
    "open a change Set Browser"
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1308
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1309
    ChangeSetBrowser open
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1310
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1311
    "Created: / 5.11.2001 / 18:04:05 / cg"
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1312
!
e02cc20dd18f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3326
diff changeset
  1313
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1314
startChangesBrowser
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1315
    "open a changebrowser - either new or old GUI, depending on userPrefs"
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1316
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1317
    self openApplication:(UserPreferences current changesBrowserClass)
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1318
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1319
    "Modified: / 17.10.1998 / 14:38:18 / cg"
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1320
!
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1321
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1322
startNewChangesBrowser
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1323
    "opens the new changeBrowser"
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1324
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1325
    self openApplication:#NewChangesBrowser
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1326
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1327
    "Created: / 6.6.1998 / 19:47:26 / cg"
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1328
!
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1329
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1330
startNewLauncher
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1331
    "opens the new launcher"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1332
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1333
    NewLauncher isNil ifTrue:[
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1334
	^ self warn:'The NewLauncher is not available in this release.'
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1335
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1336
    NewLauncher openAt:(self window origin)
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1337
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1338
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1339
2111
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1340
startOldChangesBrowser
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1341
    "opens the old changeBrowser"
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1342
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1343
    self openApplication:#ChangesBrowser
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1344
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1345
    "Created: / 6.6.1998 / 19:47:26 / cg"
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1346
!
b36bdfb0af38 moved startChangesBrowser from NewLauncher to here.
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1347
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1348
startOldLauncher
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1349
    "opens the old launcher"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1350
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1351
    Launcher isNil ifTrue:[
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1352
	^ self warn:'The (Old)Launcher is not available in this release.'
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1353
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1354
    Launcher openAt:(self window origin)
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1355
2883
bd88b8b95b29 SUNit stuff added
Claus Gittinger <cg@exept.de>
parents: 2866
diff changeset
  1356
!
bd88b8b95b29 SUNit stuff added
Claus Gittinger <cg@exept.de>
parents: 2866
diff changeset
  1357
bd88b8b95b29 SUNit stuff added
Claus Gittinger <cg@exept.de>
parents: 2866
diff changeset
  1358
startSUnitTestRunner
bd88b8b95b29 SUNit stuff added
Claus Gittinger <cg@exept.de>
parents: 2866
diff changeset
  1359
    "open the SUnit test runner"
bd88b8b95b29 SUNit stuff added
Claus Gittinger <cg@exept.de>
parents: 2866
diff changeset
  1360
3037
0d452d54bf04 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3035
diff changeset
  1361
    self openApplication:#TestRunner
2883
bd88b8b95b29 SUNit stuff added
Claus Gittinger <cg@exept.de>
parents: 2866
diff changeset
  1362
bd88b8b95b29 SUNit stuff added
Claus Gittinger <cg@exept.de>
parents: 2866
diff changeset
  1363
    "Modified: / 17.10.1998 / 14:38:18 / cg"
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1364
! !
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1365
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1366
!AbstractLauncherApplication methodsFor:'user actions - windows'!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1367
2765
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1368
askForAnotherDisplay
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1369
    "ask for some other display"
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1370
3664
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1371
    |displayName|
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1372
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1373
    displayName := Dialog request:'Display:' initialAnswer:(Screen default displayName).
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1374
    displayName size == 0 ifTrue:[^ nil].
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1375
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1376
    ^ XWorkstation newDispatchingFor:displayName.
2765
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1377
!
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1378
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1379
deIconifyAllWindows
2144
48df3bc4d44c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
  1380
    |setOfViews currentScreen|
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1381
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1382
    setOfViews := Project current views asIdentitySet.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1383
    setOfViews addAll:(Project defaultProject views).
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1384
2144
48df3bc4d44c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
  1385
    currentScreen := Screen current.
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1386
    setOfViews do:[:aTopView |
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1387
	aTopView device == currentScreen ifTrue:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1388
	    aTopView expand
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1389
	].
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1390
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1391
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1392
    "
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1393
     Transcript topView application deIconifyAllWindows
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1394
    "
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1395
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1396
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1397
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1398
findAndDestroyWindow
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1399
    "find a window (by name) and destroy it"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1400
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1401
    |v|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1402
    v := self findWindow:'select view to close:'.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1403
    v notNil ifTrue:[v destroy]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1404
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1405
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1406
2759
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1407
findAndMigrateWindow
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1408
    "find a window (by name) and migrate it to some other display"
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1409
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1410
    |possibleGroups v|
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1411
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1412
    possibleGroups := WindowGroup allInstances select:[:eachGroup |
3014
cb531619c185 Don't use obsolete methods.
Stefan Vogel <sv@exept.de>
parents: 3003
diff changeset
  1413
                                        eachGroup graphicsDevice == Screen current
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1414
                                        and:[eachGroup isModal not
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1415
                                        and:[eachGroup topViews size > 0]]].
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1416
    possibleGroups size == 0 ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1417
        self information:'No windows found which could be migrated to some other display.'.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1418
        ^ self
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1419
    ].
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1420
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1421
    v := self findWindow:'Select view to migrate:' windowGroupFilter:possibleGroups.
2759
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1422
    v notNil ifTrue:[
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1423
        self migrateWindow:v topView
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1424
    ]
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1425
!
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1426
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1427
findAndMigrateWindowBack
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1428
    "find a window (by name) and migrate it back to this display"
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1429
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1430
    |possibleGroups v|
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1431
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1432
    possibleGroups := WindowGroup allInstances select:[:eachGroup |
3014
cb531619c185 Don't use obsolete methods.
Stefan Vogel <sv@exept.de>
parents: 3003
diff changeset
  1433
                                        eachGroup graphicsDevice ~~ Screen current
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1434
                                        and:[eachGroup isModal not
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1435
                                        and:[eachGroup topViews size > 0]]].
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1436
    possibleGroups size == 0 ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1437
        self information:'No windows are open on any other display.'.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1438
        ^ self
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1439
    ].
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1440
        
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1441
    v := self findWindow:'Select view to migrate back:' windowGroupFilter:possibleGroups.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1442
    v notNil ifTrue:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1443
        v windowGroup migrateTo:(Screen current)
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1444
    ]
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1445
!
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1446
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1447
findAndRaiseWindow
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1448
    "find a window (by name) and raise it"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1449
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1450
    |v|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1451
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1452
    v := self findWindow:'select view to raise deiconified:'.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1453
    v notNil ifTrue:[v raiseDeiconified]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1454
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1455
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1456
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1457
fullScreenHardcopy
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1458
    "after a second (to allow redraw of views under menu ...),
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1459
     save the contents of the whole screen."
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1460
3326
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1461
    self window sensor ctrlDown ifTrue:[
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1462
        ^ self fullScreenHardcopyUngrabbed
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1463
    ].
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1464
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1465
    Processor 
3326
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1466
        addTimedBlock:[
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1467
                        self 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1468
                            saveScreenImage:(Image fromScreen) 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1469
                            defaultName:'screen'
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1470
                      ] 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1471
        afterSeconds:(self window sensor shiftDown ifTrue:5 ifFalse:1)
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1472
!
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1473
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1474
fullScreenHardcopyUngrabbed
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1475
    "after a second (to allow redraw of views under menu ...),
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1476
     save the contents of the whole screen."
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1477
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1478
    Processor 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1479
        addTimedBlock:[
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1480
                        |display image|
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1481
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1482
                        display := Screen current.
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1483
                        image := Image 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1484
                            fromScreen:(0@0 corner:(display extent))
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1485
                            on:display
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1486
                            grab:false.
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1487
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1488
                        self 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1489
                            saveScreenImage:image 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1490
                            defaultName:'screen'
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1491
                      ] 
d6713cc88cde grab screen (shift/ctrl key behavior)
james
parents: 3325
diff changeset
  1492
        afterSeconds:(self window sensor shiftDown ifTrue:5 ifFalse:1)
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1493
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1494
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1495
iconifyAllWindows
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1496
    |setOfViews currentScreen|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1497
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1498
    setOfViews := Project current views asIdentitySet.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1499
    setOfViews addAll:(Project defaultProject views).
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1500
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1501
    currentScreen := Screen current.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1502
    setOfViews do:[:aTopView |
3219
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1503
	aTopView device == currentScreen ifTrue:[
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1504
	    aTopView collapse
2e32f575524c removed mouseSettings - useless
Claus Gittinger <cg@exept.de>
parents: 3218
diff changeset
  1505
	]
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1506
    ]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1507
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1508
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1509
2765
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1510
migrateAllWindows
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1511
    "migrate all views to some other display"
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1512
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1513
    |anotherDisplay toMigrate|
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1514
3664
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1515
    [
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1516
        anotherDisplay := self askForAnotherDisplay.
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1517
        anotherDisplay isNil ifTrue:[
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1518
            ^ self.
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1519
        ].
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1520
    ] on:Screen deviceOpenErrorSignal do:[:ex|
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1521
        ^ self warn:'cannot open display: ', ex parameter.
2765
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1522
    ].
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1523
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1524
    toMigrate := WindowGroup allInstances 
3664
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1525
        select:[:each | each graphicsDevice == Screen current
2765
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1526
                        and:[each topViews size > 0
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1527
                        and:[each isModal not]]
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1528
               ].
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1529
    toMigrate do:[:eachGroup |
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1530
        eachGroup migrateTo:anotherDisplay
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1531
    ]
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1532
!
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1533
2759
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1534
migrateWindow:aWindow
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1535
    "migrate a view to some other display"
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1536
2778
1e4bf8bf1d37 block migration of a modalBox
Claus Gittinger <cg@exept.de>
parents: 2775
diff changeset
  1537
    aWindow windowGroup isModal ifTrue:[
1e4bf8bf1d37 block migration of a modalBox
Claus Gittinger <cg@exept.de>
parents: 2775
diff changeset
  1538
        self warn:'Sorry - I cannot migrate a modalBox; please migrate the owning View.'.
1e4bf8bf1d37 block migration of a modalBox
Claus Gittinger <cg@exept.de>
parents: 2775
diff changeset
  1539
        ^ self
1e4bf8bf1d37 block migration of a modalBox
Claus Gittinger <cg@exept.de>
parents: 2775
diff changeset
  1540
    ].
2775
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1541
    self migrateWindow:aWindow withBackOption:(self confirm:'Show ''Return Back'' Button on the other display ?')
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1542
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1543
!
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1544
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1545
migrateWindow:aWindow withBackOption:withBackOption
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1546
    "migrate a view to some other display"
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1547
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1548
    |anotherDisplay wg here b|
2765
c85460a22ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2763
diff changeset
  1549
2766
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1550
    aWindow isTopView ifFalse:[
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1551
        self information:'Cannto migrate this view'.
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1552
        ^ self
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1553
    ].
b8f839bdb66a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2765
diff changeset
  1554
3664
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1555
    [
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1556
        anotherDisplay := self askForAnotherDisplay.
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1557
        anotherDisplay isNil ifTrue:[
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1558
            ^ self.
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1559
        ].
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1560
    ] on:Screen deviceOpenErrorSignal do:[:ex|
77fb767b5368 Changed Workstation initialization
Stefan Vogel <sv@exept.de>
parents: 3644
diff changeset
  1561
        ^ self warn:'cannot open display: ', ex parameter.
2759
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1562
    ].
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1563
2775
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1564
    wg := aWindow windowGroup.
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1565
    wg migrateTo:anotherDisplay.
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1566
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1567
    withBackOption ifTrue:[
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1568
        here := Screen current.
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1569
        b := Button onDevice:anotherDisplay.
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1570
        b label:'Return window back to ' , here displayName.
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1571
        b action:[ wg migrateTo:here. b destroy. ].
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1572
        b origin:0@0.
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1573
        b open.
f780a7d651e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2766
diff changeset
  1574
    ].
2759
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1575
!
2afab235070a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2755
diff changeset
  1576
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1577
screenHardcopy
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1578
    "after a second (to allow redraw of views under menu ...),
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1579
     let user specify a rectangular area on the screen
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1580
     and save its contents."
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1581
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1582
    |area|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1583
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1584
    Processor 
3782
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1585
        addTimedBlock:[
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1586
                        [Screen current leftButtonPressed] whileTrue:[Delay waitForSeconds:0.05].
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1587
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1588
                        area := Rectangle fromUser.
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1589
                        (area width > 0 and:[area height > 0]) ifTrue:[
3856
d2c16db43c66 wait 2 seconds before grabbing
Claus Gittinger <cg@exept.de>
parents: 3826
diff changeset
  1590
                            Delay waitForSeconds:2.
3782
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1591
                            self saveScreenImage:(Image fromScreen:area) defaultName:'hardcopy'
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1592
                        ]
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1593
                      ] 
d30c08c77963 hardcopy file box
tm
parents: 3778
diff changeset
  1594
        afterSeconds:(self window sensor shiftDown ifTrue:5 ifFalse:1)
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1595
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1596
    "Modified: / 18.8.1998 / 15:00:42 / cg"
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1597
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1598
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1599
startWindowTreeView
2371
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1600
    "open a windowTree (on a picked topView)"
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1601
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1602
    |v|
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1603
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1604
    WindowTreeView isNil ifTrue:[
2371
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1605
        ^ self warn:'The WindowTreeView is not available in this release.'
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1606
    ].
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1607
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1608
    v := self pickAView.
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1609
    v notNil ifTrue:[
2371
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1610
        WindowTreeView openOn:v topView
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1611
    ]
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1612
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1613
!
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1614
2371
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1615
startWindowTreeViewForAll
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1616
    "open a windowTree on all views in the system"
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1617
4243
2dc1cbadd5fc *** empty log message ***
penk
parents: 4242
diff changeset
  1618
    |v|
2dc1cbadd5fc *** empty log message ***
penk
parents: 4242
diff changeset
  1619
2371
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1620
    WindowTreeView isNil ifTrue:[
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1621
        ^ self warn:'The WindowTreeView is not available in this release.'
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1622
    ].
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1623
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1624
    WindowTreeView openOnAll
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1625
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1626
!
7ce8ba08aca1 added windowTree on all views on all screens
Claus Gittinger <cg@exept.de>
parents: 2359
diff changeset
  1627
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1628
viewDestroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1629
    "let user pick a view and destroy it.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1630
     Even allow destroying non-smalltalk views
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1631
     (also for views which I forgot due to some error)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1632
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1633
    |device v id i c|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1634
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1635
    (Delay forSeconds:1) wait.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1636
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1637
    device := Screen current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1638
    i := Image fromFile:'bitmaps/xpmBitmaps/cursors/cross2.xpm'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1639
    i isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1640
	c := Cursor crossHair
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1641
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1642
	c := Cursor fromImage:i
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1643
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1644
    id := device viewIdFromPoint:(device pointFromUserShowing:c).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1645
    (v := device viewFromId:id) notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1646
	v topView destroy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1647
	^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1648
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1649
    id = device rootView id ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1650
	^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1651
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1652
    (Dialog confirm:'mhmh, this may not a be smalltalk view\(Or I somehow forgot about it).\Destroy anyway ?' withCRs)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1653
    ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1654
	device destroyView:nil withId:id
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1655
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1656
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1657
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1658
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1659
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1660
viewHardcopy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1661
    "after a second (to allow redraw of views under menu ...),
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1662
     let user specify a view and save its contents."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1663
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1664
    Processor 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1665
        addTimedBlock:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1666
                        |v|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1667
                        (v := Screen current viewFromUser) notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1668
                            self saveScreenImage:(Image fromView:(v topView)) defaultName:'hardcopy'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1669
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1670
                      ] 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1671
        afterSeconds:(self window sensor shiftDown ifTrue:5 ifFalse:1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1672
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1673
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1674
viewInspect
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1675
    "let user pick a view and inspect it. Only smalltalk views are allowed"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1676
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1677
    |v|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1678
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1679
    (v := self pickAView) notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1680
	v inspect
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1681
    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1682
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1683
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1684
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1685
viewMigrate
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1686
    "let user pick a view and migrate it to some other display"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1687
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1688
    |v|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1689
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1690
    (v := self pickAView) notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1691
        self migrateWindow:v topView
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1692
    ]
2005
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1693
! !
c227faa4616b more refactoring (NewLauncher <-> Launcher)
Claus Gittinger <cg@exept.de>
parents: 2001
diff changeset
  1694
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1695
!AbstractLauncherApplication::KbdMappingSettingsAppl class methodsFor:'interface specs'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1696
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1697
windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1698
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1699
     by the UIPainter of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1700
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1701
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1702
     the UIPainter may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1703
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1704
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1705
     UIPainter new openOnClass:AbstractLauncherApplication::KbdMappingSettingsAppl andSelector:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1706
     AbstractLauncherApplication::KbdMappingSettingsAppl new openInterface:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1707
     AbstractLauncherApplication::KbdMappingSettingsAppl open
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1708
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1709
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1710
    <resource: #canvas>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1711
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1712
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1713
     #(#FullSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1714
        #name: #windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1715
        #window: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1716
       #(#WindowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1717
          #label: 'Keyboard Mappings'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1718
          #name: 'Keyboard Mappings'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1719
          #min: #(#Point 10 10)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1720
          #max: #(#Point 1024 768)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1721
          #bounds: #(#Rectangle 16 42 491 620)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1722
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1723
        #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1724
       #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1725
          #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1726
           #(#VariableVerticalPanelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1727
              #name: 'VariableVerticalPanel1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1728
              #layout: #(#LayoutFrame 0 0.0 60 0 0 1.0 -34 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1729
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1730
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1731
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1732
                 #(#VariableHorizontalPanelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1733
                    #name: 'VariableHorizontalPanel1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1734
                    #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1735
                   #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1736
                      #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1737
                       #(#SequenceViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1738
                          #name: 'RawKeyList'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1739
                          #model: #selectedRawKey
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1740
                          #hasHorizontalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1741
                          #hasVerticalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1742
                          #useIndex: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1743
                          #sequenceList: #rawKeyList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1744
                        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1745
                       #(#SequenceViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1746
                          #name: 'FunctionKeyList'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1747
                          #model: #selectedFunctionKey
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1748
                          #hasHorizontalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1749
                          #hasVerticalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1750
                          #useIndex: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1751
                          #sequenceList: #functionKeyList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1752
                        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1753
                       )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1754
                     
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1755
                    )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1756
                    #handles: #(#Any 0.5 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1757
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1758
                 #(#ViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1759
                    #name: 'Box1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1760
                    #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1761
                   #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1762
                      #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1763
                       #(#TextEditorSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1764
                          #name: 'MacroText'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1765
                          #layout: #(#LayoutFrame 0 0.0 20 0 0 1.0 0 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1766
                          #model: #macroTextHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1767
                          #hasHorizontalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1768
                          #hasVerticalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1769
                          #isReadOnly: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1770
                        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1771
                       #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1772
                          #label: 'Macro text (if any):'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1773
                          #name: 'MacroTextLabel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1774
                          #layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 20 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1775
                          #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1776
                          #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1777
                        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1778
                       )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1779
                     
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1780
                    )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1781
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1782
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1783
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1784
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1785
              #handles: #(#Any 0.5 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1786
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1787
           #(#HorizontalPanelViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1788
              #name: 'HorizontalPanel1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1789
              #layout: #(#LayoutFrame 0 0.0 -34 1 0 1.0 0 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1790
              #horizontalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1791
              #verticalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1792
              #horizontalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1793
              #verticalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1794
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1795
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1796
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1797
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1798
                    #label: 'Close'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1799
                    #name: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1800
                    #visibilityChannel: #isNotPartOfSettinsDialog
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1801
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1802
                    #model: #doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1803
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1804
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1805
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1806
                    #label: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1807
                    #name: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1808
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1809
                    #model: #help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1810
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1811
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1812
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1813
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1814
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1815
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1816
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1817
              #label: 'NoticeText'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1818
              #name: 'Text'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1819
              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 60 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1820
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1821
              #labelChannel: #labelTextHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1822
              #resizeForLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1823
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1824
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1825
           )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1826
         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1827
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1828
      )
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1829
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1830
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1831
!AbstractLauncherApplication::KbdMappingSettingsAppl methodsFor:'actions'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1832
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1833
doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1834
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1835
    self isPartOfSettinsDialog ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1836
        self loadRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1837
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1838
    self closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1839
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1840
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1841
evaluateModified
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1842
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1843
    self modifiedChannel value:(self hasUnsavedChanges).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1844
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1845
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1846
help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1847
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1848
    self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/keyboardSetting.html'].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1849
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1850
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1851
loadRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1852
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1853
    self modifiedChannel value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1854
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1855
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1856
saveRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1857
    | result |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1858
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1859
    (self hasUnsavedChanges) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1860
        result := self confirmWithCancel:(resources string:'Save changed Tool Settings ?'). 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1861
        result isNil ifTrue:[ ^ false].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1862
        result ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1863
            self saveSettings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1864
        ] 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1865
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1866
    ^ true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1867
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1868
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1869
saveSettings
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1870
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1871
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1872
!AbstractLauncherApplication::KbdMappingSettingsAppl methodsFor:'aspects'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  1873
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1874
functionKeyList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1875
    "automatically generated by UIPainter ..."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1876
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1877
    "*** the code below creates a default model when invoked."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1878
    "*** (which may not be the one you wanted)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1879
    "*** Please change as required and accept it in the browser."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1880
    "*** (and replace this comment by something more useful ;-)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1881
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1882
    functionKeyList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1883
        functionKeyList := ValueHolder new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1884
"/ if your app needs to be notified of changes, uncomment one of the lines below:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1885
"/       functionKeyList addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1886
"/       functionKeyList onChangeSend:#functionKeyListChanged to:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1887
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1888
    ^ functionKeyList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1889
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1890
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1891
labelTextHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1892
    "automatically generated by UIPainter ..."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1893
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1894
    "*** the code below creates a default model when invoked."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1895
    "*** (which may not be the one you wanted)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1896
    "*** Please change as required and accept it in the browser."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1897
    "*** (and replace this comment by something more useful ;-)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1898
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1899
    labelTextHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1900
        labelTextHolder := ValueHolder new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1901
"/ if your app needs to be notified of changes, uncomment one of the lines below:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1902
"/       labelTextHolder addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1903
"/       labelTextHolder onChangeSend:#labelTextHolderChanged to:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1904
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1905
    ^ labelTextHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1906
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1907
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1908
macroTextHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1909
    "automatically generated by UIPainter ..."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1910
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1911
    "*** the code below creates a default model when invoked."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1912
    "*** (which may not be the one you wanted)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1913
    "*** Please change as required and accept it in the browser."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1914
    "*** (and replace this comment by something more useful ;-)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1915
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1916
    macroTextHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1917
        macroTextHolder := ValueHolder new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1918
"/ if your app needs to be notified of changes, uncomment one of the lines below:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1919
"/       macroTextHolder addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1920
"/       macroTextHolder onChangeSend:#macroTextHolderChanged to:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1921
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1922
    ^ macroTextHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1923
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1924
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1925
modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1926
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1927
    modifiedChannel isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1928
        modifiedChannel := false asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1929
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1930
    ^ modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1931
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1932
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1933
rawKeyList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1934
    "automatically generated by UIPainter ..."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1935
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1936
    "*** the code below creates a default model when invoked."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1937
    "*** (which may not be the one you wanted)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1938
    "*** Please change as required and accept it in the browser."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1939
    "*** (and replace this comment by something more useful ;-)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1940
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1941
    rawKeyList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1942
        rawKeyList := List new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1943
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1944
    ^ rawKeyList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1945
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1946
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1947
selectedFunctionKey
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1948
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1949
    selectedFunctionKey isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1950
        selectedFunctionKey := ValueHolder new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1951
        selectedFunctionKey addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1952
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1953
    ^ selectedFunctionKey.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1954
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1955
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1956
selectedRawKey
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1957
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1958
    selectedRawKey isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1959
        selectedRawKey := ValueHolder new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1960
        selectedRawKey addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1961
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1962
    ^ selectedRawKey.
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  1963
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  1964
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  1965
!AbstractLauncherApplication::KbdMappingSettingsAppl methodsFor:'change & update'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  1966
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1967
changeFunctionKeySelection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1968
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1969
    |raw|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1970
    raw := self selectedRawKey value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1971
    self selectedFunctionKey value:(mappings at:raw asSymbol) asString.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1972
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1973
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1974
changeMacroText
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1975
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1976
    |f macro indent|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1977
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1978
    f := self selectedFunctionKey value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1979
    (f startsWith:'Cmd') ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1980
        f := f copyFrom:4
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1981
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1982
    macro := UserPreferences current functionKeySequences 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1983
                at:(f asSymbol) ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1984
    macro notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1985
        macro := macro asStringCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1986
        indent := macro
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1987
                     inject:99999 into:[:min :element |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1988
                         |stripped|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1989
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1990
                         stripped := element withoutLeadingSeparators.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1991
                         stripped size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1992
                             min
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1993
                         ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1994
                             min min:(element size - stripped size)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1995
                         ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1996
                     ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1997
        indent ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1998
            macro := macro collect:[:line | 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  1999
                         line size > indent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2000
                            line copyFrom:indent+1
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2001
                         ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2002
                            line
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2003
                         ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2004
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2005
        ].                        
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2006
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2007
    macroTextHolder value:macro.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2008
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2009
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2010
changeRawKeySelection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2011
    |f raw|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2012
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2013
    f := self selectedFunctionKey value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2014
    raw := mappings keyAtValue:f asString.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2015
    raw isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2016
        raw := mappings keyAtValue:f first.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2017
        raw isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2018
            raw := mappings keyAtValue:f asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2019
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2020
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2021
    self selectedRawKey value:raw.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2022
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2023
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2024
update:something with:aParameter from:changedObject
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2025
    "Invoked when an object that I depend upon sends a change notification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2026
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2027
    "stub code automatically generated - please change as required"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2028
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2029
    changedObject == self selectedFunctionKey ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2030
        self changeRawKeySelection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2031
        self changeMacroText.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2032
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2033
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2034
    changedObject == self selectedRawKey ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2035
        self changeFunctionKeySelection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2036
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2037
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2038
    super update:something with:aParameter from:changedObject
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2039
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2040
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2041
!AbstractLauncherApplication::KbdMappingSettingsAppl methodsFor:'initialization & release'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2042
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2043
closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2044
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2045
     It will be invoked when your app/dialog-window is really closed.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2046
     See also #closeDownViews, which is invoked before and may suppress the close
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2047
     or ask the user for confirmation."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2048
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2049
    "/ change the code below as required ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2050
    "/ This should cleanup any leftover resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2051
    "/ (for example, temporary files)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2052
    "/ super closeRequest will initiate the closeDown
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2053
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2054
    "/ add your code here
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2055
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2056
    "/ do not remove the one below ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2057
    ^ super closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2058
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2059
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2060
closeRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2061
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2062
    self saveRequest ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2063
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2064
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2065
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2066
    ^ super closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2067
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2068
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2069
initialize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2070
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2071
    resources := self class owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2072
    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2073
    mappings := Screen current keyboardMap.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2074
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2075
    rawKeyList := (mappings keys asArray collect:[:key | key asString]) sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2076
    functionKeyList := (mappings values asSet asArray collect:[:key | key asString]) sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2077
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2078
    self labelTextHolder value:(resources at:'KEY_MSG2' default:'keyboard mapping:') withCRs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2079
    super initialize
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2080
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2081
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2082
!AbstractLauncherApplication::KbdMappingSettingsAppl methodsFor:'queries'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2083
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2084
hasUnsavedChanges
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2085
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2086
    ^ false
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2087
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2088
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2089
!AbstractLauncherApplication::LanguageSettingsAppl class methodsFor:'interface specs'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2090
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2091
windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2092
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2093
     by the UIPainter of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2094
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2095
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2096
     the UIPainter may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2097
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2098
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2099
     UIPainter new openOnClass:AbstractLauncherApplication::LanguageSettingsAppl andSelector:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2100
     AbstractLauncherApplication::LanguageSettingsAppl new openInterface:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2101
     AbstractLauncherApplication::LanguageSettingsAppl open
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2102
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2103
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2104
    <resource: #canvas>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2105
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2106
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2107
     #(#FullSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2108
        #name: #windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2109
        #window: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2110
       #(#WindowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2111
          #label: 'Language Settings'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2112
          #name: 'Language Settings'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2113
          #min: #(#Point 10 10)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2114
          #max: #(#Point 1024 768)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2115
          #bounds: #(#Rectangle 16 42 491 713)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2116
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2117
        #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2118
       #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2119
          #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2120
           #(#InputFieldSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2121
              #name: 'EntryField1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2122
              #layout: #(#LayoutFrame 0 0.0 105 0 0 1.0 125 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2123
              #model: #languageHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2124
              #acceptOnReturn: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2125
              #acceptOnTab: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2126
              #acceptOnLostFocus: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2127
              #acceptOnPointerLeave: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2128
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2129
           #(#SequenceViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2130
              #name: 'List1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2131
              #layout: #(#LayoutFrame 0 0.0 125 0 0 1.0 -34 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2132
              #model: #languageHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2133
              #hasHorizontalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2134
              #hasVerticalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2135
              #doubleClickSelector: #doubleClick:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2136
              #useIndex: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2137
              #sequenceList: #languageList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2138
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2139
           #(#HorizontalPanelViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2140
              #name: 'HorizontalPanel1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2141
              #layout: #(#LayoutFrame 0 0.0 -34 1 0 1.0 0 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2142
              #horizontalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2143
              #verticalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2144
              #horizontalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2145
              #verticalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2146
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2147
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2148
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2149
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2150
                    #label: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2151
                    #name: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2152
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2153
                    #model: #saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2154
                    #enableChannel: #modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2155
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2156
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2157
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2158
                    #label: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2159
                    #name: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2160
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2161
                    #model: #doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2162
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2163
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2164
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2165
                    #label: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2166
                    #name: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2167
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2168
                    #model: #help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2169
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2170
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2171
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2172
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2173
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2174
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2175
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2176
              #label: 'Notice:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2177
              #name: 'Notice'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2178
              #layout: #(#LayoutFrame 0 0 0 0 0 1.0 105 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2179
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2180
              #labelChannel: #noticeLabelHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2181
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2182
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2183
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2184
              #label: 'Label'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2185
              #name: 'CurrentLang'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2186
              #layout: #(#LayoutFrame -150 1 0 0 0 1 20 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2187
              #style: #(#FontDescription #helvetica #bold #roman 12)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2188
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2189
              #labelChannel: #currentLanguageChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2190
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2191
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2192
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2193
              #label: 'Current Language:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2194
              #name: 'Label1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2195
              #layout: #(#LayoutFrame 190 0 0 0 -150 1 20 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2196
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2197
              #labelChannel: #currentLanguageLabel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2198
              #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2199
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2200
           )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2201
         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2202
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2203
      )
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2204
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2205
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2206
!AbstractLauncherApplication::LanguageSettingsAppl methodsFor:'accessing'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2207
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2208
languageList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2209
    "return the value of the instance variable 'languageList' (automatically generated)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2210
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2211
    ^ languageList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2212
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2213
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2214
requestor
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2215
    "return the value of the instance variable 'requestor' (automatically generated)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2216
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2217
    | masterApplication |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2218
    masterApplication := self masterApplication.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2219
    masterApplication notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2220
        ^ masterApplication requestor.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2221
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2222
    ^ nil
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2223
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2225
!AbstractLauncherApplication::LanguageSettingsAppl methodsFor:'actions'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2226
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2227
doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2228
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2229
    self isPartOfSettinsDialog ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2230
        self loadRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2231
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2232
    self closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2233
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2234
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2235
doubleClick:aEntry
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2236
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2237
    self saveSettings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2238
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2239
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2240
evaluateModified
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2241
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2242
    self modifiedChannel value:(self hasUnsavedChanges).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2243
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2245
help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2246
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2247
    self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/languageSetting.html'].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2248
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2249
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2250
loadRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2251
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2252
    self languageHolder value:self currentLanguage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2253
    self currentLanguageChannel value:self currentLanguage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2254
    self modifiedChannel value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2255
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2256
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2257
saveRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2258
    | result |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2259
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2260
    (self hasUnsavedChanges) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2261
        result := self confirmWithCancel:(resources string:'Save changed Language Settings ?'). 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2262
        result isNil ifTrue:[ ^ false].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2263
        result ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2264
            self saveSettings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2265
        ] 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2266
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2267
    ^ true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2268
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2269
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2270
saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2271
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2272
    |fontPref idx language oldLanguage territory enc 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2273
     answer matchingFonts l screen newLanguage switch|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2274
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2275
    newLanguage := self languageHolder value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2276
    self withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2277
        idx := translatedLanguages indexOf:newLanguage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2278
        idx ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2279
            language := listOfLanguages at:idx
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2280
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2281
            language := newLanguage
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2282
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2283
        (language includes:$-) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2284
            l := language asCollectionOfSubstringsSeparatedBy:$-.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2285
            language := l at:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2286
            territory := l at:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2287
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2288
        territory isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2289
            territory := language copyTo:2
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2290
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2291
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2292
        "/ check if the new language needs a differently encoded font;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2293
        "/ ask user to switch font and allow cancellation.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2294
        "/ Otherwise, you are left with unreadable menu & button items ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2295
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2296
        oldLanguage := Smalltalk language.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2297
        Smalltalk language:language asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2298
        ResourcePack flushCachedResourcePacks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2299
        "/ refetch resources ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2300
        resources := AbstractLauncherApplication classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2301
        fontPref := resources at:'PREFERRED_FONT_ENCODING' default:'iso8859*'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2302
        fontPref := fontPref asLowercase.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2303
        Smalltalk language:oldLanguage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2304
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2305
        switch := true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2306
        enc := MenuView defaultFont encoding.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2307
        (fontPref match:enc asLowercase) ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2308
            "/ look if there is one at all.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2309
            screen := Screen current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2310
            matchingFonts := screen listOfAvailableFonts select:[:f | fontPref match:f encoding asLowercase].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2311
            matchingFonts size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2312
                "/ flush and try again - just in case, the font path has changed.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2313
                screen flushListOfAvailableFonts.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2314
                matchingFonts := screen listOfAvailableFonts select:[:f | fontPref match:f encoding asLowercase].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2315
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2316
            matchingFonts size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2317
                (Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2318
                    confirm:(resources 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2319
                                string:'Your display does not offer any %1-encoded font.\\Change the language anyway ?\ (texts will probably be unreadable then)'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2320
                                  with:fontPref) withCRs)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2321
                ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2322
                    switch := false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2323
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2324
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2325
                answer := Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2326
                            confirmWithCancel:(resources 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2327
                                                    string:'menu font is not %1-encoded.\\Change it ?'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2328
                                                    with:fontPref) withCRs
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2329
                                       labels:(resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2330
                                                    array:#('cancel' 'no' 'yes'))
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2331
                                       default:3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2332
                answer isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2333
                    switch := false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2334
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2335
                    answer ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2336
                        switch := ( self requestor fontBoxForEncoding:fontPref)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2337
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2338
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2339
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2340
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2341
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2342
        switch ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2343
            Transcript showCR:'change language to ' , newLanguage , ' ...'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2344
            Smalltalk language:language asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2345
            Smalltalk languageTerritory:territory asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2346
            "/ ResourcePack flushCachedResourcePacks - already done by language-change
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2347
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2348
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2349
    switch ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2350
        self requestor notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2351
            self requestor reopenLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2352
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2353
        DebugView newDebugger.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2354
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2355
    self currentLanguageChannel value:self currentLanguage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2356
    self modifiedChannel value:false.
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2357
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2358
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2359
!AbstractLauncherApplication::LanguageSettingsAppl methodsFor:'aspects'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2360
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2361
currentLanguageChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2362
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2363
    currentLanguageChannel isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2364
        currentLanguageChannel := self currentLanguage asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2365
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2366
    ^ currentLanguageChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2367
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2368
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2369
currentLanguageLabel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2370
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2371
    currentLanguageLabel isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2372
        currentLanguageLabel := (resources string:'Current Language:') asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2373
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2374
    ^ currentLanguageLabel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2375
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2376
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2377
languageHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2378
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2379
    languageHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2380
        languageHolder := self currentLanguage asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2381
        languageHolder onChangeSend:#evaluateModified to:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2382
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2383
    ^ languageHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2384
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2385
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2386
modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2387
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2388
    modifiedChannel isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2389
        modifiedChannel := false asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2390
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2391
    ^ modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2392
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2393
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2394
noticeLabelHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2395
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2396
    noticeLabelHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2397
        noticeLabelHolder := ((resources at:'LANG_MSG' default:'Select a Language') withCRs) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2398
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2399
    ^ noticeLabelHolder.
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2400
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2401
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2402
!AbstractLauncherApplication::LanguageSettingsAppl methodsFor:'initialization & release'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2403
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2404
closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2405
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2406
     It will be invoked when your app/dialog-window is really closed.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2407
     See also #closeDownViews, which is invoked before and may suppress the close
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2408
     or ask the user for confirmation."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2409
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2410
    "/ change the code below as required ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2411
    "/ This should cleanup any leftover resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2412
    "/ (for example, temporary files)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2413
    "/ super closeRequest will initiate the closeDown
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2414
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2415
    "/ add your code here
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2416
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2417
    "/ do not remove the one below ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2418
    ^ super closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2419
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2420
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2421
closeRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2422
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2423
    self saveRequest ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2424
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2425
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2426
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2427
    ^ super closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2428
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2429
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2430
initialize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2431
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2432
    |flags|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2433
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2434
    resources := self class owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2435
    listOfLanguages := resources at:'LIST_OF_OFFERED_LANGUAGES' default:#('default').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2436
    listOfLanguages := listOfLanguages asOrderedCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2437
    translatedLanguages := listOfLanguages collect:[:lang | |item|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2438
                                        item := resources at:lang.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2439
                                        item isString ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2440
                                            item
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2441
                                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2442
                                            item at:1
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2443
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2444
                                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2445
    flags := listOfLanguages collect:[:lang | |item|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2446
                                        item := resources at:lang.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2447
                                        item isArray ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2448
                                            item at:2
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2449
                                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2450
                                            nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2451
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2452
                                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2453
    flags := flags collect:[:nm | |img d| nm notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2454
                                            img := Image fromFile:nm.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2455
                                            img isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2456
                                                d := Smalltalk getPackageDirectoryForPackage:'stx:goodies'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2457
                                                img := Image fromFile:(d construct:nm).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2458
                                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2459
                                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2460
                                            nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2461
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2462
                           ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2463
    listOfLanguages := listOfLanguages collect:[:nm | nm copyFrom:'LANG_' size + 1].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2464
    languageList := translatedLanguages with:flags collect:[:lang :flag | LabelAndIcon icon:flag string:lang.].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2465
    super initialize
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2466
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2467
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2468
!AbstractLauncherApplication::LanguageSettingsAppl methodsFor:'queries'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2469
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2470
currentLanguage
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2471
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2472
    | lang |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2473
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2474
    lang := Language ~= LanguageTerritory ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2475
        Language , '-' , LanguageTerritory
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2476
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2477
        Language
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2478
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2479
    ^ languageList at:(listOfLanguages indexOf:lang)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2480
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2481
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2482
hasUnsavedChanges
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2483
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2484
    ^ (self languageHolder value) ~= (self currentLanguage)  
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2485
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  2486
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2487
!AbstractLauncherApplication::LauncherDialogs class methodsFor:'dialogs'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2488
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2489
communicationsSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2490
    "open a dialog on communications settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2491
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2492
    |box check in resources y acceptChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2493
     hasRDoitServer rDoitServerPort
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2494
     rDoitsEnabled rDoitLogging rDoitErrorLogging rDoitErrorDebugging 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2495
     org_rDoitsEnabled org_rDoitLogging org_rDoitErrorLogging org_rDoitErrorDebugging org_rDoitServerPort
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2496
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2497
     hasRemoteBrowsingSupport remoteBrowsingEnabled org_remoteBrowsingEnabled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2498
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2499
     hasWindowMigrationServer windowMigrationAuthenticate windowMigrationPassword
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2500
     windowMigrationEnabled  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2501
     org_windowMigrationEnabled org_windowMigrationAuthenticate org_windowMigrationPassword
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2502
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2503
     hasHTTPServer httpServerRunning httpServerFileRoot httpServerHomeURL
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2504
     httpServerPort httpServerLogFile hasSwiki swikiEnabled swikiRoot
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2505
     allowEmbedded hasSoap soapEnabled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2506
     org_httpServerRunning org_httpServerFileRoot org_httpServerHomeURL
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2507
     org_httpServerPort org_swikiRoot org_swikiEnabled org_httpServerLogFile
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2508
     org_allowEmbedded org_soapEnabled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2509
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2510
     osiACSEPresent osiROSEPresent osiCMISEPresent
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2511
     osiACSEErrorLogging osiACSEConnectionLogging osiACSEDataLogging
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2512
     osiROSEErrorLogging osiROSEResponseLogging osiROSEInvokationLogging
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2513
     osiCMISEErrorLogging osiCMISEMessageLogging
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2514
    |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2515
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2516
    acceptChannel := false asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2517
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2518
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2519
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2520
    "/ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2521
    "/ extract relevant remoteBrowsing settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2522
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2523
    remoteBrowsingEnabled := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2524
    (hasRemoteBrowsingSupport := SmalltalkShareServer notNil) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2525
        SmalltalkShareServer isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2526
            remoteBrowsingEnabled := SmalltalkShareServer serverRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2527
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2528
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2529
    org_remoteBrowsingEnabled := remoteBrowsingEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2530
    remoteBrowsingEnabled := remoteBrowsingEnabled asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2531
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2532
    "/ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2533
    "/ extract relevant windowMigration settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2534
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2535
    windowMigrationEnabled := windowMigrationAuthenticate := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2536
    (hasWindowMigrationServer := WindowMigrationServer notNil) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2537
        WindowMigrationServer isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2538
            windowMigrationEnabled := WindowMigrationServer serverRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2539
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2540
        windowMigrationPassword := WindowMigrationServer password.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2541
        windowMigrationAuthenticate := windowMigrationPassword notNil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2542
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2543
    org_windowMigrationEnabled := windowMigrationEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2544
    windowMigrationEnabled := windowMigrationEnabled asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2545
    org_windowMigrationAuthenticate := windowMigrationAuthenticate.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2546
    windowMigrationAuthenticate := windowMigrationAuthenticate asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2547
    org_windowMigrationPassword := windowMigrationPassword.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2548
    windowMigrationPassword := windowMigrationPassword asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2549
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2550
    "/ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2551
    "/ extract relevant rdoit settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2552
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2553
    rDoitsEnabled := rDoitLogging := rDoitErrorLogging := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2554
    (hasRDoitServer := RDoItServer notNil) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2555
        RDoItServer isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2556
            rDoitsEnabled := RDoItServer serverRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2557
            rDoitLogging := RDoItServer isLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2558
            rDoitErrorLogging := RDoItServer isErrorLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2559
            rDoitErrorDebugging := RDoItServer isErrorCatching not.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2560
            rDoitServerPort := RDoItServer defaultPortNumber.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2561
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2562
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2563
    org_rDoitsEnabled := rDoitsEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2564
    org_rDoitLogging := rDoitLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2565
    org_rDoitErrorLogging := rDoitErrorLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2566
    org_rDoitErrorDebugging := rDoitErrorDebugging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2567
    org_rDoitServerPort := rDoitServerPort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2568
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2569
    rDoitServerPort := rDoitServerPort asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2570
    rDoitsEnabled := rDoitsEnabled asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2571
    rDoitLogging := rDoitLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2572
    rDoitErrorLogging := rDoitErrorLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2573
    rDoitErrorDebugging := rDoitErrorDebugging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2574
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2575
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2576
    "/ extract http-server settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2577
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2578
    hasHTTPServer := httpServerRunning := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2579
    (hasHTTPServer := HTTPServer notNil) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2580
        HTTPServer isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2581
            httpServerRunning := HTTPServer isRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2582
            httpServerFileRoot := HTTPServer fileRoot.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2583
            httpServerHomeURL := HTTPServer homeURL.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2584
            httpServerPort := HTTPServer defaultPort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2585
            httpServerLogFile := HTTPServer defaultLogFile.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2586
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2587
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2588
    org_httpServerRunning := httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2589
    httpServerRunning := httpServerRunning asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2590
    org_httpServerFileRoot := httpServerFileRoot.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2591
    httpServerFileRoot := httpServerFileRoot asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2592
    org_httpServerHomeURL := httpServerHomeURL.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2593
    httpServerHomeURL := httpServerHomeURL asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2594
    org_httpServerPort := httpServerPort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2595
    httpServerPort := httpServerPort asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2596
    org_httpServerLogFile := httpServerLogFile.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2597
    httpServerLogFile := httpServerLogFile asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2598
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2599
    httpServerRunning 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2600
        onChangeEvaluate:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2601
            httpServerFileRoot value:(HTTPServer fileRoot).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2602
            httpServerHomeURL value:(HTTPServer homeURL).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2603
            httpServerPort value:(HTTPServer defaultPort).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2604
            httpServerLogFile value:(HTTPServer defaultLogFile)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2605
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2606
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2607
    hasSwiki := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2608
    swikiEnabled := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2609
    soapEnabled := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2610
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2611
    (hasSwiki := PWS::SwikiAction notNil) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2612
        PWS::SwikiAction isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2613
            (HTTPServer notNil and:[HTTPServer isLoaded]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2614
                swikiEnabled := HTTPServer hasMySwikiConfigured.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2615
                swikiRoot := PWS::SwikiAction serverDirectory.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2616
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2617
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2618
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2619
    (hasSoap := SOAP::SoapHttpModule notNil) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2620
        SOAP::SoapHttpModule isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2621
            (HTTPServer notNil and:[HTTPServer isLoaded]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2622
                soapEnabled := HTTPServer hasSoapEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2623
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2624
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2625
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2626
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2627
    org_swikiRoot := swikiRoot.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2628
    org_swikiEnabled := swikiEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2629
    org_soapEnabled := soapEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2630
    swikiRoot := swikiRoot asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2631
    swikiEnabled := swikiEnabled asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2632
    soapEnabled := soapEnabled asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2633
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2634
    swikiEnabled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2635
        onChangeEvaluate:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2636
            swikiRoot value:(PWS::SwikiAction serverDirectory).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2637
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2638
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2639
    allowEmbedded := HTTPServer isLoaded and:[HTTPServer enableEmbeddedSmalltalk].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2640
    org_allowEmbedded := allowEmbedded.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2641
    allowEmbedded := allowEmbedded asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2642
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2643
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2644
    "/ osi settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2645
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2646
    osiACSEPresent := OSI::ACSE notNil and:[OSI::ACSE isLoaded].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2647
    osiROSEPresent := OSI::ROSE notNil and:[OSI::ROSE isLoaded].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2648
    osiCMISEPresent := OSI::CMISE notNil and:[OSI::CMISE isLoaded].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2649
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2650
    osiACSEPresent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2651
        osiACSEErrorLogging := OSI::ACSE errorLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2652
        osiACSEConnectionLogging := OSI::ACSE connectionLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2653
        osiACSEDataLogging :=  OSI::ACSE dataLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2654
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2655
    osiROSEPresent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2656
        osiROSEErrorLogging := OSI::ROSE errorLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2657
        osiROSEInvokationLogging := OSI::ROSE invocationLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2658
        osiROSEResponseLogging :=  OSI::ROSE responseLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2659
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2660
    osiCMISEPresent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2661
        osiCMISEErrorLogging := OSI::CMISE errorLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2662
        osiCMISEMessageLogging := OSI::CMISE messageLogging asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2663
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2664
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2665
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2666
    "/ create a box on those values ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2667
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2668
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2669
    box label:(resources string:'Communication settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2670
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2671
    box addTextLabel:(resources string:'Remote browsing').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2672
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2673
    check := box addCheckBox:(resources string:'Remote browsing enabled') on:remoteBrowsingEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2674
    hasRemoteBrowsingSupport ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2675
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2676
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2677
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2678
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2679
    box addTextLabel:(resources string:'Window migration').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2680
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2681
    check := box addCheckBox:(resources string:'Window migration enabled') on:windowMigrationEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2682
    hasWindowMigrationServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2683
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2684
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2685
    check := box addCheckBox:(resources string:'Password check') on:windowMigrationAuthenticate.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2686
    check enableChannel:windowMigrationEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2687
    hasWindowMigrationServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2688
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2689
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2690
    box leftIndent:20.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2691
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2692
            addLabelledInputField:(resources string:'Password:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2693
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2694
            on:nil 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2695
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2696
            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2697
    in passwordCharacter:$*.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2698
    in model:windowMigrationPassword.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2699
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2700
    in enableChannel:windowMigrationAuthenticate.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2701
    box leftIndent:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2702
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2703
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2704
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2705
    box addTextLabel:'RDoIt Server'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2706
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2707
    check := box addCheckBox:(resources string:'Remote doits enabled') on:rDoitsEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2708
    hasRDoitServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2709
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2710
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2711
    box leftIndent:20.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2712
    rDoitsEnabled onChangeEvaluate:[ rDoitsEnabled value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2713
                                        rDoitServerPort value isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2714
                                            rDoitServerPort value:(RDoItServer defaultPortNumber).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2715
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2716
                                     ]   
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2717
                                   ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2718
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2719
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2720
            addLabelledInputField:(resources string:'Port:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2721
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2722
            on:nil 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2723
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2724
            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2725
    in converter:(PrintConverter new initForNumber).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2726
    in model:rDoitServerPort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2727
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2728
    in enableChannel:rDoitsEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2729
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2730
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2731
    check := box addCheckBox:(resources string:'Log errors') on:rDoitErrorLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2732
    check width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2733
    check enableChannel:rDoitsEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2734
    hasRDoitServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2735
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2736
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2737
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2738
    check := box addCheckBox:(resources string:'Log requests') on:rDoitLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2739
    check left:0.4; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2740
    check enableChannel:rDoitsEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2741
    hasRDoitServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2742
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2743
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2744
    check := box addCheckBox:(resources string:'Debug errors') on:rDoitErrorDebugging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2745
    check width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2746
    check enableChannel:rDoitsEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2747
    hasRDoitServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2748
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2749
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2750
    box leftIndent:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2751
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2752
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2753
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2754
    box addTextLabel:'HTTP Server'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2755
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2756
    check := box addCheckBox:(resources string:'Serving HTTP Requests') on:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2757
    hasHTTPServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2758
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2759
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2760
    box leftIndent:20.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2761
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2762
            addLabelledInputField:(resources string:'Port:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2763
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2764
            on:nil 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2765
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2766
            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2767
    in converter:(PrintConverter new initForNumber).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2768
    in model:httpServerPort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2769
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2770
    in enableChannel:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2771
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2772
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2773
            addLabelledInputField:(resources string:'Log File:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2774
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2775
            on:httpServerLogFile 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2776
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2777
            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2778
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2779
    in enableChannel:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2780
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2781
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2782
            addLabelledInputField:(resources string:'File Root:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2783
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2784
            on:httpServerFileRoot 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2785
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2786
            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2787
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2788
    in enableChannel:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2789
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2790
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2791
            addLabelledInputField:(resources string:'Home URL:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2792
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2793
            on:httpServerHomeURL 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2794
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2795
            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2796
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2797
    in enableChannel:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2798
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2799
    check := box addCheckBox:(resources string:'Swiki enabled') on:swikiEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2800
    hasHTTPServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2801
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2802
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2803
    check enableChannel:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2804
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2805
"/    box leftIndent:40.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2806
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2807
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2808
            addLabelledInputField:(resources string:'SwikiRoot:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2809
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2810
            on:swikiRoot 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2811
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2812
            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2813
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2814
    in enableChannel:(BlockValue forLogical:httpServerRunning and:swikiEnabled).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2815
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2816
    check := box addCheckBox:(resources string:'Allow embedded ST applications') on:allowEmbedded.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2817
    hasHTTPServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2818
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2819
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2820
    check enableChannel:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2821
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2822
    check := box addCheckBox:(resources string:'Soap enabled') on:soapEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2823
    hasHTTPServer ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2824
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2825
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2826
    check enableChannel:httpServerRunning.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2827
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2828
    box leftIndent:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2829
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2830
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2831
    box addTextLabel:(resources string:'OSI Protocols (addOn package)').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2832
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2833
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2834
    check := box addCheckBox:(resources string:'Log %1 Errors' with:'ACSE') on:osiACSEErrorLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2835
    check width:0.33.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2836
    osiACSEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2837
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2838
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2839
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2840
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2841
    check := box addCheckBox:(resources string:'Connections') on:osiACSEConnectionLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2842
    osiACSEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2843
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2844
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2845
    check left:0.33; width:0.33.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2846
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2847
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2848
    check := box addCheckBox:(resources string:'Data Xfer') on:osiACSEDataLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2849
    osiACSEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2850
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2851
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2852
    check left:0.66; width:0.34.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2853
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2854
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2855
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2856
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2857
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2858
    check := box addCheckBox:(resources string:'Log %1 Errors' with:'ROSE') on:osiROSEErrorLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2859
    osiROSEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2860
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2861
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2862
    check width:0.33.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2863
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2864
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2865
    check := box addCheckBox:(resources string:'Invoactions') on:osiROSEInvokationLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2866
    osiROSEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2867
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2868
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2869
    check left:0.33; width:0.33.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2870
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2871
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2872
    check := box addCheckBox:(resources string:'Responses') on:osiROSEResponseLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2873
    osiROSEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2874
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2875
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2876
    check left:0.66; width:0.34.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2877
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2878
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2879
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2880
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2881
    check := box addCheckBox:(resources string:'Log %1 Errors' with:'CMISE') on:osiCMISEErrorLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2882
    osiCMISEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2883
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2884
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2885
    check width:0.33.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2886
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2887
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2888
    check := box addCheckBox:(resources string:'Messages') on:osiCMISEMessageLogging.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2889
    osiCMISEPresent ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2890
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2891
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2892
    check left:0.33; width:0.33.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2893
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2894
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2895
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2896
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2897
        addHelpButtonFor:'Launcher/communicationsSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2898
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2899
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2900
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2901
    "/ show the box ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2902
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2903
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2904
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2905
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2906
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2907
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2908
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2909
        acceptChannel value:false; value:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2910
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2911
        hasRemoteBrowsingSupport ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2912
            remoteBrowsingEnabled := remoteBrowsingEnabled value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2913
            (remoteBrowsingEnabled ~~ org_remoteBrowsingEnabled) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2914
                remoteBrowsingEnabled ~~ SmalltalkShareServer serverRunning ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2915
                    remoteBrowsingEnabled ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2916
                        SmalltalkShareServer killAll
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2917
                    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2918
                        SmalltalkShareServer start.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2919
                        "/ must wait a bit; give it a chance to
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2920
                        "/ really start (before checking)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2921
                        Delay waitForSeconds:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2922
                        SmalltalkShareServer serverRunning ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2923
                            self warn:'SmalltalkShareServer startup failed (see stderr).'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2924
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2925
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2926
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2927
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2928
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2929
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2930
        hasWindowMigrationServer ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2931
            windowMigrationEnabled := windowMigrationEnabled value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2932
            windowMigrationAuthenticate := windowMigrationAuthenticate value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2933
            windowMigrationPassword := windowMigrationPassword value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2934
            (windowMigrationEnabled ~~ org_windowMigrationEnabled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2935
            or:[windowMigrationAuthenticate ~~ org_windowMigrationAuthenticate 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2936
            or:[windowMigrationPassword ~~ org_windowMigrationPassword]])  ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2937
                windowMigrationAuthenticate ~~ org_windowMigrationAuthenticate ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2938
                    windowMigrationAuthenticate ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2939
                        WindowMigrationServer password:nil    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2940
                    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2941
                        WindowMigrationServer password:windowMigrationPassword    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2942
                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2943
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2944
                windowMigrationEnabled ~~ WindowMigrationServer serverRunning ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2945
                    windowMigrationEnabled ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2946
                        WindowMigrationServer stop
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2947
                    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2948
                        WindowMigrationServer start.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2949
                        "/ must wait a bit; give it a chance to
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2950
                        "/ really start (before checking)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2951
                        Delay waitForSeconds:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2952
                        WindowMigrationServer serverRunning ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2953
                            self warn:'WindowMigrationServer startup failed (see stderr).'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2954
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2955
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2956
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2957
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2958
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2959
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2960
        hasRDoitServer ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2961
            (rDoitLogging value ~~ org_rDoitLogging
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2962
            or:[rDoitErrorDebugging value ~~ org_rDoitErrorDebugging
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2963
            or:[rDoitErrorLogging value ~~ org_rDoitErrorLogging
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2964
            or:[rDoitsEnabled value ~~ org_rDoitsEnabled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2965
            or:[rDoitServerPort value ~~ org_rDoitServerPort]]]]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2966
                RDoItServer autoload.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2967
                RDoItServer defaultPortNumber:rDoitServerPort value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2968
                RDoItServer logging:(rDoitLogging value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2969
                RDoItServer errorLogging:(rDoitErrorLogging value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2970
                RDoItServer errorCatching:(rDoitErrorDebugging value not).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2971
                rDoitsEnabled := rDoitsEnabled value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2972
                rDoitsEnabled ~~ RDoItServer serverRunning ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2973
                    rDoitsEnabled ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2974
                        RDoItServer stop
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2975
                    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2976
                        RDoItServer start.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2977
                        "/ must wait a bit; give it a chance to
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2978
                        "/ really start (before checking)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2979
                        Delay waitForSeconds:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2980
                        RDoItServer serverRunning ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2981
                            self warn:'RDoit startup failed (see stderr).'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2982
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2983
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2984
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2985
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2986
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2987
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2988
        (hasHTTPServer and:[HTTPServer isLoaded]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2989
            httpServerPort := httpServerPort value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2990
            org_httpServerPort ~= httpServerPort ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2991
                HTTPServer defaultPort:httpServerPort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2992
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2993
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2994
            httpServerFileRoot := httpServerFileRoot value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2995
            httpServerFileRoot size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2996
                httpServerFileRoot := nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2997
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2998
            org_httpServerFileRoot ~= httpServerFileRoot ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  2999
                HTTPServer fileRoot:httpServerFileRoot.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3000
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3001
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3002
            httpServerLogFile := httpServerLogFile value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3003
            httpServerLogFile size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3004
                httpServerLogFile := nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3005
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3006
            org_httpServerLogFile ~= httpServerLogFile ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3007
                HTTPServer defaultLogFile:httpServerLogFile.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3008
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3009
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3010
            httpServerHomeURL := httpServerHomeURL value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3011
            httpServerHomeURL size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3012
                httpServerHomeURL := nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3013
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3014
            org_httpServerHomeURL ~= httpServerHomeURL ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3015
                HTTPServer homeURL:httpServerHomeURL.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3016
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3017
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3018
            httpServerRunning value ~~ org_httpServerRunning ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3019
                httpServerRunning value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3020
                    HTTPServer startServer
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3021
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3022
                    HTTPServer stopServer
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3023
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3024
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3025
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3026
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3027
        hasSwiki ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3028
            swikiRoot := swikiRoot value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3029
            swikiRoot size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3030
                swikiRoot := nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3031
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3032
            org_swikiRoot ~= swikiRoot ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3033
                PWS::ServerAction serverDirectory:swikiRoot.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3034
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3035
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3036
            swikiEnabled value ~~ org_swikiEnabled ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3037
                swikiEnabled value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3038
                    HTTPServer setupMySwiki
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3039
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3040
                    HTTPServer disableMySwiki
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3041
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3042
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3043
            allowEmbedded value ~~ org_allowEmbedded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3044
                HTTPServer enableEmbeddedSmalltalk:allowEmbedded value
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3045
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3046
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3047
        hasSoap ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3048
            soapEnabled value ~~ org_soapEnabled ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3049
                soapEnabled value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3050
                    HTTPServer setupSoap
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3051
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3052
                    HTTPServer disableSoap
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3053
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3054
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3055
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3056
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3057
        osiACSEPresent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3058
            OSI::ACSE errorLogging:osiACSEErrorLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3059
            OSI::ACSE connectionLogging:osiACSEConnectionLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3060
            OSI::ACSE dataLogging:osiACSEDataLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3061
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3062
        osiROSEPresent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3063
            OSI::ROSE errorLogging:osiROSEErrorLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3064
            OSI::ROSE invocationLogging:osiROSEInvokationLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3065
            OSI::ROSE responseLogging:osiROSEResponseLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3066
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3067
        osiCMISEPresent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3068
            OSI::CMISE errorLogging:osiCMISEErrorLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3069
            OSI::CMISE messageLogging:osiCMISEMessageLogging value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3070
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3071
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3072
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3073
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3074
    "Modified: / 28.6.1999 / 15:44:35 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3075
    "Modified: / 20.1.2000 / 19:14:18 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3076
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3077
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3078
compilerSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3079
    "open a dialog on compiler related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3080
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3081
    |box warnings warnSTX warnUnderscore warnDollar warnOldStyle warnUnusedVars
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3082
     allowDollar allowUnderscore allowSqueakExtensions allowQualifiedNames
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3083
     allowDolphinExtensions allowOldStyleAssignment allowReservedWordsAsSelectors 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3084
     immutableArrays
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3085
     warnSTXBox warnUnderscoreBox warnOldStyleBox warnCommonMistakes warnCommonMistakesBox
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3086
     warnCompatibility warnCompatibilityBox warnDollarBox warnUnusedVarsBox
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3087
     stcCompilation compilationList stcCompilationOptions 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3088
     historyLines fullHistoryUpdate 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3089
     catchMethodRedefs catchClassRedefs keepSourceOptions keepSource  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3090
     constantFoldingOptions constantFolding justInTimeCompilation 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3091
     warnEnabler check component oldIndent supportsJustInTimeCompilation y
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3092
     y2 fullDebugSupport yMax
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3093
     compileLazy loadBinaries canLoadBinaries strings idx thisIsADemoVersion
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3094
     resources stcSetupButt|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3095
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3096
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3097
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3098
    canLoadBinaries := ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3099
    loadBinaries := Smalltalk loadBinaries asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3100
    compileLazy := Autoload compileLazy asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3101
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3102
    warnings := Compiler warnings asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3103
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3104
    warnSTX := Compiler warnSTXSpecials asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3105
    warnUnderscore := Compiler warnUnderscoreInIdentifier asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3106
    warnDollar := Compiler warnDollarInIdentifier asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3107
    warnOldStyle := Compiler warnOldStyleAssignment asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3108
    warnCommonMistakes := Compiler warnCommonMistakes asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3109
    warnCompatibility := Compiler warnPossibleIncompatibilities asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3110
    warnUnusedVars := Compiler warnUnusedVars asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3111
    allowUnderscore := Compiler allowUnderscoreInIdentifier asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3112
    allowDollar := Compiler allowDollarInIdentifier asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3113
    allowSqueakExtensions := Compiler allowSqueakExtensions asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3114
    allowDolphinExtensions := Compiler allowDolphinExtensions asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3115
    allowQualifiedNames := Compiler allowQualifiedNames asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3116
    allowOldStyleAssignment := Compiler allowOldStyleAssignment asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3117
    allowReservedWordsAsSelectors := Compiler allowReservedWordsAsSelectors asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3118
    immutableArrays := Compiler arraysAreImmutable asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3119
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3120
    constantFoldingOptions := #( nil #level1 #level2 #full ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3121
    constantFolding := SelectionInList new list:(resources array:#('disabled' 'level1 (always safe)' 'level2 (usually safe)' 'full')).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3122
    constantFolding selectionIndex:3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3123
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3124
    thisIsADemoVersion := (Smalltalk releaseIdentification = 'ST/X_free_demo_vsn').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3125
    thisIsADemoVersion ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3126
        stcCompilationOptions := #( never).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3127
        strings := #('never').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3128
        idx := 1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3129
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3130
        stcCompilationOptions := #( always default never).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3131
        strings := #('always' 'primitive code only' 'never').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3132
        idx := 2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3133
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3134
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3135
    stcCompilation := SelectionInList new list:(resources array:strings).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3136
    stcCompilation selectionIndex:idx.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3137
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3138
    (supportsJustInTimeCompilation := ObjectMemory supportsJustInTimeCompilation)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3139
    ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3140
        justInTimeCompilation := ObjectMemory justInTimeCompilation.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3141
        fullDebugSupport := ObjectMemory fullSingleStepSupport.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3142
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3143
        justInTimeCompilation := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3144
        fullDebugSupport := (Compiler lineNumberInfo == #full) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3145
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3146
    justInTimeCompilation := justInTimeCompilation asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3147
    fullDebugSupport := fullDebugSupport asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3148
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3149
    catchMethodRedefs := Class catchMethodRedefinitions asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3150
    catchClassRedefs := Class catchClassRedefinitions asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3151
    historyLines := HistoryManager notNil and:[HistoryManager isLoaded and:[HistoryManager isActive]].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3152
    historyLines ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3153
        fullHistoryUpdate := false asValue   
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3154
    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3155
        fullHistoryUpdate := HistoryManager fullHistoryUpdate asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3156
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3157
    historyLines := historyLines asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3158
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3159
    keepSourceOptions := #( keep reference absReference sourceReference discard ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3160
    keepSource := SelectionInList new 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3161
                        list:(resources array:#('Keep as String' 'Reference to Filename' 'Reference to Full Path' 'Append and Ref in `st.src''' 'Discard' )).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3162
    keepSource selectionIndex:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3163
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3164
    warnEnabler := [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3165
              warnings value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3166
                warnSTXBox enable. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3167
                warnOldStyleBox enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3168
                warnCommonMistakesBox enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3169
                warnCompatibilityBox enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3170
                warnUnusedVarsBox enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3171
                allowUnderscore value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3172
                    warnUnderscoreBox enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3173
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3174
                    warnUnderscoreBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3175
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3176
                allowDollar value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3177
                    warnDollarBox enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3178
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3179
                    warnDollarBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3180
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3181
              ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3182
                warnSTXBox disable. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3183
                warnUnderscoreBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3184
                warnDollarBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3185
                warnOldStyleBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3186
                warnCommonMistakesBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3187
                warnCompatibilityBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3188
                warnUnusedVarsBox disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3189
              ]].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3190
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3191
    warnings onChangeEvaluate:warnEnabler.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3192
    allowUnderscore onChangeEvaluate:warnEnabler.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3193
    allowDollar onChangeEvaluate:warnEnabler.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3194
"/    allowSqueakExtensions onChangeEvaluate:warnEnabler.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3195
"/    allowQualifiedNames onChangeEvaluate:warnEnabler.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3196
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3197
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3198
    box label:(resources string:'Compiler Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3199
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3200
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3201
    check := box addCheckBox:(resources string:'Catch Method Redefinitions') on:catchMethodRedefs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3202
    check width:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3203
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3204
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3205
    check := box addCheckBox:(resources string:'Catch Class Redefinitions') on:catchClassRedefs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3206
    check left:0.5; width:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3207
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3208
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3209
    check := box addCheckBox:(resources string:'Keep History Line in Methods') on:historyLines.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3210
    check width:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3211
    HistoryManager isNil ifTrue:[check disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3212
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3213
    check := box addCheckBox:(resources string:'Keep Full Class History') on:fullHistoryUpdate.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3214
    check left:0.5; width:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3215
    HistoryManager isNil ifTrue:[check disable] ifFalse:[check enableChannel:historyLines].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3216
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3217
    box addPopUpList:(resources string:'FileIn Source Mode:') on:keepSource.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3218
    keepSource selectionIndex:( keepSourceOptions indexOf:(ClassCategoryReader sourceMode) ifAbsent:1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3219
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3220
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3221
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3222
    box addCheckBox:(resources string:'Lazy Compilation when Autoloading') on:compileLazy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3223
    check := box addCheckBox:(resources string:'If Present, Load Binary Objects when Autoloading') on:loadBinaries.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3224
    canLoadBinaries ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3225
        loadBinaries value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3226
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3227
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3228
    supportsJustInTimeCompilation ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3229
        component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3230
                        addCheckBox:(resources string:'Just in Time Compilation to Machine Code') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3231
                        on:justInTimeCompilation.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3232
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3233
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3234
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3235
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3236
    ObjectFileLoader notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3237
        compilationList := box addPopUpList:(resources string:'Stc Compilation to Machine Code') on:stcCompilation.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3238
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3239
        thisIsADemoVersion ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3240
            stcCompilation selectionIndex:( stcCompilationOptions indexOf:(Compiler stcCompilation) ifAbsent:2).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3241
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3242
            stcSetupButt := box addComponent:(Button label:(resources string:'Stc Compilation Parameters...') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3243
                       action:[|manager|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3245
                               self stcCompilerSettings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3246
                              ]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3247
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3248
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3249
        box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3250
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3251
        "/ if there is no compiler around,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3252
        "/ change to compile nothing, and disable the checkBoxes
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3253
        Compiler canCreateMachineCode ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3254
            stcCompilation selectionIndex:(3 min:stcCompilationOptions size).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3255
            compilationList disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3256
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3257
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3258
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3259
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3260
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3261
    component := box addCheckBox:(resources string:'Allow Underscore in Identifiers') on:allowUnderscore.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3262
    component width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3263
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3264
    component := box addCheckBox:(resources string:'Allow Dollar in Identifiers') on:allowDollar.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3265
    component width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3266
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3267
    component := box addCheckBox:(resources string:'Allow VW3 QualifiedNames') on:allowQualifiedNames.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3268
    component width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3269
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3270
    component := box addCheckBox:(resources string:'Allow Squeak Extensions') on:allowSqueakExtensions.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3271
    component width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3272
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3273
    component := box addCheckBox:(resources string:'Allow Dolphin Extensions') on:allowDolphinExtensions.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3274
    component width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3275
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3276
    y2 := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3277
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3278
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3279
    box leftIndent:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3280
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3281
    component :=box addPopUpList:(resources string:'Constant Folding:') on:constantFolding.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3282
    component superView left:0.5; width:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3283
    constantFolding selectionIndex:( constantFoldingOptions indexOf:(Compiler foldConstants) ifAbsent:1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3284
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3285
    component := box addCheckBox:(resources string:'Allow OldStyle Assignment (_)') on:allowOldStyleAssignment.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3286
    component left:0.5; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3287
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3288
    component := box addCheckBox:(resources string:'Allow Reserved Words as Selector (self)') on:allowReservedWordsAsSelectors.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3289
    component left:0.5; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3290
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3291
    component := box addCheckBox:(resources string:'Full Debug Info') on:fullDebugSupport.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3292
    component left:0.5; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3293
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3294
    component := box addCheckBox:(resources string:'Literal Arrays are Immutable') on:immutableArrays.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3295
    component left:0.5; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3296
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3297
    box yPosition:(box yPosition max:y2).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3298
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3299
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3300
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3301
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3302
    box addCheckBox:(resources string:'Warnings') on:warnings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3303
"/    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3304
    oldIndent := box leftIndent.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3305
    box leftIndent:30.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3306
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3307
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3308
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3309
    warnSTXBox := box addCheckBox:(resources string:'ST/X Extensions') on:warnSTX.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3310
    warnSTXBox width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3311
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3312
    warnUnderscoreBox := box addCheckBox:(resources string:'Underscores in Identifiers') on:warnUnderscore.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3313
    warnUnderscoreBox width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3314
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3315
    warnDollarBox := box addCheckBox:(resources string:'Dollars in Identifiers') on:warnDollar.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3316
    warnDollarBox width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3317
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3318
    warnUnusedVarsBox := box addCheckBox:(resources string:'Unused Method Variables') on:warnUnusedVars.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3319
    warnUnusedVarsBox width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3320
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3321
    yMax := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3322
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3323
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3324
    box leftIndent:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3325
    warnOldStyleBox := box addCheckBox:(resources string:'OldStyle Assignment') on:warnOldStyle.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3326
    warnOldStyleBox left:0.5; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3327
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3328
    warnCommonMistakesBox := box addCheckBox:(resources string:'Common Mistakes') on:warnCommonMistakes.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3329
    warnCommonMistakesBox left:0.5; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3330
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3331
    warnCompatibilityBox := box addCheckBox:(resources string:'Possible Incompatibilities') on:warnCompatibility.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3332
    warnCompatibilityBox left:0.5; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3333
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3334
    box leftIndent:oldIndent.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3335
    box yPosition:(yMax max: box yPosition).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3336
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3337
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3338
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3339
        addHelpButtonFor:'Launcher/compilerSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3340
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3341
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3342
    warnEnabler value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3343
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3344
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3345
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3346
        HistoryManager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3347
            HistoryManager fullHistoryUpdate:fullHistoryUpdate value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3348
            historyLines value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3349
                HistoryManager activate
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3350
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3351
                HistoryManager deactivate
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3352
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3353
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3354
        Class catchMethodRedefinitions:catchMethodRedefs value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3355
        Class catchClassRedefinitions:catchClassRedefs value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3356
        ClassCategoryReader sourceMode:(keepSourceOptions at:keepSource selectionIndex).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3357
        Compiler warnings:warnings value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3358
        Compiler warnSTXSpecials:warnSTX value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3359
        Compiler warnOldStyleAssignment:warnOldStyle value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3360
        Compiler warnUnderscoreInIdentifier:warnUnderscore value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3361
        Compiler warnDollarInIdentifier:warnDollar value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3362
        Compiler warnCommonMistakes:warnCommonMistakes value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3363
        Compiler warnPossibleIncompatibilities:warnCompatibility value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3364
        Compiler warnUnusedVars:warnUnusedVars value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3365
        Compiler allowUnderscoreInIdentifier:allowUnderscore value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3366
        Compiler allowDollarInIdentifier:allowDollar value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3367
        Compiler allowSqueakExtensions:allowSqueakExtensions value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3368
        Compiler allowDolphinExtensions:allowDolphinExtensions value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3369
        Compiler allowQualifiedNames:allowQualifiedNames value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3370
        Compiler allowOldStyleAssignment:allowOldStyleAssignment value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3371
        Compiler allowReservedWordsAsSelectors:allowReservedWordsAsSelectors value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3372
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3373
        Compiler arraysAreImmutable:immutableArrays value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3374
        fullDebugSupport value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3375
            Compiler lineNumberInfo:#full.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3376
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3377
            Compiler lineNumberInfo:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3378
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3379
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3380
        Compiler stcCompilation:(stcCompilationOptions at:stcCompilation selectionIndex).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3381
        Compiler foldConstants:(constantFoldingOptions at:constantFolding selectionIndex).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3382
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3383
        supportsJustInTimeCompilation ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3384
            justInTimeCompilation := justInTimeCompilation value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3385
            justInTimeCompilation ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3386
                Method allInstancesDo:[:m | m checked:false].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3387
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3388
            ObjectMemory justInTimeCompilation:justInTimeCompilation.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3389
            ObjectMemory fullSingleStepSupport:fullDebugSupport value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3390
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3391
        Autoload compileLazy:compileLazy value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3392
        Smalltalk loadBinaries:loadBinaries value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3393
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3394
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3395
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3396
    "Modified: / 10.9.1995 / 19:19:18 / claus"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3397
    "Modified: / 9.9.1996 / 22:42:47 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3398
    "Modified: / 5.11.1998 / 14:25:59 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3399
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3400
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3401
displaySettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3402
    "open a dialog on display related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3403
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3404
    |box listOfSizes sizeInfos
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3405
     sizes sizeNames sizeList sizeX sizeY deepIcons
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3406
     isColorMonitor useFixPalette useFixGrayPalette idx ditherStyles ditherSyms ditherList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3407
     y component screen visual clipEncodings clipEncodingSyms clipEncodingList resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3408
     |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3409
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3410
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3411
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3412
    listOfSizes := resources at:'LIST_OF_OFFERED_SCREEN_SIZES' default:#default.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3413
    listOfSizes == #default ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3414
        "/ nothing in resource file; offer at least some.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3415
        sizeInfos := #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3416
                           ( '11.3'' (235mm x 175mm) LCD'   (235 175)    )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3417
                           ( '17''   (325mm x 245mm)'       (325 245)    )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3418
                           ( '19''   (340mm x 270mm)'       (340 270)    )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3419
                           ( '20''   (350mm x 280mm)'       (350 280)    )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3420
                           ( '21''   (365mm x 285mm)'       (365 285)    )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3421
                       ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3422
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3423
        sizeInfos := resources array:listOfSizes.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3424
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3425
    sizeNames := sizeInfos collect:[:entry | entry at:1].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3426
    sizes := sizeInfos collect:[:entry | entry at:2].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3427
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3428
    screen := Screen current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3429
    visual := screen visualType.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3430
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3431
    isColorMonitor := screen hasColors asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3432
    deepIcons := screen supportsDeepIcons asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3433
    useFixPalette := screen fixColors notNil asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3434
    useFixGrayPalette := screen fixGrayColors notNil asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3435
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3436
    sizeList := SelectionInList with:sizeNames.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3437
    sizeX := screen widthInMillimeter asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3438
    sizeY := screen heightInMillimeter asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3439
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3440
    clipEncodingSyms := #(nil #iso8859 #jis #jis7 #sjis #euc #big5).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3441
    clipEncodings := resources array:#('untranslated' 'iso8859' 'jis' 'jis7' 'shift-JIS' 'EUC' 'big5').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3442
    clipEncodingList := SelectionInList new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3443
    clipEncodingList list:clipEncodings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3444
    clipEncodingList selectionIndex:(clipEncodingSyms indexOf:screen clipBoardEncoding ifAbsent:1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3445
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3446
    ditherList := SelectionInList new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3447
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3448
    (visual == #StaticGray or:[visual == #GrayScale]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3449
        ditherStyles := #('threshold' 'ordered dither' 'error diffusion').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3450
        ditherSyms := #(threshold ordered floydSteinberg).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3451
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3452
        visual ~~ #TrueColor ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3453
            ditherStyles := #('nearest color' 'error diffusion').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3454
            ditherSyms := #(ordered floydSteinberg).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3455
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3456
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3457
    ditherSyms notNil ifTrue:[    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3458
        ditherList list:ditherStyles.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3459
        ditherList selectionIndex:(ditherSyms indexOf:(Image ditherAlgorithm) ifAbsent:#threshold).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3460
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3461
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3462
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3463
    box label:(resources string:'Display Screen Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3464
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3465
    (box addTextLabel:(resources string:'Actual Visible Screen Area:'))
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3466
        adjust:#left.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3467
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3468
    (box addPopUpList:(resources string:'Common Sizes:') on:sizeList)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3469
        label:'monitor size'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3470
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3471
    idx := sizes findFirst:[:entry |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3472
                                ((entry at:1) = sizeX value)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3473
                                and:[((entry at:2) = sizeY value)]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3474
                           ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3475
    idx ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3476
        sizeList selectionIndex:idx
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3477
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3478
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3479
    sizeList onChangeEvaluate:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3480
                                        |idx|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3481
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3482
                                        idx := sizeList selectionIndex.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3483
                                        sizeX value:((sizes at:idx) at:1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3484
                                        sizeY value:((sizes at:idx) at:2).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3485
                                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3486
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3487
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3488
    component := box addTextLabel:(resources string:'Screen Size:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3489
    component width:0.3; adjust:#right; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3490
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3491
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3492
    component := box addInputFieldOn:nil tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3493
    component width:0.25; left:0.3; 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3494
              immediateAccept:false; acceptOnLeave:false; 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3495
              cursorMovementWhenUpdating:#beginOfLine;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3496
              converter:(PrintConverter new initForInteger);
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3497
              model:sizeX.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3498
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3499
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3500
    component := box addTextLabel:(' x ').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3501
    component width:0.1; left:0.55; adjust:#center; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3502
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3503
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3504
    component := box addInputFieldOn:nil tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3505
    component width:0.25; left:0.65; 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3506
              immediateAccept:false; acceptOnLeave:false; 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3507
              cursorMovementWhenUpdating:#beginOfLine;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3508
              converter:(PrintConverter new initForInteger);
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3509
              model:sizeY.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3510
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3511
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3512
    component := box addTextLabel:('(mm)').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3513
    component width:0.1; left:0.9; adjust:#center; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3514
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3515
    box addVerticalSpace; addHorizontalLine; addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3516
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3517
    (box addTextLabel:(resources string:'Screen: Depth: %1 Visual: %2  (%3)'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3518
                                 with:screen depth printString
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3519
                                 with:screen visualType
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3520
                                 with:screen serverVendor))
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3521
        adjust:#left.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3522
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3523
    box addVerticalSpace; addHorizontalLine; addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3524
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3525
    box addCheckBox:(resources string:'Color Monitor') on:isColorMonitor.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3526
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3527
    visual == #PseudoColor ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3528
        box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3529
        component := box addCheckBox:(resources string:'Use Fix Color Palette %1' with:'(4x8x4)') on:useFixPalette.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3530
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3531
        box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3532
        component := box addCheckBox:(resources string:'Use Fix Gray Color Palette %1' with:'(32)') on:useFixGrayPalette.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3533
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3534
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3535
    ditherSyms notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3536
        box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3537
        component := box addPopUpList:(resources string:'Image Display:') on:ditherList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3538
        component defaultLabel:'image display'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3539
        component superView horizontalLayout:#leftSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3540
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3541
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3542
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3543
    box addCheckBox:(resources string:'Allow Colored/Grayscale Icons') on:deepIcons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3544
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3545
    box addVerticalSpace; addHorizontalLine; addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3546
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3547
    component := box addPopUpList:(resources string:'ClipBoard Encoding:') on:clipEncodingList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3548
    component superView horizontalLayout:#leftSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3549
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3550
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3551
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3552
        addHelpButtonFor:'Launcher/screenSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3553
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3554
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3555
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3556
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3557
        Image flushDeviceImages.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3558
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3559
        screen visualType == #PseudoColor ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3560
            useFixPalette value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3561
                Color colorAllocationFailSignal handle:[:ex |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3562
                    self warn:'Could not allocate colors.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3563
                ] do:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3564
                    Color getColorsRed:4 green:8 blue:4 on:screen
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3565
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3566
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3567
                screen releaseFixColors
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3568
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3569
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3570
            useFixGrayPalette value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3571
                Color colorAllocationFailSignal handle:[:ex |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3572
                    self warn:'Could not allocate colors.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3573
                ] do:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3574
                    Color getGrayColors:32 on:screen
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3575
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3576
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3577
                screen releaseFixGrayColors
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3578
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3579
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3580
        screen hasColors:isColorMonitor value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3581
        screen widthInMillimeter:sizeX value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3582
        screen heightInMillimeter:sizeY value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3583
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3584
        screen supportsDeepIcons:deepIcons value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3585
        ditherSyms notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3586
            Image ditherAlgorithm:(ditherSyms at:ditherList selectionIndex).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3587
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3588
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3589
        WindowGroup activeGroup withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3590
            View defaultStyle:(View defaultStyle).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3591
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3592
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3593
        screen clipBoardEncoding:(clipEncodingSyms at:clipEncodingList selectionIndex).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3594
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3595
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3596
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3597
    "Modified: / 9.9.1996 / 22:43:04 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3598
    "Modified: / 20.5.1999 / 18:35:21 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3599
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3600
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3601
editSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3602
    "open a dialog on edit settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3603
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3604
    |box st80EditingMode st80DoubleClickSelectMode resources 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3605
     tabsIs4 prevTabsIs4 searchDialogIsModal startTextDragWithControl|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3606
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3607
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3608
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3609
    "/ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3610
    "/ extract relevant system settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3611
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3612
    st80EditingMode := UserPreferences current st80EditMode asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3613
    st80DoubleClickSelectMode := TextView st80SelectMode asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3614
    prevTabsIs4 := (ListView userDefaultTabPositions = ListView tab4Positions).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3615
    tabsIs4 := prevTabsIs4 asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3616
    searchDialogIsModal := UserPreferences current searchDialogIsModal asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3617
    startTextDragWithControl := UserPreferences current startTextDragWithControl asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3618
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3619
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3620
    "/ create a box on those values ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3621
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3622
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3623
    box label:(resources string:'Edit settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3624
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3625
    box addCheckBox:(resources string:'Cursor has ST80 Line-end Behavior') on:st80EditingMode.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3626
    box addCheckBox:(resources string:'Double Click Select Behavior as in ST80') on:st80DoubleClickSelectMode.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3627
    box addCheckBox:(resources string:'Tab Stops in Multiples of 4') on:tabsIs4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3628
    box addCheckBox:(resources string:'SearchBox is Modal') on:searchDialogIsModal.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3629
    box addCheckBox:(resources string:'CTRL-Key to Start TextDrag') on:startTextDragWithControl.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3630
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3631
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3632
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3633
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3634
        addHelpButtonFor:'Launcher/editSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3635
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3636
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3637
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3638
    "/ show the box ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3639
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3640
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3641
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3642
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3643
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3644
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3645
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3646
        UserPreferences current st80EditMode:(st80EditingMode value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3647
        TextView st80SelectMode:(st80DoubleClickSelectMode value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3648
        tabsIs4 value ~~ prevTabsIs4 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3649
            ListView userDefaultTabPositions:(tabsIs4 value ifTrue:[ListView tab4Positions] ifFalse:[ListView tab8Positions]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3650
            ListView allSubInstancesDo:[:eachKindOfListView |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3651
                tabsIs4 value ifTrue:[eachKindOfListView setTab4] ifFalse:[eachKindOfListView setTab8]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3652
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3653
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3654
        UserPreferences current searchDialogIsModal:searchDialogIsModal value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3655
        UserPreferences current startTextDragWithControl:startTextDragWithControl value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3656
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3657
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3658
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3659
    "Created: / 6.1.1999 / 14:12:09 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3660
    "Modified: / 6.1.1999 / 14:17:51 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3661
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3662
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3663
fontSettingsFor:requestor
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3664
    "open a dialog on font related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3665
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3666
    (self fontBoxForEncoding:nil) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3667
        requestor reopenLauncher.
3741
a9d08a1b0d7d Fix save settings dialog when called with Filename arg
Stefan Vogel <sv@exept.de>
parents: 3738
diff changeset
  3668
    ]
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3669
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3670
    "Created: 26.2.1996 / 22:52:51 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3671
    "Modified: 8.1.1997 / 14:52:49 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3672
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3673
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3674
javaSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3675
    "open a dialog on settings related to the java subsystem"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3676
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3677
    |box audio javaHome classPath oldJavaHome oldClassPath resources component
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3678
     extraFileSecurityChecks extraSocketSecurityChecks
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3679
     supportsJustInTimeCompilation 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3680
     javaJustInTimeCompilation javaNativeCodeOptimization
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3681
     showJavaByteCode exceptionDebug nullPointerExceptionDebug pathSep|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3682
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3683
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3684
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3685
    audio := JavaVM audioEnabled asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3686
    extraFileSecurityChecks := JavaVM fileOpenConfirmation asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3687
    extraSocketSecurityChecks := JavaVM socketConnectConfirmation asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3688
    (supportsJustInTimeCompilation := ObjectMemory supportsJustInTimeCompilation) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3689
        javaJustInTimeCompilation := ObjectMemory javaJustInTimeCompilation asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3690
        javaNativeCodeOptimization := ObjectMemory javaNativeCodeOptimization asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3691
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3692
        javaJustInTimeCompilation := javaNativeCodeOptimization := false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3693
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3694
    showJavaByteCode := JavaMethod forceByteCodeDisplay asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3695
    exceptionDebug := JavaVM exceptionDebug asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3696
    nullPointerExceptionDebug := JavaVM nullPointerExceptionDebug asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3697
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3698
    classPath := (Java classPath ? '').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3699
    OperatingSystem isUNIXlike ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3700
        pathSep := $;.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3701
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3702
        pathSep := $:.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3703
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3704
    classPath := (classPath asStringWith:pathSep) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3705
    oldClassPath := classPath copy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3706
    classPath := classPath asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3707
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3708
    javaHome := (Java javaHome ? '').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3709
    oldJavaHome := javaHome copy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3710
    javaHome := javaHome asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3711
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3712
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3713
    box label:(resources string:'Java').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3714
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3715
    box addCheckBox:(resources string:'Audio Enabled') on:audio.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3716
    box addCheckBox:(resources string:'Confirm file open for write') on:extraFileSecurityChecks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3717
    box addCheckBox:(resources string:'Confirm socket connect') on:extraSocketSecurityChecks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3718
    box addCheckBox:(resources string:'Debug Exceptions') on:exceptionDebug.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3719
    box addCheckBox:(resources string:'Debug Null Pointer Exceptions') on:nullPointerExceptionDebug.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3720
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3721
    supportsJustInTimeCompilation ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3722
        box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3723
            addCheckBox:(resources string:'java just in time compilation to machine code') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3724
            on:javaJustInTimeCompilation.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3725
        box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3726
            addCheckBox:(resources string:'optimize native code') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3727
            on:javaNativeCodeOptimization.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3728
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3729
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3730
    box addCheckBox:(resources string:'Display java byteCode (i.e. not source)') on:showJavaByteCode.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3731
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3732
    component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3733
                    addLabelledInputField:(resources string:'classPath:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3734
                    adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3735
                    on:classPath 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3736
                    tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3737
                    separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3738
    component acceptOnLeave:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3739
    component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3740
                    addLabelledInputField:(resources string:'java home:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3741
                    adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3742
                    on:javaHome 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3743
                    tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3744
                    separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3745
    component acceptOnLeave:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3746
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3747
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3748
    box addComponent:(Button 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3749
                        label:(resources string:'Reinit VM now') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3750
                        action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3751
                                box windowGroup withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3752
"/                                    Java classPath size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3753
"/                                        Java initialize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3754
"/                                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3755
"/                                    Java classPath size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3756
"/                                        self warn:'No JDK found'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3757
"/                                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3758
                                        JavaVM initializeVM
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3759
"/                                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3760
                                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3761
                               ]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3762
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3763
    box addComponent:(Button 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3764
                        label:(resources string:'Remove all Java classes now') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3765
                        action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3766
                                box windowGroup withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3767
                                    Java flushAllJavaResources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3768
                                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3769
                               ]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3770
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3771
    "/ box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3772
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3773
"/    box addHelpButtonFor:'Launcher/javaSettings.html'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3774
    box addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3775
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3776
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3777
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3778
        classPath value ~= oldClassPath ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3779
            OperatingSystem isUNIXlike ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3780
                classPath := (classPath value asCollectionOfSubstringsSeparatedBy:$:)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3781
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3782
                classPath := (classPath value asCollectionOfSubstringsSeparatedBy:$;)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3783
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3784
            Java classPath:classPath
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3785
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3786
        Java javaHome:javaHome value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3787
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3788
        JavaMethod forceByteCodeDisplay:showJavaByteCode value. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3789
        JavaVM audioEnabled:audio value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3790
        JavaVM exceptionDebug:exceptionDebug value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3791
        JavaVM nullPointerExceptionDebug:nullPointerExceptionDebug value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3792
        JavaVM fileOpenConfirmation: extraFileSecurityChecks value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3793
        JavaVM socketConnectConfirmation: extraSocketSecurityChecks value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3794
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3795
        javaJustInTimeCompilation value ~~ ObjectMemory javaJustInTimeCompilation ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3796
            ObjectMemory javaJustInTimeCompilation:javaJustInTimeCompilation value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3797
            javaJustInTimeCompilation value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3798
                JavaMethod allSubInstancesDo:[:m | m checked:false].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3799
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3800
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3801
        javaNativeCodeOptimization value ~~ ObjectMemory javaNativeCodeOptimization ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3802
            ObjectMemory javaNativeCodeOptimization:javaNativeCodeOptimization value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3803
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3804
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3805
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3806
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3807
    "Created: / 18.7.1998 / 22:32:58 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3808
    "Modified: / 27.1.1999 / 20:16:03 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3809
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3810
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3811
keyboardSettings 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3812
    "open a dialog on keyboard related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3813
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3814
    |mappings listOfRawKeys listOfFunctions
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3815
     box l
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3816
     list1 list2 listView1 listView2 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3817
     frame selectionForwarder macroForwarder macroTextView y resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3818
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3819
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3820
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3821
    mappings := Screen current keyboardMap.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3822
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3823
    listOfRawKeys := (mappings keys asArray collect:[:key | key asString]) sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3824
    listOfFunctions := (mappings values asSet asArray collect:[:key | key asString]) sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3825
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3826
    selectionForwarder := Plug new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3827
    selectionForwarder respondTo:#showFunction
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3828
                  with:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3829
                        |raw|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3830
                        raw := list1 selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3831
                        list2 retractInterestsFor:selectionForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3832
                        list2 selection:(mappings at:raw asSymbol) asString.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3833
                        list2 onChangeSend:#showRawKey to:selectionForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3834
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3835
    selectionForwarder respondTo:#showRawKey
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3836
                  with:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3837
                        |f raw|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3838
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3839
                        f := list2 selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3840
                        list1 retractInterestsFor:selectionForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3841
                        raw := mappings keyAtValue:f asString.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3842
                        raw isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3843
                            raw := mappings keyAtValue:f first.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3844
                            raw isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3845
                                raw := mappings keyAtValue:f asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3846
                            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3847
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3848
                        list1 selection:raw.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3849
                        list1 onChangeSend:#showFunction to:selectionForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3850
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3851
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3852
    macroForwarder := [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3853
                        |f macro indent|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3854
                        f := list2 selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3855
                        (f startsWith:'Cmd') ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3856
                            f := f copyFrom:4
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3857
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3858
                        macro := UserPreferences current functionKeySequences 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3859
                                    at:(f asSymbol) ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3860
                        macro notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3861
                            macro := macro asStringCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3862
                            indent := macro
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3863
                                         inject:99999 into:[:min :element |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3864
                                             |stripped|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3865
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3866
                                             stripped := element withoutLeadingSeparators.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3867
                                             stripped size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3868
                                                 min
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3869
                                             ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3870
                                                 min min:(element size - stripped size)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3871
                                             ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3872
                                         ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3873
                            indent ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3874
                                macro := macro collect:[:line | 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3875
                                             line size > indent ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3876
                                                line copyFrom:indent+1
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3877
                                             ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3878
                                                line
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3879
                                             ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3880
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3881
                            ].                        
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3882
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3883
                        macroTextView contents:macro.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3884
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3885
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3886
    list1 := SelectionInList with:listOfRawKeys.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3887
    list1 onChangeSend:#showFunction to:selectionForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3888
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3889
    list2 := SelectionInList with:listOfFunctions.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3890
    list2 onChangeSend:#showRawKey to:selectionForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3891
    list2 onChangeEvaluate:macroForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3892
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3893
    box := Dialog new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3894
    box label:(resources string:'Keyboard Mappings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3895
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3896
    l := box addTextLabel:(resources at:'KEY_MSG' default:'keyboard mapping:') withCRs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3897
    l adjust:#left; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3898
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3899
    frame := View new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3900
    frame extent:300 @ 300.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3901
    frame borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3902
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3903
    listView1 := ScrollableView for:SelectionInListView in:frame.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3904
    listView1 model:list1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3905
    listView1 origin:0.0@0.0 corner:0.5@1.0; inset:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3906
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3907
    listView2 := ScrollableView for:SelectionInListView in:frame.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3908
    listView2 model:list2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3909
    listView2 origin:0.5@0.0 corner:1.0@1.0; inset:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3910
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3911
    frame topInset:box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3912
    box addComponent:frame withExtent:350@200.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3913
    box makeTabable:listView1. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3914
    box makeTabable:listView2. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3915
    frame origin:0.0@0.0 corner:1.0@0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3916
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3917
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3918
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3919
    l := box addTextLabel:(resources string:'Macro text (if any):') withCRs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3920
    l adjust:#left; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3921
    l origin:0.0@0.6 corner:1.0@0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3922
    l topInset:(View viewSpacing).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3923
    l bottomInset:(l preferredExtent y negated - View viewSpacing).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3924
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3925
    macroTextView := HVScrollableView for:TextView miniScroller:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3926
    box addComponent:macroTextView tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3927
    macroTextView origin:0.0@0.6 corner:1.0@1.0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3928
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3929
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3930
    box
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3931
        addHelpButtonFor:'Launcher/keyboardSetting.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3932
        "addAbortButton;" 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3933
        addOkButtonLabelled:(resources string:'Close' "'Dismiss'").
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3934
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3935
    macroTextView topInset:(l preferredExtent y + 5).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3936
    macroTextView bottomInset:(box preferredExtent y - y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3937
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3938
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3939
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3940
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3941
        "no action yet ..."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3942
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3943
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3944
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3945
    "Modified: / 9.9.1996 / 22:43:17 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3946
    "Modified: / 4.5.1998 / 12:40:02 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3947
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3948
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3949
languageSettings 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3950
    self languageSettingsFor:nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3951
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3952
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3953
languageSettingsFor:requestor 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3954
    "open a dialog on language related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3955
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3956
    |listOfLanguages translatedLanguages switch box languageList flags resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3957
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3958
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3959
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3960
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3961
     get list of supported languages from the launchers resources ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3962
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3963
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3964
    listOfLanguages := resources at:'LIST_OF_OFFERED_LANGUAGES' default:#('default').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3965
    listOfLanguages := listOfLanguages asOrderedCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3966
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3967
    translatedLanguages := listOfLanguages collect:[:lang | |item|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3968
                                        item := resources at:lang.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3969
                                        item isString ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3970
                                            item
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3971
                                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3972
                                            item at:1
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3973
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3974
                                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3975
    flags := listOfLanguages collect:[:lang | |item|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3976
                                        item := resources at:lang.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3977
                                        item isArray ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3978
                                            item at:2
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3979
                                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3980
                                            nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3981
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3982
                                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3983
    flags := flags collect:[:nm | |img d| nm notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3984
                                            img := Image fromFile:nm.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3985
                                            img isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3986
                                                d := Smalltalk getPackageDirectoryForPackage:'stx:goodies'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3987
                                                img := Image fromFile:(d construct:nm).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3988
                                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3989
                                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3990
                                            nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3991
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3992
                           ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3993
    listOfLanguages := listOfLanguages collect:[:nm | nm copyFrom:'LANG_' size + 1].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3994
    languageList := translatedLanguages with:flags collect:[:lang :flag | LabelAndIcon icon:flag string:lang.].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3995
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3996
    box := ListSelectionBox title:(resources at:'LANG_MSG' default:'Select a Language') withCRs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3997
    box label:(resources string:'Language Selection').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3998
    box list:languageList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  3999
    box initialText:(Language , '-' , LanguageTerritory).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4000
    box action:[:newLanguage |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4001
        WindowGroup activeGroup withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4002
            |fontPref idx language oldLanguage territory enc 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4003
             answer matchingFonts l screen|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4004
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4005
            idx := translatedLanguages indexOf:newLanguage withoutSeparators.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4006
            idx ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4007
                language := listOfLanguages at:idx
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4008
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4009
                language := newLanguage
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4010
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4011
            (language includes:$-) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4012
                l := language asCollectionOfSubstringsSeparatedBy:$-.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4013
                language := l at:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4014
                territory := l at:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4015
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4016
            territory isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4017
                territory := language copyTo:2
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4018
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4019
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4020
            "/ check if the new language needs a differently encoded font;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4021
            "/ ask user to switch font and allow cancellation.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4022
            "/ Otherwise, you are left with unreadable menu & button items ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4023
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4024
            oldLanguage := Smalltalk language.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4025
            Smalltalk language:language asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4026
            ResourcePack flushCachedResourcePacks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4027
            "/ refetch resources ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4028
            resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4029
            fontPref := resources at:'PREFERRED_FONT_ENCODING' default:'iso8859*'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4030
            fontPref := fontPref asLowercase.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4031
            Smalltalk language:oldLanguage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4032
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4033
            switch := true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4034
            enc := MenuView defaultFont encoding.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4035
            (fontPref match:enc asLowercase) ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4036
                "/ look if there is one at all.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4037
                screen := Screen current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4038
                matchingFonts := screen listOfAvailableFonts select:[:f | fontPref match:f encoding asLowercase].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4039
                matchingFonts size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4040
                    "/ flush and try again - just in case, the font path has changed.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4041
                    screen flushListOfAvailableFonts.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4042
                    matchingFonts := screen listOfAvailableFonts select:[:f | fontPref match:f encoding asLowercase].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4043
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4044
                matchingFonts size == 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4045
                    (Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4046
                        confirm:(resources 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4047
                                    string:'Your display does not offer any %1-encoded font.\\Change the language anyway ?\ (texts will probably be unreadable then)'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4048
                                      with:fontPref) withCRs)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4049
                    ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4050
                        switch := false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4051
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4052
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4053
                    answer := Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4054
                                confirmWithCancel:(resources 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4055
                                                        string:'menu font is not %1-encoded.\\Change it ?'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4056
                                                        with:fontPref) withCRs
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4057
                                           labels:(resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4058
                                                        array:#('cancel' 'no' 'yes'))
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4059
                                           default:3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4060
                    answer isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4061
                        switch := false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4062
                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4063
                        answer ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4064
                            switch := (requestor fontBoxForEncoding:fontPref)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4065
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4066
                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4067
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4068
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4069
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4070
            switch ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4071
                Transcript showCR:'change language to ' , newLanguage , ' ...'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4072
                Smalltalk language:language asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4073
                Smalltalk languageTerritory:territory asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4074
                "/ ResourcePack flushCachedResourcePacks - already done by language-change
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4075
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4076
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4077
        switch ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4078
            requestor reopenLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4079
            DebugView newDebugger.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4080
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4081
    ].    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4082
    box
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4083
        addHelpButtonFor:'Launcher/languageSetting.html'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4084
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4085
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4086
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4087
    "Modified: / 9.9.1996 / 22:43:27 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4088
    "Modified: / 16.11.2001 / 11:51:35 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4089
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4090
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4091
memorySettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4092
    "open a dialog on objectMemory related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4093
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4094
    |box igcLimit igcFreeLimit igcFreeAmount newSpaceSize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4095
     compressLimit
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4096
     oldIncr component fields codeLimit codeTrigger stackLimit resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4097
     fastMoreLimit maxOldSpace models info acceptChannel|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4098
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4099
    acceptChannel := false asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4100
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4101
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4102
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4103
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4104
    "/ extract relevant system settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4105
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4106
    igcLimit := ObjectMemory incrementalGCLimit asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4107
    igcFreeLimit := ObjectMemory freeSpaceGCLimit asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4108
    igcFreeAmount := ObjectMemory freeSpaceGCAmount asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4109
    newSpaceSize := ObjectMemory newSpaceSize asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4110
    oldIncr := ObjectMemory oldSpaceIncrement asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4111
    compressLimit := ObjectMemory oldSpaceCompressLimit asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4112
    codeLimit := ObjectMemory dynamicCodeLimit asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4113
    codeTrigger := ObjectMemory dynamicCodeGCTrigger asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4114
    stackLimit := Process defaultMaximumStackSize asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4115
    fastMoreLimit := (ObjectMemory fastMoreOldSpaceLimit:-1) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4116
    maxOldSpace := ObjectMemory maxOldSpace asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4117
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4118
    models := OrderedCollection new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4119
    info := OrderedCollection new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4120
    models add:newSpaceSize.    info add:#(number      'Size of newSpace where objects are created'                    'Size of NewSpace:' ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4121
    models add:fastMoreLimit.   info add:#(number      'Quickly allocate more memory (suppress GC) up to this limit'   'Quick Allocation Limit:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4122
    models add:maxOldSpace.     info add:#(number      'Never allocate more than this amount of memory'                'Maximum Memory Limit:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4123
    models add:igcLimit.        info add:#(number      'Start IGC whenever this amount has been allocated'             'Incremental GC Allocation Trigger:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4124
    models add:igcFreeLimit.    info add:#(number      'Start IGC whenever freespace drops below this'                 'Incremental GC Freespace Trigger:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4125
    models add:igcFreeAmount.   info add:#(number      'Try to keep this amount for peak requests'                     'Incremental GC Amount:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4126
    models add:oldIncr.         info add:#(number      'Increase oldSpace in chunks of this size'                      'Oldspace Increment:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4127
    models add:compressLimit.   info add:#(number      'Use 2-pass compressing GC if > 0 and more memory is in use'    'Oldspace Compress Limit:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4128
    models add:stackLimit.      info add:#(number      'Trigger recursionInterrupt if more stack is used by a process' 'Stack Limit:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4129
    models add:codeLimit.       info add:#(numberOrNil 'Flush dynamic compiled code to stay within this limit'         'Dynamic code Limit:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4130
    models add:codeTrigger.     info add:#(numberOrNil 'Start incremental GC whenever this amount of code has been allocated' 'Dynamic Code GC Trigger:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4131
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4132
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4133
    "/ create a box on those values ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4134
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4135
    fields := OrderedCollection new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4136
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4137
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4138
    box label:(resources string:'Memory Manager Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4139
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4140
    (box addTextLabel:'Warning - invalid settings may result in failures or poor performance
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4141
' , 'You have been warned' allBold , '.') adjust:#left.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4142
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4143
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4144
    models with:info do:[:m :i |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4145
        |lbl descr conv|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4146
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4147
        conv := i at:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4148
        lbl := i at:3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4149
        descr := i at:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4150
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4151
        component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4152
                    addLabelledInputField:(resources string:lbl)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4153
                    adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4154
                    on:nil "/ newSpaceSize 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4155
                    tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4156
                    separateAtX:0.7.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4157
        component acceptOnLeave:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4158
"/        component converter:(PrintConverter new perform:conv).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4159
        component model:((TypeConverter on:m) perform:conv).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4160
        component acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4161
        fields add:component.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4162
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4163
        (box addTextLabel:descr) adjust:#left.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4164
        box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4165
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4166
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4167
    ObjectMemory supportsJustInTimeCompilation ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4168
        (fields at:9) disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4169
        (fields at:10) disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4170
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4171
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4172
    box addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4173
    box
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4174
        addHelpButtonFor:'Launcher/memorySettings.html'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4175
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4176
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4177
    "/ show the box ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4178
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4179
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4180
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4181
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4182
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4183
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4184
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4185
        acceptChannel value:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4186
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4187
        igcFreeAmount value ~~ ObjectMemory freeSpaceGCAmount ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4188
            ObjectMemory freeSpaceGCAmount:igcFreeAmount value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4189
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4190
        igcFreeLimit value ~~ ObjectMemory freeSpaceGCLimit ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4191
            ObjectMemory freeSpaceGCLimit:igcFreeLimit value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4192
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4193
        igcLimit value ~~ ObjectMemory incrementalGCLimit ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4194
            ObjectMemory incrementalGCLimit:igcLimit value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4195
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4196
        newSpaceSize value ~~ ObjectMemory newSpaceSize ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4197
            ObjectMemory newSpaceSize:newSpaceSize value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4198
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4199
        oldIncr value ~~ ObjectMemory oldSpaceIncrement ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4200
            ObjectMemory oldSpaceIncrement:oldIncr value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4201
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4202
        stackLimit value ~~ Process defaultMaximumStackSize ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4203
            Process defaultMaximumStackSize:stackLimit value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4204
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4205
        fastMoreLimit value ~~ (ObjectMemory fastMoreOldSpaceLimit:-1) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4206
            ObjectMemory fastMoreOldSpaceLimit:fastMoreLimit value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4207
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4208
        maxOldSpace value ~~ ObjectMemory maxOldSpace ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4209
            ObjectMemory maxOldSpace:maxOldSpace value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4210
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4211
        ObjectMemory oldSpaceCompressLimit:compressLimit value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4212
        ObjectMemory dynamicCodeLimit:codeLimit value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4213
        ObjectMemory dynamicCodeGCTrigger:codeTrigger value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4214
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4215
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4216
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4217
    "Modified: 27.2.1997 / 16:50:12 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4218
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4219
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4220
messageSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4221
    "open a dialog on infoMessage related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4222
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4223
    |box vmInfo vmErrors displayErrors classInfos resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4224
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4225
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4226
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4227
    vmInfo := ObjectMemory infoPrinting asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4228
    vmErrors := ObjectMemory debugPrinting asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4229
    classInfos := Object infoPrinting asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4230
    displayErrors := DeviceWorkstation errorPrinting asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4231
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4232
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4233
    box label:(resources string:'Messages').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4234
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4235
    box addCheckBox:(resources string:'VM Info Messages') on:vmInfo.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4236
    box addCheckBox:(resources string:'VM Error Messages') on:vmErrors.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4237
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4238
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4239
    box addCheckBox:(resources string:'Display Error Messages (Xlib, Xtlib, WinAPI ...)') on:displayErrors.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4240
    box addCheckBox:(resources string:'Other Info Messages') on:classInfos.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4241
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4242
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4243
    box addHelpButtonFor:'Launcher/messageSettings.html'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4244
    box addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4245
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4246
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4247
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4248
        ObjectMemory infoPrinting:vmInfo value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4249
        ObjectMemory debugPrinting:vmErrors value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4250
        Object infoPrinting:classInfos value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4251
        DeviceWorkstation errorPrinting:displayErrors value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4252
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4253
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4254
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4255
    "Modified: 27.1.1997 / 17:46:01 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4256
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4257
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4258
miscSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4259
    "open a dialog on misc other settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4260
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4261
    |box pos pos2 check butt shadows takeFocus focusFollowsMouse returnFocus  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4262
     hostNameInLabel showAccelerators 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4263
     preemptive dynamicPrios hostNameInLabelHolder resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4264
     activateOnClick opaqueVariablePanelResize opaqueTableColumnResize currentUserPrefs
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4265
     beepEnabled newWindowLabelFormat|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4266
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4267
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4268
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4269
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4270
    "/ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4271
    "/ extract relevant system settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4272
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4273
    shadows := PopUpView shadows asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4274
    beepEnabled := currentUserPrefs beepEnabled asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4275
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4276
    hostNameInLabel := StandardSystemView includeHostNameInLabel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4277
    hostNameInLabelHolder := hostNameInLabel asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4278
    returnFocus := StandardSystemView returnFocusWhenClosingModalBoxes asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4279
    takeFocus := StandardSystemView takeFocusWhenMapped asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4280
    focusFollowsMouse := (currentUserPrefs focusFollowsMouse ? true) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4281
    activateOnClick := (Display activateOnClick:nil) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4282
    opaqueVariablePanelResize := currentUserPrefs opaqueVariablePanelResizing asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4283
    opaqueTableColumnResize := currentUserPrefs opaqueTableColumnResizing asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4284
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4285
    showAccelerators := MenuView showAcceleratorKeys asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4286
    preemptive := Processor isTimeSlicing asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4287
    dynamicPrios := Processor supportDynamicPriorities asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4288
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4289
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4290
    "/ create a box on those values ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4291
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4292
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4293
    box label:(resources string:'Other settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4294
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4295
    box addCheckBox:(resources string:'Shadows under PopUp Views') on:shadows.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4296
    box addCheckBox:(resources string:'Beeper enabled') on:beepEnabled.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4297
    box addCheckBox:(resources string:'Boxes Return Focus to Previously Active View') on:returnFocus.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4298
    box addCheckBox:(resources string:'Views Catch Focus when Mapped') on:takeFocus.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4299
    pos := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4300
    check := box addCheckBox:(resources string:'Hostname in Window Labels') on:hostNameInLabelHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4301
    check width:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4302
    pos2 := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4303
    box yPosition:pos.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4304
    butt := box addComponent:(Button label:(resources string:'Format...') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4305
               action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4306
                       |newFormat|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4307
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4308
                       newFormat := Dialog request:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4309
                                        'Define the Format of Window Labels:\\  %1 - Label\  %2 - Hostname\  %3 - Username\  %4 - ProcessId\'  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4310
                                           withCRs initialAnswer:StandardSystemView windowLabelFormat.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4311
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4312
                       newFormat size > 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4313
                           newWindowLabelFormat := newFormat
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4314
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4315
                      ]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4316
    box makeTabable:butt.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4317
    butt left:0.6; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4318
    box yPosition:(box yPosition max:pos2).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4319
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4320
    box addCheckBox:(resources string:'Show Accelerator Keys in Menus') on:showAccelerators.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4321
    box addCheckBox:(resources string:'Raise & Activate Windows on Click') on:activateOnClick.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4322
    box addCheckBox:(resources string:'Focus Follows Mouse') on:focusFollowsMouse.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4323
    box addCheckBox:(resources string:'Opaque Variable Panel Resizing') on:opaqueVariablePanelResize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4324
    box addCheckBox:(resources string:'Opaque Table Column Resizing') on:opaqueTableColumnResize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4325
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4326
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4327
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4328
    box addCheckBox:(resources string:'Preemptive Scheduling') on:preemptive.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4329
    box leftIndent:20.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4330
    check := box addCheckBox:(resources string:'Dynamic Priorities') on:dynamicPrios.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4331
    check enableChannel:preemptive.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4332
    box leftIndent:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4333
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4334
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4335
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4336
        addHelpButtonFor:'Launcher/miscSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4337
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4338
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4339
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4340
    "/ show the box ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4341
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4342
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4343
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4344
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4345
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4346
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4347
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4348
        PopUpView shadows:shadows value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4349
        (hostNameInLabelHolder value ~= hostNameInLabel 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4350
        or:[newWindowLabelFormat ~= StandardSystemView windowLabelFormat]) ifTrue:[ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4351
            StandardSystemView includeHostNameInLabel:hostNameInLabelHolder value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4352
            newWindowLabelFormat notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4353
                StandardSystemView windowLabelFormat:newWindowLabelFormat
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4354
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4355
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4356
            Screen allScreens do:[:aDisplay |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4357
                aDisplay allViewsDo:[:aView |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4358
                    |l|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4359
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4360
                    aView isTopView ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4361
                        l := aView label.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4362
                        l notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4363
                            aView label:(l , ' '); label:l.  "/ force a change
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4364
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4365
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4366
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4367
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4368
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4369
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4370
        currentUserPrefs opaqueVariablePanelResizing:opaqueVariablePanelResize value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4371
        currentUserPrefs opaqueTableColumnResizing:opaqueTableColumnResize value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4372
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4373
        currentUserPrefs beepEnabled:beepEnabled value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4374
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4375
        StandardSystemView returnFocusWhenClosingModalBoxes:returnFocus value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4376
        StandardSystemView takeFocusWhenMapped:takeFocus value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4377
        currentUserPrefs focusFollowsMouse:focusFollowsMouse value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4378
        Screen current activateOnClick:(activateOnClick value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4379
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4380
        MenuView showAcceleratorKeys:showAccelerators value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4381
        Processor isTimeSlicing ~~ preemptive value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4382
            preemptive value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4383
                Processor startTimeSlicing
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4384
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4385
                Processor stopTimeSlicing
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4386
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4387
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4388
        Processor supportDynamicPriorities ~~ dynamicPrios value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4389
            Processor supportDynamicPriorities:dynamicPrios value
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4390
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4391
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4392
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4393
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4394
    "Modified: / 9.9.1996 / 22:43:36 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4395
    "Modified: / 20.5.1999 / 18:33:55 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4396
    "Modified: / 3.12.1999 / 17:11:38 / ps"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4397
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4398
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4399
printerSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4400
    "open a dialog on printer related settings; returns true if accepted"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4401
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4402
    |box accepted
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4403
     possiblePrinters possibleTypes printerType printCommand 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4404
     pageFormat landscape updater
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4405
     formatLabel formatComponent landscapeLabel landscapeComponent
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4406
     topMargin leftMargin rightMargin bottomMargin unitList unit
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4407
     topMarginComponent leftMarginComponent
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4408
     rightMarginComponent
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4409
     bottomMarginComponent supportsColor supportsColorComponent
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4410
     y y1 commandListPop component commandList row resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4411
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4412
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4413
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4414
    possiblePrinters := PrinterStream withAllSubclasses asArray.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4415
    possibleTypes := possiblePrinters collect:[:cls | cls printerTypeName].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4416
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4417
    printerType := SelectionInList new list:(resources array:possibleTypes).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4418
    printerType selectionIndex:(possiblePrinters identityIndexOf:Printer).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4419
    printCommand := Printer printCommand asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4420
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4421
    pageFormat := SelectionInList new list:(Printer defaultPageFormats).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4422
    pageFormat selection:(Printer pageFormat).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4423
    landscape := Printer landscape asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4424
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4425
    topMargin := Printer topMargin asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4426
    leftMargin := Printer leftMargin asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4427
    rightMargin := Printer rightMargin asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4428
    bottomMargin := Printer bottomMargin asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4429
    supportsColor := Printer supportsColor asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4430
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4431
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4432
    box label:(resources string:'Printer Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4433
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4434
"/ either use a popUpList ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4435
"/    box addPopUpList:(resources string:'printer type:') on:printerType.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4436
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4437
"/ or a comboList;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4438
"/ which one looks better ?
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4439
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4440
    component := box addTextLabel:(resources string:'Printer Type:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4441
    component width:0.25; adjust:#right; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4442
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4443
    component := box addComboListOn:printerType tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4444
    component aspect:#selectionIndex; changeMessage:#selectionIndex:; useIndex:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4445
    component width:0.75; left:0.25.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4446
"/ end of question
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4447
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4448
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4449
    component := box addTextLabel:(resources string:'Print Command:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4450
    component width:0.25; adjust:#right; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4451
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4452
    commandListPop := box addComboBoxOn:printCommand tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4453
"/    commandListPop := box addInputFieldOn:printCommand tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4454
    commandListPop width:0.75; left:0.25; immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4455
    "/ some common print commands ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4456
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4457
    commandList := resources at:'PRINT_COMMANDS' ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4458
    commandList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4459
        commandList := PrinterStream defaultCommands.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4460
        commandList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4461
            commandList := #('lpr' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4462
                             'lp' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4463
                            ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4464
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4465
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4466
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4467
    commandListPop list:commandList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4468
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4469
    box addVerticalSpace; addHorizontalLine; addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4470
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4471
    row := OrderedCollection new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4472
    row add:(formatLabel := Label label:(resources string:'Page Format:')).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4473
    formatLabel borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4474
    row add:(formatComponent := PopUpList on:pageFormat).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4475
    formatComponent label:'unknown'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4476
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4477
    row add:(landscapeLabel := Label label:(resources string:'Landscape:')).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4478
    landscapeLabel borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4479
    row add:(landscapeComponent := CheckToggle on:landscape).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4480
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4481
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4482
    box
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4483
        addRow:(1 to:2)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4484
        fromX:0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4485
        toX:0.5
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4486
        collect:[:idx | row at:idx]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4487
        tabable:false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4488
        horizontalLayout:#leftSpace
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4489
        verticalLayout:#center.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4490
    y1 := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4491
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4492
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4493
    box
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4494
        addRow:(3 to:4)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4495
        fromX:0.5
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4496
        toX:1.0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4497
        collect:[:idx | row at:idx]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4498
        tabable:false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4499
        horizontalLayout:#leftSpace
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4500
        verticalLayout:#center.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4501
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4502
    box yPosition:(box yPosition max:y1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4503
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4504
    box makeTabable:(formatComponent).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4505
    box makeTabable:(landscapeComponent).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4506
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4507
    box addVerticalSpace; addHorizontalLine; addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4508
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4509
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4510
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4511
    topMarginComponent := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4512
        addLabelledInputField:(resources string:'Top Margin:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4513
        adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4514
        on:nil "/ topMargin 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4515
        tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4516
        from:0.0 to:0.5
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4517
        separateAtX:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4518
    topMarginComponent converter:(PrintConverter new initForNumber).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4519
    topMarginComponent model:topMargin.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4520
    y1 := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4521
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4522
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4523
    unitList := SelectionInList with:#('inch' 'mm').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4524
    unitList selectionIndex:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4525
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4526
    component := box addComponent:(PopUpList on:unitList).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4527
    component
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4528
        left:0.6;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4529
        width:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4530
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4531
    box yPosition:y1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4532
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4533
    leftMarginComponent := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4534
        addLabelledInputField:(resources string:'Left Margin:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4535
        adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4536
        on:nil "/ leftMargin 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4537
        tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4538
        from:0.0 to:0.5
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4539
        separateAtX:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4540
    leftMarginComponent converter:(PrintConverter new initForNumber).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4541
    leftMarginComponent model:leftMargin.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4542
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4543
    rightMarginComponent := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4544
        addLabelledInputField:(resources string:'Right Margin:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4545
        adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4546
        on:nil "/ rightMargin 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4547
        tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4548
        from:0.0 to:0.5
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4549
        separateAtX:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4550
    rightMarginComponent converter:(PrintConverter new initForNumber).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4551
    rightMarginComponent model:rightMargin.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4552
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4553
    bottomMarginComponent := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4554
        addLabelledInputField:(resources string:'Bottom Margin:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4555
        adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4556
        on:nil "/ bottomMargin 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4557
        tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4558
        from:0.0 to:0.5
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4559
        separateAtX:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4560
    bottomMarginComponent converter:(PrintConverter new initForNumber).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4561
    bottomMarginComponent model:bottomMargin.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4562
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4563
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4564
    supportsColorComponent := box addCheckBox:(resources string:'Color Printer') on:supportsColor.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4565
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4566
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4567
    updater := [ |p fg hasPageSize hasMargins|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4568
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4569
                       printerType selectionIndex ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4570
                           p := possiblePrinters at:(printerType selectionIndex).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4571
                           hasPageSize := p supportsPageSizes. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4572
                           hasMargins := p supportsMargins. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4573
                       ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4574
                           hasPageSize := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4575
                           hasMargins := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4576
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4577
                       hasPageSize ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4578
                          fg := Button new foregroundColor.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4579
                          formatComponent enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4580
                          landscapeComponent enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4581
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4582
                          formatComponent label:p pageFormat.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4583
                          pageFormat value:(p pageFormat).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4584
                          landscape value:(p landscape).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4585
                       ] ifFalse:[ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4586
                          fg := Button new disabledForegroundColor.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4587
                          formatComponent disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4588
                          landscapeComponent disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4589
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4590
                          formatComponent label:'unknown'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4591
                          landscape value:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4592
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4593
                       hasMargins ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4594
                          unitList selectionIndex == 2 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4595
                              unit := #mm
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4596
                          ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4597
                              unit := #inch
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4598
                          ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4599
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4600
                          topMargin value:(UnitConverter convert:p topMargin from:#inch to:unit).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4601
                          leftMargin value:(UnitConverter convert:p leftMargin from:#inch to:unit).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4602
                          rightMargin value:(UnitConverter convert:p rightMargin from:#inch to:unit).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4603
                          bottomMargin value:(UnitConverter convert:p bottomMargin from:#inch to:unit).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4604
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4605
                          topMarginComponent enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4606
                          leftMarginComponent enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4607
                          rightMarginComponent enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4608
                          bottomMarginComponent enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4609
                       ] ifFalse:[ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4610
                          topMarginComponent disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4611
                          leftMarginComponent disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4612
                          rightMarginComponent disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4613
                          bottomMarginComponent disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4614
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4615
                       formatLabel foregroundColor:fg.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4616
                       landscapeLabel foregroundColor:fg.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4617
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4618
                       p notNil ifTrue:[ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4619
                           commandList := p defaultCommands.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4620
                           commandList notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4621
                                commandListPop list:commandList 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4622
                           ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4623
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4624
                           printCommand value:(p printCommand).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4625
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4626
                       p supportsPostscript ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4627
                           supportsColorComponent disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4628
                           supportsColor value:false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4629
                       ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4630
                           supportsColorComponent enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4631
                           supportsColor value:(Printer supportsColor).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4632
                       ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4633
                     ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4634
    unitList onChangeEvaluate:updater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4635
    printerType onChangeEvaluate:updater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4636
    updater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4637
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4638
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4639
    box addVerticalSpace;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4640
        addHelpButtonFor:'Launcher/printerSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4641
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4642
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4643
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4644
    (accepted := box accepted) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4645
        Printer := possiblePrinters at:(printerType selectionIndex).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4646
        Printer printCommand:printCommand value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4647
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4648
        Printer supportsPageSizes ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4649
            Printer pageFormat:(pageFormat selection).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4650
            Printer landscape:(landscape value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4651
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4652
        Printer supportsMargins ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4653
            unitList selectionIndex == 2 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4654
                unit := #mm
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4655
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4656
                unit := #inch
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4657
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4658
            Printer topMargin:(UnitConverter convert:topMargin value from:unit to:#inch).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4659
            Printer leftMargin:(UnitConverter convert:leftMargin value from:unit to:#inch).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4660
            Printer rightMargin:(UnitConverter convert:rightMargin value from:unit to:#inch).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4661
            Printer bottomMargin:(UnitConverter convert:bottomMargin value from:unit to:#inch).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4662
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4663
        Printer supportsPostscript ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4664
            Printer supportsColor:supportsColor value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4665
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4666
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4667
    box destroy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4668
    ^ accepted
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4669
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4670
    "Modified: 9.9.1996 / 22:43:51 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4671
    "Modified: 28.2.1997 / 14:00:13 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4672
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4673
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4674
restoreSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4675
    "restore settings from a settings-file."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4676
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4677
    "a temporary kludge - we need a central systemSettings object for this,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4678
     which can be saved/restored with a single store/read.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4679
     Will move entries over to UserPreferences over time;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4680
     new items should always go there."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4681
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4682
    |fileName resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4683
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4684
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4685
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4686
    fileName := Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4687
        requestFileName:(resources string:'restore settings from:') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4688
        default:'settings.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4689
        ok:(resources string:'restore') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4690
        abort:(resources string:'cancel') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4691
        pattern:'*.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4692
        fromDirectory:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4693
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4694
    (fileName size == 0) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4695
        "/ canceled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4696
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4697
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4698
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4699
    self withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4700
        Smalltalk fileIn:fileName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4701
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4702
        self reopenLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4703
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4704
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4705
    "Modified: / 21.7.1998 / 11:37:54 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4706
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4707
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4708
saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4709
    "save settings to a settings-file."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4710
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4711
    "a temporary kludge - we need a central systemSettings object for this,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4712
     which can be saved/restored with a single store/read.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4713
     Will move entries over to UserPreferences over time;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4714
     new items should always go there."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4715
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4716
    |fileName resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4717
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4718
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4719
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4720
    fileName := Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4721
        requestFileName:(resources string:'Save settings in:') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4722
        default:'settings.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4723
        ok:(resources string:'Save') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4724
        abort:(resources string:'Cancel') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4725
        pattern:'*.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4726
        fromDirectory:'.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4727
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4728
    fileName size ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4729
        "not canceled"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4730
        self saveSettingsIn:fileName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4731
    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4732
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4733
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4734
saveSettingsIn:fileName
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4735
    "save settings to a settings-file."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4736
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4737
    "a temporary kludge - we need a central systemSettings object for this,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4738
     which can be saved/restored with a single store/read.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4739
     Will move entries over to UserPreferences over time;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4740
     new items should always go there."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4741
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4742
    |resources s screen currentUserPrefs|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4743
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4744
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4745
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4746
    s := fileName asFilename writeStream.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4747
    s isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4748
        self warn:(resources string:'Cannot write the %1 file !!' with:fileName).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4749
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4750
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4751
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4752
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4753
    screen := Screen current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4754
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4755
    s nextPutLine:'"/ ST/X saved settings';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4756
      nextPutLine:'"/ DO NOT MODIFY MANUALLY';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4757
      nextPutLine:'"/ (modifications would be lost with next save-settings)';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4758
      nextPutLine:'"/';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4759
      nextPutLine:'"/ this file was automatically generated by the';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4760
      nextPutLine:'"/ ''save settings'' function of the Launcher';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4761
      nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4762
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4763
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4764
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4765
    s nextPutLine:'"/ saved by ' , OperatingSystem getLoginName , '@' , OperatingSystem getHostName , ' at ' , AbsoluteTime now printString.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4766
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4767
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4768
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4769
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4770
    s nextPutLine:'"/ Display settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4771
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4772
    s nextPutLine:'"/ only restore the display settings, if on the same Display ...'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4773
    s nextPutLine:'Display notNil ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4774
    s nextPutLine:' Display displayName = ' , (screen displayName storeString) , ' ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4775
      screen fixColors notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4776
        s nextPutLine:'  Image flushDeviceImages.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4777
        s nextPutLine:'  Color colorAllocationFailSignal catch:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4778
        s nextPutLine:'    Color getColorsRed:6 green:6 blue:4 on:Display'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4779
        s nextPutLine:'  ].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4780
      ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4781
        s nextPutLine:'  Display releaseFixColors.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4782
      ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4783
      s nextPutLine:'  Display hasColors: ' , (screen hasColors storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4784
      s nextPutLine:'  Display widthInMillimeter: ' , (screen widthInMillimeter storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4785
      s nextPutLine:'  Display heightInMillimeter: ' , (screen heightInMillimeter storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4786
      s nextPutLine:'  Display supportsDeepIcons: ' , (screen supportsDeepIcons storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4787
      s nextPutLine:'  Image ditherAlgorithm: ' , (Image ditherAlgorithm storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4788
      s nextPutLine:'  View defaultStyle:' , View defaultStyle storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4789
    s nextPutLine:' ].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4790
    s nextPutLine:'].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4791
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4792
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4793
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4794
    s nextPutLine:'"/ Compiler settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4795
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4796
    s nextPutLine:'Compiler warnSTXSpecials: ' , (Compiler warnSTXSpecials storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4797
      nextPutLine:'Compiler warnUnderscoreInIdentifier: ' , (Compiler warnUnderscoreInIdentifier storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4798
      nextPutLine:'Compiler warnOldStyleAssignment: ' , (Compiler warnOldStyleAssignment storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4799
      nextPutLine:'Compiler warnCommonMistakes: ' , (Compiler warnCommonMistakes storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4800
      nextPutLine:'Compiler warnPossibleIncompatibilities: ' , (Compiler warnPossibleIncompatibilities storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4801
      nextPutLine:'Compiler allowUnderscoreInIdentifier: ' , (Compiler allowUnderscoreInIdentifier storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4802
      nextPutLine:'Compiler allowSqueakExtensions: ' , (Compiler allowSqueakExtensions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4803
      nextPutLine:'Compiler allowDolphinExtensions: ' , (Compiler allowDolphinExtensions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4804
      nextPutLine:'Compiler arraysAreImmutable: ' , (Compiler arraysAreImmutable storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4805
      nextPutLine:'Compiler lineNumberInfo: ' , (Compiler lineNumberInfo storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4806
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4807
      nextPutLine:'Compiler foldConstants: ' , (Compiler foldConstants storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4808
      nextPutLine:'Compiler stcCompilation: ' , (Compiler stcCompilation storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4809
      nextPutLine:'OperatingSystem getOSType = ' , (OperatingSystem getOSType storeString) , ' ifTrue:[';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4810
      nextPutLine:'  Compiler stcCompilationIncludes: ' , (Compiler stcCompilationIncludes storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4811
      nextPutLine:'  Compiler stcCompilationDefines: ' , (Compiler stcCompilationDefines storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4812
      nextPutLine:'  Compiler stcCompilationOptions: ' , (Compiler stcCompilationOptions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4813
      nextPutLine:'  ' , (Compiler stcModulePath storeString) , ' asFilename exists ifTrue:[';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4814
      nextPutLine:'    Compiler stcModulePath: ' , (Compiler stcModulePath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4815
      nextPutLine:'  ].';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4816
      nextPutLine:'  Compiler stcPath: ' , (Compiler stcPath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4817
      nextPutLine:'  Compiler ccCompilationOptions: ' , (Compiler ccCompilationOptions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4818
      nextPutLine:'  Compiler ccPath: ' , (Compiler ccPath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4819
      nextPutLine:'  ObjectFileLoader linkArgs: ' , (ObjectFileLoader linkArgs storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4820
      nextPutLine:'  ObjectFileLoader linkCommand: ' , (ObjectFileLoader linkCommand storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4821
      nextPutLine:'  ObjectFileLoader libPath: ' , (ObjectFileLoader libPath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4822
      nextPutLine:'  ObjectFileLoader searchedLibraries: ' , (ObjectFileLoader searchedLibraries storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4823
      nextPutLine:'].';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4824
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4825
      nextPutLine:'ObjectMemory justInTimeCompilation: ' , (ObjectMemory justInTimeCompilation storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4826
      nextPutLine:'ObjectMemory fullSingleStepSupport: ' , (ObjectMemory fullSingleStepSupport storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4827
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4828
    HistoryManager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4829
        HistoryManager isActive ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4830
            s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager activate].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4831
            s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager fullHistoryUpdate:' , HistoryManager fullHistoryUpdate storeString , '].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4832
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4833
            s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager deactivate].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4834
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4835
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4836
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4837
    ObjectFileLoader notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4838
        s nextPutLine:'ObjectFileLoader searchedLibraries: ' , (ObjectFileLoader searchedLibraries storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4839
        s nextPutLine:'ObjectFileLoader libPath: ' , (ObjectFileLoader libPath storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4840
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4841
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4842
    s nextPutLine:'Class catchMethodRedefinitions: ' , (Class catchMethodRedefinitions storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4843
    s nextPutLine:'ClassCategoryReader sourceMode: ' , (ClassCategoryReader sourceMode storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4844
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4845
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4846
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4847
    s nextPutLine:'"/ Info & Debug Messages:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4848
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4849
    s nextPutLine:'ObjectMemory infoPrinting: ' , (ObjectMemory infoPrinting storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4850
      nextPutLine:'ObjectMemory debugPrinting: ' , (ObjectMemory debugPrinting storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4851
      nextPutLine:'Object infoPrinting: ' , (Object infoPrinting storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4852
      nextPutLine:'DeviceWorkstation errorPrinting: ' , (DeviceWorkstation errorPrinting storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4853
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4854
    FlyByHelp isActive ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4855
        s nextPutLine:'FlyByHelp start.'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4856
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4857
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4858
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4859
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4860
    s nextPutLine:'"/ Edit settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4861
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4862
    "/ s nextPutLine:'EditTextView st80Mode: ' , (EditTextView st80Mode storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4863
    s nextPutLine:'TextView st80SelectMode: ' , (TextView st80SelectMode storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4864
    s nextPutLine:'UserPreferences current syntaxColoring: ' , (currentUserPrefs syntaxColoring storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4865
    (ListView userDefaultTabPositions = ListView tab4Positions) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4866
        s nextPutLine:'ListView userDefaultTabPositions:(ListView tab4Positions).'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4867
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4868
        s nextPutLine:'ListView userDefaultTabPositions:(ListView tab8Positions).'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4869
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4870
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4871
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4872
    s nextPutLine:'"/ User preference values:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4873
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4874
    currentUserPrefs keysAndValuesDo:[:k :v |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4875
        (UserPreferences includesSelector:(k , ':') asSymbol) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4876
            s nextPutLine:'UserPreferences current ' , k , ':' , v storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4877
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4878
            s nextPutLine:'UserPreferences current at:' , k storeString , ' put:' , v storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4879
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4880
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4881
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4882
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4883
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4884
    s nextPutLine:'"/ Misc settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4885
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4886
    s nextPutLine:'Class keepMethodHistory: ' , (Class methodHistory notNil storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4887
      nextPutLine:'Smalltalk logDoits: ' , (Smalltalk logDoits storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4888
      nextPutLine:'Autoload compileLazy: ' , (Autoload compileLazy storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4889
      nextPutLine:'Smalltalk loadBinaries: ' , (Smalltalk loadBinaries storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4890
      nextPutLine:'StandardSystemView includeHostNameInLabel: ' , (StandardSystemView includeHostNameInLabel storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4891
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4892
      "/ claus - I dont think its a good idea to save those ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4893
      nextPutLine:'"/ Class updateChanges: ' , (Class updatingChanges storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4894
      nextPutLine:'"/ ObjectMemory nameForChanges: ' , (ObjectMemory nameForChanges storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4895
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4896
      nextPutLine:'StandardSystemView returnFocusWhenClosingModalBoxes: ' , (StandardSystemView returnFocusWhenClosingModalBoxes storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4897
      nextPutLine:'StandardSystemView takeFocusWhenMapped: ' , (StandardSystemView takeFocusWhenMapped storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4898
      nextPutLine:'Display notNil ifTrue:[';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4899
      nextPutLine:' Display activateOnClick: ' , ((screen activateOnClick:nil) storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4900
      nextPutLine:'].';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4901
      nextPutLine:'MenuView showAcceleratorKeys: ' , (MenuView showAcceleratorKeys storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4902
      nextPutLine:'Class tryLocalSourceFirst: ' , (Class tryLocalSourceFirst storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4903
    (Exception emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4904
        s nextPutLine:'Exception emergencyHandler:(AbstractLauncherApplication notifyingEmergencyHandler).'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4905
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4906
    Processor isTimeSlicing ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4907
        s nextPutLine:'Processor startTimeSlicing.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4908
        s nextPutLine:('Processor supportDynamicPriorities:' , (Processor supportDynamicPriorities ? false) storeString , '.').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4909
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4910
        s nextPutLine:'Processor stopTimeSlicing.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4911
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4912
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4913
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4914
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4915
    s nextPutLine:'"/ Printer settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4916
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4917
    s nextPutLine:'Printer := ' , (Printer name) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4918
      nextPutLine:'Printer printCommand: ' , (Printer printCommand storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4919
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4920
    Printer supportsPageSizes ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4921
        s nextPutLine:'Printer pageFormat: ' , (Printer pageFormat storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4922
        s nextPutLine:'Printer landscape: ' , (Printer landscape storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4923
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4924
    Printer supportsMargins ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4925
        s nextPutLine:'Printer topMargin: ' , (Printer topMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4926
        s nextPutLine:'Printer leftMargin: ' , (Printer leftMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4927
        s nextPutLine:'Printer rightMargin: ' , (Printer rightMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4928
        s nextPutLine:'Printer bottomMargin: ' , (Printer bottomMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4929
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4930
    Printer supportsPostscript ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4931
        s nextPutLine:'Printer supportsColor: ' , (Printer supportsColor storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4932
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4933
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4934
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4935
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4936
    s nextPutLine:'"/ Font settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4937
    s nextPutLine:'"/ (only restored, if image is restarted on the same display)'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4938
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4939
    s nextPutLine:'Display notNil ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4940
    s nextPutLine:' Display displayName = ' , (screen displayName storeString) , ' ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4941
    s nextPutLine:'  View defaultFont: ' , (View defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4942
    s nextPutLine:'  Label defaultFont: ' , (Label defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4943
    s nextPutLine:'  Button defaultFont: ' , (Button defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4944
    s nextPutLine:'  Toggle defaultFont: ' , (Toggle defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4945
    s nextPutLine:'  SelectionInListView defaultFont: ' , (SelectionInListView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4946
    s nextPutLine:'  MenuView defaultFont: ' , (MenuView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4947
    s nextPutLine:'  PullDownMenu defaultFont: ' , (PullDownMenu defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4948
    s nextPutLine:'  TextView defaultFont: ' , (TextView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4949
    s nextPutLine:'  EditTextView defaultFont: ' , (EditTextView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4950
    s nextPutLine:'  CodeView defaultFont: ' , (CodeView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4951
    s nextPutLine:' ].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4952
    s nextPutLine:'].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4953
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4954
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4955
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4956
    s nextPutLine:'"/ Language setting:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4957
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4958
    s nextPutLine:'Smalltalk language: ' , (Smalltalk language storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4959
    s nextPutLine:'Smalltalk languageTerritory: ' , (Smalltalk languageTerritory storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4960
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4961
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4962
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4963
    s nextPutLine:'"/ SourceCodeManager settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4964
    s nextPutLine:'"/ (only restored, if image is restarted on the same host)'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4965
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4966
    s nextPutLine:'OperatingSystem getHostName = ' , (OperatingSystem getHostName storeString) , ' ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4967
    s nextPutLine:'  Class tryLocalSourceFirst:' , Class tryLocalSourceFirst storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4968
    (Smalltalk at:#SourceCodeManager) == CVSSourceCodeManager ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4969
    s nextPutLine:'  Smalltalk at:#SourceCodeManager put: CVSSourceCodeManager.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4970
    s nextPutLine:'  AbstractSourceCodeManager cacheDirectoryName:' , AbstractSourceCodeManager cacheDirectoryName storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4971
    s nextPutLine:'  CVSSourceCodeManager cvsBinDirectory:' , CVSSourceCodeManager cvsBinDirectory storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4972
    s nextPutLine:'  CVSSourceCodeManager repositoryNamesPerModule:' , CVSSourceCodeManager repositoryNamesPerModule storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4973
    s nextPutLine:'  CVSSourceCodeManager initializeForRepository:' , CVSSourceCodeManager repositoryName storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4974
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4975
    s nextPutLine:'].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4976
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4977
    s close.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4978
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4979
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4980
     Transcript topView application saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4981
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4982
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4983
    "Modified: / 6.1.1999 / 14:24:16 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4984
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4985
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4986
sourceAndDebuggerSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4987
    "open a dialog on source&debugger other settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4988
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4989
    |box check butt setupButt logDoits updChanges changeFileName
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4990
     useManager hasManager cvsIsSetup
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4991
     repository repositoryHolder localSourceFirst 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4992
     sourceCacheDir cacheEntry
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4993
     component localCheck oldIndent nm fn manager
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4994
     showErrorNotifier showVerboseStack
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4995
     syntaxColoring fullSelectorCheck autoFormat
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4996
     resources pos currentUserPrefs checkClassesWhenCheckingIn checkClassesBox|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4997
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4998
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  4999
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5000
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5001
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5002
    "/ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5003
    "/ extract relevant system settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5004
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5005
    logDoits := Smalltalk logDoits asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5006
    updChanges := Class updatingChanges asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5007
    changeFileName := ObjectMemory nameForChanges asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5008
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5009
    (AbstractSourceCodeManager notNil 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5010
    and:[AbstractSourceCodeManager isLoaded not]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5011
        AbstractSourceCodeManager autoload.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5012
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5013
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5014
    hasManager := AbstractSourceCodeManager notNil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5015
                  and:[AbstractSourceCodeManager isLoaded].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5016
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5017
    repositoryHolder := '' asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5018
    hasManager ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5019
        useManager := (manager := Smalltalk at:#SourceCodeManager) notNil asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5020
        localSourceFirst := Class tryLocalSourceFirst asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5021
        manager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5022
            manager forgetDisabledModules.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5023
            repository := manager repositoryName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5024
            repository notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5025
                repositoryHolder := repository asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5026
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5027
                repositoryHolder := '' asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5028
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5029
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5030
        cvsIsSetup := true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5031
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5032
        useManager := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5033
        localSourceFirst := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5034
        cvsIsSetup := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5035
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5036
    cvsIsSetup := cvsIsSetup asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5037
    showErrorNotifier := (Exception emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5038
    showVerboseStack := (DebugView defaultVerboseBacktrace ? false) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5039
    syntaxColoring := currentUserPrefs syntaxColoring asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5040
    fullSelectorCheck := currentUserPrefs fullSelectorCheck asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5041
    autoFormat := currentUserPrefs autoFormatting asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5042
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5043
    sourceCacheDir := nil asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5044
    checkClassesWhenCheckingIn := (currentUserPrefs at:#checkClassesWhenCheckingIn ifAbsent:true) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5045
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5046
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5047
    "/ create a box on those values ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5048
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5049
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5050
    box label:(resources string:'Source & Debugger Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5051
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5052
    box addCheckBox:(resources string:'Log compiles in Changefile') on:updChanges.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5053
    box addCheckBox:(resources string:'Log doIts in Changefile') on:logDoits.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5054
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5055
    component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5056
                    addLabelledInputField:(resources string:'Changefile Name:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5057
                    adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5058
                    on:changeFileName 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5059
                    tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5060
                    separateAtX:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5061
    component immediateAccept:true; acceptOnLeave:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5062
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5063
"/    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5064
"/    component := box addTextLabel:(resources string:'change file name:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5065
"/    component width:0.5; adjust:#right; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5066
"/    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5067
"/    component := box addInputFieldOn:changeFileName tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5068
"/    component width:0.5; left:0.5; immediateAccept:true; acceptOnLeave:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5069
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5070
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5071
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5072
    hasManager ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5073
        pos := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5074
        check := box addCheckBox:(resources string:'Sourcecode Management') on:useManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5075
        check enableChannel:cvsIsSetup.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5076
        box makeTabable:check.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5077
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5078
        CVSSourceCodeManager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5079
            check width:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5080
            box yPosition:pos.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5081
            setupButt := box addComponent:(Button label:(resources string:'Setup...') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5082
                       action:[|manager|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5083
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5084
                               self cvsConfigurationDialog.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5085
                               manager := (Smalltalk at:#SourceCodeManager).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5086
                               cvsIsSetup value:manager notNil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5087
                               manager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5088
                                    repositoryHolder value: manager repositoryName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5089
                                    sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5090
                               ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5091
                              ]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5092
            setupButt enableChannel:useManager.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5093
            box makeTabable:setupButt.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5094
            setupButt left:0.6; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5095
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5096
        oldIndent := box leftIndent.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5097
        box leftIndent:30.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5098
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5099
        box addVerticalSpace:10.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5100
"/        component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5101
"/                        addLabelledInputField:(resources string:'CVS repository:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5102
"/                        adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5103
"/                        on:repositoryHolder 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5104
"/                        tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5105
"/                        separateAtX:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5106
"/        component immediateAccept:true; acceptOnLeave:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5107
"/        component enableChannel:useManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5108
"/        component readOnly:true. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5109
"/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5110
        cacheEntry := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5111
                        addLabelledInputField:(resources string:'Source Cache Dir:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5112
                        adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5113
                        on:sourceCacheDir 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5114
                        tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5115
                        separateAtX:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5116
        cacheEntry immediateAccept:true; acceptOnLeave:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5117
        cacheEntry enableChannel:useManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5118
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5119
        pos := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5120
        butt := Button label:(resources string:'Flush Cache now').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5121
        butt action:[ box withWaitCursorDo:[ AbstractSourceCodeManager flushSourceCache ] ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5122
        box addComponent:butt tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5123
        butt left:0.6; width:0.4; leftInset:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5124
        butt enableChannel:useManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5125
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5126
        butt := Button label:(resources string:'Condense Cache now').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5127
        butt action:[ box withWaitCursorDo:[ AbstractSourceCodeManager condenseSourceCache ] ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5128
        box addComponent:butt tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5129
        butt left:0.6; width:0.4; leftInset:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5130
        butt enableChannel:useManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5131
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5132
        localCheck := box addCheckBox:(resources string:'If Present, Use Local Source (Suppress Checkout)') on:localSourceFirst.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5133
        localCheck enableChannel:useManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5134
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5135
        checkClassesBox := box addCheckBox:(resources string:'Check for halt/error-Sends when Checking in') on:checkClassesWhenCheckingIn.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5136
        checkClassesBox enableChannel:useManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5137
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5138
        box leftIndent:oldIndent.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5139
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5140
        (AbstractSourceCodeManager isNil 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5141
        or:[AbstractSourceCodeManager defaultManager isNil]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5142
            useManager value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5143
            "/ cacheEntry disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5144
            "/ localCheck enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5145
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5146
            sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5147
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5148
        box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5149
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5150
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5151
    pos := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5152
    check := box addCheckBox:(resources string:'Syntax Coloring') on:syntaxColoring.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5153
    check width:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5154
    box yPosition:pos.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5155
    butt := box addComponent:(Button label:(resources string:'Configure...') action:[self syntaxColorConfigurationDialog]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5156
    box makeTabable:butt.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5157
    butt enableChannel:syntaxColoring.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5158
    butt left:0.6; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5159
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5160
    check := box addCheckBox:(resources string:'Immediate Selector Check') on:fullSelectorCheck.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5161
    check enableChannel:syntaxColoring.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5162
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5163
    pos := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5164
    check := box addCheckBox:(resources string:'Auto Format') on:autoFormat.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5165
    check width:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5166
    box yPosition:pos.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5167
    butt := box addComponent:(Button label:(resources string:'Configure...') action:[self formattingConfigurationDialog]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5168
    box makeTabable:butt.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5169
    butt left:0.6; width:0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5170
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5171
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5172
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5173
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5174
    box addCheckBox:(resources string:'Show Error Notifier before Opening Debugger') on:showErrorNotifier.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5175
    box addCheckBox:(resources string:'Verbose Backtrace by Default in Debugger') on:showVerboseStack.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5176
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5177
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5178
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5179
        addHelpButtonFor:'Launcher/sourceSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5180
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5181
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5182
    box maxExtent:1000@600.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5183
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5184
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5185
    "/ show the box ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5186
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5187
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5188
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5189
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5190
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5191
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5192
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5193
        Smalltalk logDoits:logDoits value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5194
        Class updateChanges:updChanges value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5195
        ObjectMemory nameForChanges:changeFileName value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5196
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5197
        (hasManager and:[useManager value]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5198
            manager isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5199
                Smalltalk at:#SourceCodeManager put:(AbstractSourceCodeManager defaultManager).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5200
                manager := Smalltalk at:#SourceCodeManager.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5201
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5202
            Class tryLocalSourceFirst:(localSourceFirst value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5203
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5204
            manager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5205
"/                localSourceFirst value ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5206
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5207
                    nm := sourceCacheDir value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5208
                    nm size > 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5209
                        (fn := nm asFilename) exists ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5210
                            (self confirm:('CVS cache directory ''' , nm , ''' does not exists\create ?' withCRs)) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5211
                                fn makeDirectory; 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5212
                                   makeReadableForAll;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5213
                                   makeWritableForAll;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5214
                                   makeExecutableForAll.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5215
                            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5216
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5217
                        (fn exists 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5218
                        and:[fn isDirectory
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5219
                        and:[fn isReadable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5220
                        and:[fn isWritable]]]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5221
                            AbstractSourceCodeManager cacheDirectoryName:(sourceCacheDir value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5222
                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5223
                            self warn:'Invalid sourceCache directory.'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5224
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5225
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5226
"/                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5227
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5228
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5229
            repositoryHolder notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5230
                repositoryHolder value size > 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5231
                    manager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5232
                        manager initializeForRepository:repositoryHolder value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5233
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5234
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5235
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5236
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5237
            Smalltalk at:#SourceCodeManager put:nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5238
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5239
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5240
        showErrorNotifier value ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5241
            Exception emergencyHandler:nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5242
        ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5243
            Exception emergencyHandler:(AbstractLauncherApplication notifyingEmergencyHandler)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5244
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5245
        DebugView defaultVerboseBacktrace:(showVerboseStack value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5246
        currentUserPrefs syntaxColoring:syntaxColoring value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5247
        currentUserPrefs at:#fullSelectorCheck put:fullSelectorCheck value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5248
        currentUserPrefs autoFormatting:autoFormat value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5249
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5250
        UserPreferences current at:#checkClassesWhenCheckingIn put:checkClassesWhenCheckingIn value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5251
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5252
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5253
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5254
    "Modified: / 9.9.1996 / 22:43:36 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5255
    "Created: / 17.1.1997 / 17:39:33 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5256
    "Modified: / 16.4.1998 / 17:18:47 / ca"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5257
    "Modified: / 13.10.1998 / 15:47:31 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5258
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5259
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5260
stcCompilerSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5261
    "open an extra dialog on stc-compiler related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5262
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5263
    |box      
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5264
     stcIncludes stcDefines stcOptions
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5265
     stcLibraries stcLibraryPath cc stc ccOptions   
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5266
     linkCommand linkArgs
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5267
     component t
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5268
     canLoadBinaries thisIsADemoVersion
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5269
     resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5270
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5271
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5272
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5273
    canLoadBinaries := ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5274
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5275
    stcIncludes := Compiler stcCompilationIncludes asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5276
    stcDefines := Compiler stcCompilationDefines asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5277
    stcOptions := Compiler stcCompilationOptions asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5278
    ccOptions := Compiler ccCompilationOptions asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5279
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5280
    cc := Compiler ccPath asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5281
    stc := Compiler stcPath asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5282
    linkCommand := ObjectFileLoader linkCommand asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5283
    linkArgs := ObjectFileLoader linkArgs asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5284
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5285
    ObjectFileLoader notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5286
        (t := ObjectFileLoader searchedLibraries) notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5287
            stcLibraries := (String fromStringCollection:t separatedBy:' ') asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5288
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5289
        (t := ObjectFileLoader libPath) notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5290
            stcLibraryPath := t asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5291
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5292
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5293
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5294
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5295
    box label:(resources string:'STC Compilation Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5296
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5297
    thisIsADemoVersion := (Smalltalk releaseIdentification = 'ST/X_free_demo_vsn').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5298
    ObjectFileLoader notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5299
        thisIsADemoVersion ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5300
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5301
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5302
                            addLabelledInputField:(resources string:'stc Command:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5303
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5304
                            on:stc 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5305
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5306
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5307
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5308
            component preferredExtent:(100 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5309
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5310
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5311
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5312
                            addLabelledInputField:(resources string:'stc Options:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5313
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5314
                            on:stcOptions 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5315
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5316
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5317
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5318
            component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5319
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5320
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5321
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5322
                            addLabelledInputField:(resources string:'cc Command:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5323
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5324
                            on:cc 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5325
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5326
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5327
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5328
            component preferredExtent:(150 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5329
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5330
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5331
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5332
                            addLabelledInputField:(resources string:'cc Options:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5333
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5334
                            on:ccOptions 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5335
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5336
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5337
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5338
            component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5339
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5340
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5341
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5342
                            addLabelledInputField:(resources string:'Include Directories:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5343
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5344
                            on:stcIncludes 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5345
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5346
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5347
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5348
            component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5349
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5350
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5351
"/        box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5352
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5353
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5354
                            addLabelledInputField:(resources string:'Defines:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5355
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5356
                            on:stcDefines 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5357
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5358
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5359
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5360
            component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5361
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5362
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5363
"/        box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5364
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5365
"/        box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5366
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5367
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5368
                            addLabelledInputField:(resources string:'Link Command:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5369
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5370
                            on:linkCommand 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5371
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5372
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5373
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5374
            component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5375
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5376
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5377
            component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5378
                            addLabelledInputField:(resources string:'Link Args:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5379
                            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5380
                            on:linkArgs 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5381
                            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5382
                            separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5383
            component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5384
            component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5385
            canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5386
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5387
            stcLibraries notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5388
"/            box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5389
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5390
                component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5391
                                addLabelledInputField:(resources string:'C-libraries:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5392
                                adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5393
                                on:stcLibraries 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5394
                                tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5395
                                separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5396
                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5397
                component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5398
                canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5399
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5400
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5401
            stcLibraryPath notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5402
"/            box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5403
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5404
                component := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5405
                                addLabelledInputField:(resources string:'stc LibPath:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5406
                                adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5407
                                on:stcLibraryPath 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5408
                                tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5409
                                separateAtX:0.3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5410
                component immediateAccept:true; acceptOnLeave:false; cursorMovementWhenUpdating:#beginOfLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5411
                component preferredExtent:(250 @ component preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5412
                canLoadBinaries ifFalse:[component disable].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5413
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5414
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5415
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5416
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5417
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5418
        addHelpButtonFor:'Launcher/compilerSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5419
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5420
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5421
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5422
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5423
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5424
        thisIsADemoVersion  ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5425
            Compiler stcCompilationIncludes:stcIncludes value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5426
            Compiler stcCompilationDefines:stcDefines value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5427
            Compiler stcCompilationOptions:stcOptions value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5428
            Compiler ccCompilationOptions:ccOptions value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5429
            Compiler ccPath:cc value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5430
            stc value ~= Compiler stcPath ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5431
                Compiler stcPath:stc value
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5432
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5433
            ObjectFileLoader linkCommand:linkCommand value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5434
            ObjectFileLoader linkArgs:linkArgs value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5435
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5436
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5437
        ObjectFileLoader notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5438
            stcLibraries notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5439
                ObjectFileLoader searchedLibraries:(stcLibraries value asCollectionOfWords).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5440
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5441
            stcLibraryPath notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5442
                ObjectFileLoader libPath:(stcLibraryPath value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5443
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5444
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5445
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5446
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5447
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5448
    "Modified: / 10.9.1995 / 19:19:18 / claus"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5449
    "Modified: / 9.9.1996 / 22:42:47 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5450
    "Created: / 2.10.1998 / 16:27:49 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5451
    "Modified: / 21.10.1998 / 19:15:10 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5452
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5453
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5454
toolSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5455
    "open a dialog on tool settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5456
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5457
    |box resources currentUserPrefs in acceptChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5458
     useNewInspector useNewChangesBrowser useNewSystemBrowser useNewVersionDiffBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5459
     useNewFileBrowser showClockInLauncher showClock launcher transcriptBufferSize |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5460
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5461
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5462
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5463
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5464
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5465
    "/ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5466
    "/ extract relevant system settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5467
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5468
    useNewInspector := currentUserPrefs useNewInspector asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5469
    useNewChangesBrowser := currentUserPrefs useNewChangesBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5470
    useNewSystemBrowser := currentUserPrefs useNewSystemBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5471
    showClockInLauncher := currentUserPrefs showClockInLauncher asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5472
    useNewVersionDiffBrowser := currentUserPrefs useNewVersionDiffBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5473
    useNewFileBrowser := currentUserPrefs useNewFileBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5474
    transcriptBufferSize := Transcript current lineLimit printString asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5475
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5476
    acceptChannel := false asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5477
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5478
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5479
    "/ create a box on those values ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5480
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5481
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5482
    box label:(resources string:'Tool Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5483
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5484
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5485
    box addCheckBox:(resources string:'Use the New Changes Browser') on:useNewChangesBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5486
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5487
    box addCheckBox:(resources string:'Use the New System Browser') on:useNewSystemBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5488
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5489
    box addCheckBox:(resources string:'Use the New VersionDiff Browser') on:useNewVersionDiffBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5490
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5491
    (Smalltalk at:#FileBrowserV2) isBehavior ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5492
        box addCheckBox:(resources string:'Use the New File Browser') on:useNewFileBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5493
        box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5494
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5495
    box addCheckBox:(resources string:'Use Hierarchical Inspector') on:useNewInspector.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5496
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5497
    box addCheckBox:(resources string:'Show Clock in Launcher') on:showClockInLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5498
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5499
    in := box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5500
            addLabelledInputField:(resources string:'Transcripts Buffer Size:')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5501
            adjust:#right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5502
            on:transcriptBufferSize 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5503
            tabable:true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5504
            separateAtX:0.6.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5505
    in acceptChannel:acceptChannel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5506
    box addHorizontalLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5507
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5508
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5509
        addHelpButtonFor:'Launcher/toolSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5510
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5511
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5512
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5513
    "/ show the box ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5514
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5515
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5516
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5517
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5518
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5519
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5520
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5521
        acceptChannel value:false; value:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5522
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5523
        currentUserPrefs useNewInspector:useNewInspector value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5524
        currentUserPrefs useNewChangesBrowser:useNewChangesBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5525
        currentUserPrefs useNewSystemBrowser:useNewSystemBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5526
        currentUserPrefs useNewVersionDiffBrowser:useNewVersionDiffBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5527
        currentUserPrefs useNewFileBrowser:useNewFileBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5528
        (Smalltalk at:#FileBrowserV2) isBehavior ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5529
            useNewFileBrowser value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5530
                FileBrowserV2 installInLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5531
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5532
                FileBrowserV2 isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5533
                    FileBrowserV2 removeFromLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5534
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5535
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5536
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5537
        showClock := showClockInLauncher value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5538
        currentUserPrefs showClockInLauncher ~= showClock ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5539
            currentUserPrefs showClockInLauncher:showClock.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5540
            launcher := Transcript application.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5541
            (launcher isKindOf:ToolApplicationModel) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5542
                showClock ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5543
                    launcher startClock
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5544
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5545
                    launcher stopClock
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5546
                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5547
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5548
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5549
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5550
        Inspector := currentUserPrefs inspectorClassSetting.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5551
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5552
        transcriptBufferSize := Integer readFrom:transcriptBufferSize value onError:Transcript current lineLimit.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5553
        Transcript current lineLimit:transcriptBufferSize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5554
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5555
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5556
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5557
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5558
    "Modified: / 9.9.1996 / 22:43:36 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5559
    "Modified: / 16.4.1998 / 17:18:47 / ca"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5560
    "Created: / 13.10.1998 / 15:44:36 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5561
    "Modified: / 12.11.2001 / 15:48:54 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5562
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5563
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5564
viewStyleSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5565
    self viewStyleSettingsFor:nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5566
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5567
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5568
viewStyleSettingsFor:requestor 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5569
    "open a dialog on viewStyle related settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5570
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5571
    |resourceDir dir box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5572
     list listView scrView infoLabel infoForwarder newStyle
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5573
     someRsrcFile didApply resources listUpdater showStandardStylesOnly standardStyles|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5574
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5575
    showStandardStylesOnly := true asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5576
    standardStyles := #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5577
                        'decWindows'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5578
                        'iris' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5579
                        'motif' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5580
                        'mswindows95' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5581
                        'next' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5582
                        'normal'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5583
                        'os2' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5584
                        'st80' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5585
                       ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5586
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5587
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5588
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5589
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5590
     search resources directory for a list of .style files ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5591
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5592
    someRsrcFile := Smalltalk getSystemFileName:('resources' asFilename constructString:'normal.style').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5593
    someRsrcFile isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5594
        someRsrcFile := Smalltalk getResourceFileName:'normal.style' forPackage:'stx:libview'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5595
        someRsrcFile isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5596
            someRsrcFile := Smalltalk getResourceFileName:'styles/normal.style' forPackage:'stx:libview'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5597
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5598
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5599
    someRsrcFile notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5600
        resourceDir := someRsrcFile asFilename directoryName
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5601
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5602
        resourceDir := Smalltalk getSystemFileName:'resources'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5603
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5604
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5605
    resourceDir isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5606
        self warn:'no styles found (missing ''resources'' directory)'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5607
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5608
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5609
    dir := resourceDir asFilename directoryContents.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5610
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5611
    list := SelectionInList new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5612
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5613
    listUpdater := [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5614
        |listOfStyles lastSelection|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5615
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5616
        lastSelection := list selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5617
        listOfStyles := dir select:[:aFileName | aFileName asFilename hasSuffix:'style'].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5618
        listOfStyles := listOfStyles collect:[:aFileName | aFileName asFilename withoutSuffix name].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5619
        Filename isCaseSensitive ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5620
            listOfStyles := listOfStyles collect:[:aStyleName | aStyleName asLowercase].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5621
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5622
        listOfStyles remove:'generic' ifAbsent:nil; remove:'mswindows3' ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5623
        showStandardStylesOnly value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5624
            listOfStyles := listOfStyles select:[:aStyleName | standardStyles includes:aStyleName].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5625
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5626
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5627
        listOfStyles sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5628
        list list:listOfStyles.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5629
        list selection:lastSelection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5630
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5631
    listUpdater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5632
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5633
    showStandardStylesOnly onChangeEvaluate:listUpdater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5634
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5635
    infoForwarder := [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5636
                        |nm sheet comment|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5637
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5638
                        comment := ''.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5639
                        nm := list selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5640
                        nm notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5641
                            sheet := ViewStyle fromFile:(nm , '.style').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5642
                            comment := (sheet at:#comment ifAbsent:'') withoutSeparators.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5643
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5644
                        comment := comment withCRs asStringCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5645
                        comment size == 1 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5646
                            comment := comment first
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5647
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5648
                        infoLabel label:comment
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5649
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5650
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5651
    list onChangeEvaluate:infoForwarder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5652
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5653
    box := Dialog new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5654
    box label:(resources string:'Style Selection').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5655
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5656
    (box addTextLabel:(resources at:'STYLE_MSG' default:'Select a Style') withCRs) adjust:#left.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5657
    listView := SelectionInListView on:list.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5658
    listView doubleClickAction:[:sel | box acceptChannel value:true. box hide].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5659
    box addCheckBox:(resources string:'standard styles only') on:showStandardStylesOnly.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5660
    scrView := box addComponent:(ScrollableView forView:listView) tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5661
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5662
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5663
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5664
    (infoLabel := box addTextLabel:'\\' withCRs) adjust:#centerLeft.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5665
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5666
    box addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5667
"/ mhmh - the newLauncher does not yet handle apply (without close) correctly
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5668
"/    b := box addButton:(Button label:(resources string:'apply')).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5669
"/    b action:[didApply := true. requestor changeViewStyleTo:(list selection)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5670
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5671
    (standardStyles includes:View defaultStyle) ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5672
        showStandardStylesOnly value:false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5673
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5674
    list selection:(View defaultStyle).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5675
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5676
    box stickAtBottomWithVariableHeight:scrView.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5677
    box stickAtBottomWithFixHeight:infoLabel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5678
    didApply := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5679
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5680
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5681
    box destroy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5682
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5683
        ((newStyle := list selection) ~= View defaultStyle
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5684
        or:[didApply ~~ true]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5685
            requestor notNil ifTrue:[requestor changeViewStyleTo:newStyle].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5686
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5687
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5688
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5689
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5690
     self viewStyleSettingsFor:nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5691
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5692
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5693
    "Modified: / 14.9.1998 / 20:33:59 / cg"
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  5694
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  5695
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  5696
!AbstractLauncherApplication::LauncherDialogs class methodsFor:'dialogs - file'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  5697
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5698
objectModuleDialog
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5699
    "opens a moduleInfo dialog"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5700
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5701
    <resource: #programMenu >
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5702
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5703
    |allModules moduleNames
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5704
     allObjects methodObjects methodNames 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5705
     cObjects cObjectNames
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5706
     otherObjects otherObjectNames
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5707
     box l handles unloadButton unloadAndRemoveButton
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5708
     list1 list2 listView1 listView2
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5709
     y panel 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5710
     showBuiltIn showModules showMethods showCObjects showOthers
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5711
     moduleListUpdater check canDoIt menu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5712
     resources middleLabel|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5713
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5714
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5715
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5716
    showBuiltIn := true asValue. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5717
    canDoIt := ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5718
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5719
    showModules := canDoIt asValue. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5720
    showMethods := canDoIt asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5721
    showCObjects := canDoIt asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5722
    showOthers := canDoIt asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5723
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5724
    list1 := SelectionInList new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5725
    list2 := SelectionInList new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5726
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5727
    moduleListUpdater := [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5728
            |l|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5729
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5730
            list2 list:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5731
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5732
            l := Array new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5733
            handles := Array new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5734
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5735
            (showModules value or:[showBuiltIn value]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5736
                allModules := ObjectMemory binaryModuleInfo asOrderedCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5737
                (showBuiltIn value and:[showModules value]) ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5738
                    allModules := allModules select:[:i |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5739
                        |wantToSee|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5740
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5741
                        wantToSee := i dynamic.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5742
                        showBuiltIn value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5743
                            wantToSee := wantToSee not
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5744
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5745
                        wantToSee
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5746
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5747
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5748
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5749
                "/ sorting by reverse id brings newest ones to the top (a side effect)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5750
                allModules sort:[:a :b | (a id) > (b id)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5751
                moduleNames := allModules collect:[:entry | entry name].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5752
                l := l , moduleNames.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5753
                handles := handles , allModules.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5754
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5755
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5756
            showMethods value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5757
                allObjects := ObjectFileLoader loadedObjectHandles.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5758
                methodObjects := (allObjects select:[:h | h isMethodHandle]) asArray.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5759
                methodNames := methodObjects collect:[:mH | mH method isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5760
                                                                'compiled method - removed' " , ' (in ' , mH pathName , ')' "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5761
                                                            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5762
                                                                'compiled method ' , mH method whoString  " , ' (in ' , mH pathName , ')' "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5763
                                                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5764
                                                     ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5765
                l := l , methodNames.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5766
                handles := handles , methodObjects.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5767
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5768
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5769
            showCObjects value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5770
                allObjects := ObjectFileLoader loadedObjectHandles.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5771
                cObjects := (allObjects select:[:h | h isFunctionObjectHandle]) asArray.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5772
                cObjectNames := cObjects collect:[:entry | entry pathName].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5773
                l := l , cObjectNames.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5774
                handles := handles , cObjects.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5775
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5776
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5777
            showOthers value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5778
                allObjects := ObjectFileLoader loadedObjectHandles.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5779
                otherObjects := (allObjects select:[:h | (h isFunctionObjectHandle
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5780
                                                         or:[h isMethodHandle
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5781
                                                         or:[h isClassLibHandle]]) not]) asArray.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5782
                otherObjectNames := otherObjects collect:[:entry | entry pathName].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5783
                l := l , otherObjectNames.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5784
                handles := handles , otherObjects.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5785
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5786
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5787
            showBuiltIn value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5788
                l := #('VM') , l.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5789
                handles := #(VM) , handles.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5790
                allModules := #(VM) , allModules.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5791
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5792
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5793
            list1 list:l.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5794
            unloadButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5795
            unloadAndRemoveButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5796
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5797
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5798
    showBuiltIn onChangeEvaluate:moduleListUpdater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5799
    showModules onChangeEvaluate:moduleListUpdater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5800
    showMethods onChangeEvaluate:moduleListUpdater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5801
    showCObjects onChangeEvaluate:moduleListUpdater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5802
    showOthers onChangeEvaluate:moduleListUpdater.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5803
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5804
    box := Dialog new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5805
    box label:(resources string:'ST/X & Module Version information').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5806
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5807
    listView1 := HVScrollableView for:SelectionInListView miniScrollerH:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5808
    listView1 model:list1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5809
    listView1 origin:0.0@0.0 corner:1.0@0.4. "/ ; inset:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5810
    listView1 action:[:sel |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5811
        |info classNames tabs module|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5812
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5813
        listView1 middleButtonMenu:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5814
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5815
        box withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5816
            |nm fileName addr entry1 entry2 entry3 method l|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5817
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5818
            tabs := TabulatorSpecification unit:#inch positions:#(0 2.6 3.5).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5819
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5820
            (showModules value or:[showBuiltIn value]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5821
                info := allModules at:sel ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5822
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5823
            info isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5824
                "/ selected a method, cObject or unknown
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5825
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5826
                module := handles at:sel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5827
                fileName := module pathName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5828
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5829
                module isMethodHandle ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5830
                    middleLabel label:'contains method:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5831
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5832
                    (method := module method) isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5833
                        nm := '** removed **'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5834
                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5835
                        menu := PopUpMenu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5836
                                    labels:#('inspect' 'browse')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5837
                                    selectors:#(inspect browse).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5838
                        menu actionAt:#inspect put:[ method inspect ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5839
                        menu actionAt:#browse put:[ |who|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5840
                                                    who := method who.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5841
                                                    UserPreferences systemBrowserClass
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5842
                                                        openInClass:(who methodClass) 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5843
                                                        selector:(who methodSelector) 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5844
                                                  ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5845
                        listView1 middleButtonMenu:menu.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5846
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5847
                        nm := (method whoString) asText emphasizeAllWith:(#color->Color blue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5848
                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5849
                    entry1 := MultiColListEntry new:2 tabulatorSpecification:tabs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5850
                    entry1 colAt:1 put:'compiled method'; colAt:2 put:nm.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5851
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5852
                    entry2 := MultiColListEntry new:2 tabulatorSpecification:tabs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5853
                    entry2 colAt:1 put:'path'; colAt:2 put:fileName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5854
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5855
                    entry3 := MultiColListEntry new:2 tabulatorSpecification:tabs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5856
                    entry3 colAt:1 put:'address'; colAt:2 put:('(16r) ' , (method code address hexPrintString leftPaddedTo:8 with:$0)).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5857
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5858
                    list2 list:(Array with:entry1 with:entry2 with:entry3).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5859
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5860
                    (module isFunctionObjectHandle 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5861
                    and:[module functions notEmpty]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5862
                        middleLabel label:'contains function:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5863
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5864
                        menu := PopUpMenu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5865
                                    labels:#('inspect')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5866
                                    selectors:#(inspect).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5867
                        menu actionAt:#inspect put:[ module functions inspect  ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5868
                        listView1 middleButtonMenu:menu.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5869
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5870
                        list2 list:((module functions select:[:f | f notNil])
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5871
                                        collect:[:f | |entry|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5872
                                                        entry := MultiColListEntry new:2 tabulatorSpecification:tabs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5873
                                                        entry colAt:1 put:(f name asText emphasizeAllWith:(#color->Color blue)).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5874
                                                        entry colAt:2 put:('address: (16r) ' , (f code address hexPrintString leftPaddedTo:8 with:$0)).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5875
                                                        entry
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5876
                                                ]).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5877
                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5878
                        list2 list:#('nothing known about contents (no functions have been extracted)').    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5879
                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5880
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5881
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5882
                unloadButton enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5883
                unloadAndRemoveButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5884
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5885
                info == #VM ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5886
                    "/ dummy entry for VM;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5887
                    "/ show file versions in lower view.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5888
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5889
                    middleLabel label:'contains modules:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5890
                    l := (ObjectMemory getVMIdentificationStrings).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5891
                    l := l select:[:entry | entry includesString:'$Header'].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5892
                    l := l select:[:entry | entry includesString:',v'].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5893
                    l := l collect:[:entry |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5894
                        |i1 i2 file revision date listEntry|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5895
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5896
                        listEntry := MultiColListEntry new:3 tabulatorSpecification:tabs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5897
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5898
                        i1 := entry indexOfSubCollection:'librun'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5899
                        i1 ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5900
                            i2 := entry indexOfSubCollection:',v' startingAt:i1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5901
                            i2 ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5902
                                file := entry copyFrom:i1+7 to:(i2-1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5903
                                listEntry colAt:1 put:file.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5904
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5905
                                i1 := i2+3.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5906
                                i2 := entry indexOfSeparatorStartingAt:i1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5907
                                revision := entry copyFrom:i1 to:(i2-1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5908
                                listEntry colAt:2 put:revision.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5909
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5910
                                i1 := i2+1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5911
                                i2 := entry indexOfSeparatorStartingAt:i1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5912
                                date := entry copyFrom:i1 to:(i2-1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5913
                                listEntry colAt:3 put:date.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5914
                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5915
                        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5916
                        listEntry.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5917
                        "/ entry
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5918
                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5919
                    list2 list:l.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5920
                
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5921
                    unloadButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5922
                    unloadAndRemoveButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5923
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5924
                    "/ selected a package
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5925
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5926
                    "/ fill bottom list with class-info
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5927
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5928
                    middleLabel label:'contains classes:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5929
                    classNames := info classNames asSortedCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5930
                    classNames := classNames select:[:cName |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5931
                                    |cls|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5932
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5933
                                    cls := Smalltalk classNamed:cName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5934
                                    cls isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5935
                                        true "a removed class"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5936
                                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5937
                                        cls isPrivate not
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5938
                                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5939
                                  ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5940
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5941
                    classNames := classNames collect:[:cName |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5942
                                    |cls entry rev listEntry|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5943
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5944
                                    listEntry := MultiColListEntry new:2 tabulatorSpecification:tabs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5945
                                    listEntry colAt:1 put:cName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5946
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5947
                                    cls := Smalltalk classNamed:cName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5948
                                    cls isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5949
                                        listEntry colAt:2 put:'(class removed)'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5950
                                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5951
                                        rev := cls binaryRevision.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5952
                                        rev notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5953
                                            cls isLoaded ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5954
                                                entry := '(stub for: ' , rev.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5955
                                            ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5956
                                                entry :='(bin: ' , rev.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5957
                                            ].    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5958
                                            cls revision ~= rev ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5959
                                                entry := entry , ' / src: ' , (cls revision printString)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5960
                                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5961
                                            listEntry colAt:2 put:entry , ')'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5962
                                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5963
                                           cls revision notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5964
                                                listEntry colAt:2 put:'(overloaded by: ' , cls revision , ')' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5965
                                           ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5966
                                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5967
                                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5968
                                    listEntry
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5969
                                  ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5970
                    list2 list:classNames.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5971
                    info dynamic ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5972
                        unloadButton enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5973
                        unloadAndRemoveButton enable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5974
                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5975
                        unloadButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5976
                        unloadAndRemoveButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5977
                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5978
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5979
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5980
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5981
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5982
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5983
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5984
    panel := HorizontalPanelView new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5985
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5986
    panel add:(l := Label label:'show:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5987
    l adjust:#left; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5988
    panel add:(check := CheckBox label:'builtin' model:showBuiltIn).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5989
    box makeTabable:check.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5990
    panel add:(check := CheckBox label:'classLibs' model:showModules).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5991
    canDoIt ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5992
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5993
    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5994
        box makeTabable:check.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5995
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5996
    panel add:(check := CheckBox label:'methods' model:showMethods).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5997
    canDoIt ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5998
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  5999
    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6000
        box makeTabable:check.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6001
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6002
    panel add:(check := CheckBox label:'c-objects' model:showCObjects).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6003
    canDoIt ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6004
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6005
    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6006
        box makeTabable:check.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6007
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6008
    panel add:(check := CheckBox label:'others' model:showOthers).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6009
    canDoIt ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6010
        check disable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6011
    ] ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6012
        box makeTabable:check.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6013
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6014
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6015
    panel horizontalLayout:#fitSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6016
    "/ panel horizontalLayout:#leftSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6017
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6018
    box addComponent:panel tabable:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6019
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6020
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6021
    box addComponent:listView1 tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6022
    listView1 topInset:(View viewSpacing + panel preferredExtent y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6023
    listView1 origin:0.0@0.0 corner:1.0@0.4. "/ ; inset:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6024
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6025
    l := box addTextLabel:(resources string:'contains:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6026
    l adjust:#left; borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6027
    l origin:0.0@0.4 corner:1.0@0.4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6028
    l topInset:(View viewSpacing).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6029
    l bottomInset:((l preferredExtent y) negated - View viewSpacing).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6030
    middleLabel := l.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6031
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6032
    listView2 := HVScrollableView for:SelectionInListView  miniScrollerH:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6033
    listView2 model:list2; printItems:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6034
    box addComponent:listView2 tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6035
    listView2 origin:0.0@0.4 corner:1.0@1.0. "/ ; inset:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6036
    listView2 disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6037
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6038
    unloadButton := Button label:(resources string:'unload').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6039
    unloadButton action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6040
        box withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6041
            |info idx pathName|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6042
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6043
            idx := list1 selectionIndex.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6044
            info := allModules at:idx ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6045
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6046
            list1 selectionIndex:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6047
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6048
            info isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6049
                "/ selected a method
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6050
                "/ idx := idx - allModules size.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6051
                pathName := (handles at:idx) pathName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6052
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6053
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6054
                "/ selected a package
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6055
                pathName := info pathName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6056
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6057
            ObjectFileLoader unloadObjectFile:pathName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6058
            moduleListUpdater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6059
            unloadButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6060
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6061
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6062
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6063
    unloadAndRemoveButton := Button label:(resources string:'remove classes & unload').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6064
    unloadAndRemoveButton action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6065
        box withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6066
            |info idx pathName|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6067
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6068
            idx := list1 selectionIndex.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6069
            info := allModules at:idx ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6070
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6071
            list1 selectionIndex:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6072
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6073
            info isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6074
                "/ selected a method
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6075
                "/ idx := idx - allModules size.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6076
                pathName := (handles at:idx) pathName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6077
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6078
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6079
                "/ selected a package
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6080
                pathName := info pathName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6081
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6082
            ObjectFileLoader unloadObjectFileAndRemoveClasses:pathName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6083
            moduleListUpdater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6084
            unloadAndRemoveButton disable.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6085
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6086
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6087
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6088
    moduleListUpdater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6089
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6090
    box addButton:unloadButton.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6091
    box addButton:unloadAndRemoveButton.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6092
    box addAbortButtonLabelled:(resources string:'dismiss').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6093
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6094
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6095
    listView2 topInset:(l preferredExtent y + 5).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6096
    listView2 bottomInset:(box preferredExtent y - y).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6097
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6098
    box width:(400 min:(box device width * 2 // 3)); 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6099
        height:(450 min:(box device height - 50)).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6100
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6101
"/  box sizeFixed:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6102
    box openWithExtent:(600 min:(box device width * 2 // 3))
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6103
                       @
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6104
                       (500 min:(box device height - 50)) .
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6105
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6106
    box destroy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6107
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6108
    "Modified: / 17.9.1995 / 16:47:50 / claus"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6109
    "Created: / 31.7.1998 / 15:49:45 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6110
    "Modified: / 10.8.1998 / 11:33:22 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6111
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6112
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6113
packageDialog
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6114
    "opens a package dialog"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6115
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6116
    |allPackages packageList packageUpdater
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6117
     box listView tabs
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6118
     menu resources selectedPackage|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6119
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6120
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6121
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6122
    box := Dialog new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6123
    box label:(resources string:'Packages').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6124
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6125
    allPackages := Set new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6126
    allPackages addAll:(Smalltalk knownPackages).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6127
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6128
    Project knownProjects do:[:package |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6129
        allPackages add:(package name)    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6130
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6131
    Project loadedProjects do:[:package |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6132
        allPackages add:(package name)    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6133
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6134
    allPackages := allPackages asOrderedCollection sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6135
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6136
    packageUpdater := [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6137
        tabs := TabulatorSpecification unit:#inch positions:#(0 4).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6138
        packageList := allPackages collect:[:pName | |pkg entry|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6139
                            entry := MultiColListEntry new:2 tabulatorSpecification:tabs.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6140
                            pkg := Project projectWithId:pName asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6141
                            (pkg notNil and:[pkg isLoaded]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6142
                                entry colAt:1 put:pName allBold.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6143
                                entry colAt:2 put:'loaded'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6144
                            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6145
                                entry colAt:1 put:pName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6146
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6147
                                (Smalltalk allClasses
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6148
                                     contains:[:cls | cls package = pName and:[cls isLoaded not]])
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6149
                                ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6150
                                    (Smalltalk allClasses
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6151
                                         contains:[:cls | cls package = pName and:[cls isLoaded]])
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6152
                                    ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6153
                                        entry colAt:2 put:'loaded/autoloaded'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6154
                                    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6155
                                        entry colAt:2 put:'autoloaded'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6156
                                    ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6157
                                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6158
                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6159
                            entry
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6160
                       ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6161
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6162
    packageUpdater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6163
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6164
    listView := HVScrollableView for:SelectionInListView miniScrollerH:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6165
    listView list:packageList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6166
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6167
    box addComponent:listView tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6168
    listView origin:0.0@0.0 corner:1.0@1.0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6169
    listView bottomInset:40.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6170
    listView action:[:selIndex | |pkg|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6171
                        selectedPackage := (allPackages at:selIndex) asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6172
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6173
                        pkg := Project projectWithId:selectedPackage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6174
                        (pkg notNil and:[pkg isLoaded]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6175
                            menu disable:#load.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6176
"/                            menu enable:#unload.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6177
                        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6178
"/                            menu disable:#unload.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6179
                            menu enable:#load.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6180
                        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6181
                    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6182
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6183
    menu := PopUpMenu 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6184
                itemList:#(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6185
                    ('load...'    load  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6186
"/                    ('-'          nil   )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6187
"/                    ('unload...'  unload)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6188
                )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6189
                resources:resources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6190
    listView middleButtonMenu:menu.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6191
    menu actionAt:#load   put:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6192
                                box withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6193
                                    Smalltalk loadPackage:selectedPackage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6194
                                    packageUpdater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6195
                                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6196
                              ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6197
"/    menu actionAt:#unload put:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6198
"/                                box withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6199
"/                                    Smalltalk unloadPackage:selectedPackage.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6200
"/                                    packageUpdater value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6201
"/                                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6202
"/                              ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6203
    menu disable:#load.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6204
"/    menu disable:#unload.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6205
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6206
    box addAbortButtonLabelled:(resources string:'dismiss').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6207
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6208
    box width:(400 min:(box device width * 2 // 3)); 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6209
        height:(450 min:(box device height - 50)).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6210
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6211
    box openWithExtent:(600 min:(box device width * 2 // 3))
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6212
                       @
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6213
                       (500 min:(box device height - 50)) .
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6214
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6215
    box destroy.
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  6216
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  6217
2884
587baa691c68 fixes & adds for multiple CVSRoots
Claus Gittinger <cg@exept.de>
parents: 2883
diff changeset
  6218
!AbstractLauncherApplication::LauncherDialogs class methodsFor:'dialogs - private'!
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  6219
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6220
cvsConfigurationDialog
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6221
    |cvsRootHolder resources defaultsList bindings dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6222
     listOfModules selectedPerModuleRoot rootsPerModule acceptChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6223
     removeEnabled cvsBinDirectoryHolder|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6224
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6225
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6226
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6227
    OperatingSystem isUNIXlike ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6228
        defaultsList := #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6229
                          '/files/CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6230
                          '/CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6231
                          'host:/files/CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6232
                          'host:/CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6233
                          ':pserver:user@host:/files/CVS'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6234
                         ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6235
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6236
        OperatingSystem isMSDOSlike ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6237
            defaultsList := #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6238
                              ':local:c:\files\CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6239
                              ':local:c:\CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6240
                              'host:/files/CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6241
                              'host:/CVS' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6242
                              ':pserver:user@host:/files/CVS'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6243
                             ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6244
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6245
            defaultsList := #('host:/files/CVS' 'host:/CVS' ':pserver:user@host:/files/CVS').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6246
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6247
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6248
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6249
    cvsRootHolder := CVSSourceCodeManager repositoryName ? '/files/CVS'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6250
    cvsRootHolder := cvsRootHolder asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6251
    rootsPerModule := Dictionary new declareAllFrom:(CVSSourceCodeManager repositoryNamesPerModule).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6252
    cvsBinDirectoryHolder := CVSSourceCodeManager cvsBinDirectory asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6253
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6254
    bindings := IdentityDictionary new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6255
    bindings at:#acceptChannel put:(acceptChannel := TriggerValue new).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6256
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6257
    bindings at:#cvsRootPrototypeList put:defaultsList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6258
    bindings at:#cvsRootHolder put:cvsRootHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6259
    bindings at:#perModuleRootModule put:nil asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6260
    bindings at:#perModuleRoot put:nil asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6261
    bindings at:#removeEnabled put:(removeEnabled := false asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6262
    bindings at:#listOfModules put:(listOfModules := rootsPerModule keys asList).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6263
    bindings at:#cvsBinDirectoryHolder put:cvsBinDirectoryHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6264
    listOfModules sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6265
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6266
    bindings at:#selectedPerModuleRoot put:(selectedPerModuleRoot := nil asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6267
    selectedPerModuleRoot 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6268
             onChangeEvaluate:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6269
                            |module cvsRoot|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6270
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6271
                            acceptChannel value:true.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6272
                            module := selectedPerModuleRoot value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6273
                            removeEnabled value:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6274
                            cvsRoot := rootsPerModule at:module ifAbsent:''.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6275
                            (bindings at:#perModuleRootModule) value:module.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6276
                            (bindings at:#perModuleRoot) value:cvsRoot.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6277
             ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6278
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6279
    bindings at:#help put:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6280
                            WindowGroup activeGroup withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6281
                                HTMLDocumentView openFullOnHelpFile:'Launcher/cvsSetup.html'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6282
                            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6283
                          ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6284
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6285
    bindings at:#addPerModuleRoot put:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6286
                            |module cvsRoot|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6287
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6288
                            acceptChannel value:true.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6289
                            module := (bindings at:#perModuleRootModule) value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6290
                            cvsRoot := (bindings at:#perModuleRoot) value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6291
                            (listOfModules includes:module) ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6292
                                listOfModules add:module.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6293
                                listOfModules sort.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6294
                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6295
                            cvsRoot size > 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6296
                                rootsPerModule at:module put:cvsRoot.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6297
                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6298
                          ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6299
    bindings at:#removePerModuleRoot put:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6300
                            |module|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6301
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6302
                            acceptChannel value:true.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6303
                            module := (bindings at:#perModuleRootModule) value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6304
                            listOfModules remove:module ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6305
                            rootsPerModule removeKey:module ifAbsent:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6306
                            (bindings at:#perModuleRootModule) value:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6307
                            (bindings at:#perModuleRoot) value:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6308
                          ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6309
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6310
    dialog := SimpleDialog new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6311
    dialog resources:resources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6312
    (dialog openSpec:(self cvsSetupSpec) withBindings:bindings) ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6313
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6314
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6315
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6316
    acceptChannel value.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6317
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6318
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6319
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6320
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6321
    CVSSourceCodeManager cvsBinDirectory:cvsBinDirectoryHolder value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6322
    CVSSourceCodeManager initializeForRepository:cvsRootHolder value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6323
    CVSSourceCodeManager repositoryNamesPerModule:rootsPerModule.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6324
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6325
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6326
fontBoxForEncoding:encodingMatch 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6327
    "open a fontBox, showing fonts which match some encoding
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6328
     (used when changing to japanese ...)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6329
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6330
    |box y b
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6331
     labelDef buttonDef listDef menuDef textDef
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6332
     models labels allOfThem filter resources defaultButton|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6333
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6334
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6335
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6336
    encodingMatch notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6337
        filter := [:f | f encoding notNil 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6338
                        and:[encodingMatch match:f encoding]].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6339
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6340
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6341
    models := OrderedCollection new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6342
    labels := OrderedCollection new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6343
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6344
    models add:(allOfThem := nil asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6345
    models add:(labelDef := Label defaultFont asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6346
    models add:(buttonDef := Button defaultFont asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6347
    models add:(listDef := SelectionInListView defaultFont asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6348
    models add:(menuDef := MenuView defaultFont asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6349
    models add:(textDef := TextView defaultFont asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6350
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6351
    box := Dialog new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6352
    box label:(resources string:'Font Settings').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6353
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6354
    models
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6355
    with:(resources array:#('All' 'Labels' 'Buttons' 'Lists' 'Menus' 'Edited Text'))
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6356
    do:[:model :title |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6357
        |y2 lbl f i|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6358
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6359
        f := model value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6360
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6361
        (box addTextLabel:title) adjust:#left.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6362
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6363
        y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6364
        b := box addComponent:(Button label:(resources string:'Change ...')) tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6365
        b relativeExtent:nil; extent:(b preferredExtent).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6366
        y2 := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6367
        box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6368
        i := box leftIndent.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6369
        box leftIndent:(b widthIncludingBorder + View viewSpacing).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6370
        (lbl := box addTextLabel:'')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6371
            adjust:#left;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6372
            font:(model value);
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6373
            labelChannel:(BlockValue 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6374
                            with:[:v | |f|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6375
                                f := v value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6376
                                f isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6377
                                    ''
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6378
                                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6379
                                    f userFriendlyName
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6380
                                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6381
                            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6382
                            argument:model).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6383
        labels add:lbl.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6384
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6385
        box leftIndent:i.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6386
        box yPosition:(box yPosition max:y2).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6387
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6388
        box addVerticalSpace; addHorizontalLine; addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6389
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6390
        b action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6391
            |f|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6392
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6393
            f := FontPanel 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6394
                fontFromUserInitial:(model value) 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6395
                              title:(resources string:'Font for %1' with:title)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6396
                             filter:filter.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6397
            f notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6398
                model == allOfThem ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6399
                    models do:[:m | m value:f].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6400
                    labels do:[:l | l font:f]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6401
                ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6402
                    model value:f.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6403
                    lbl font:f.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6404
                ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6405
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6406
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6407
        model == allOfThem ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6408
            box addVerticalSpace
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6409
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6410
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6411
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6412
    box addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6413
    defaultButton := Button label:(resources string:'Defaults').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6414
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6415
    (DialogBox styleSheet at:'dialogBox.okAtLeft') ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6416
        box addButton:defaultButton after:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6417
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6418
        box addButton:defaultButton before:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6419
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6420
    defaultButton
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6421
        action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6422
            "/ fetch defaults
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6423
            View readStyleSheetAndUpdateAllStyleCaches.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6424
            labelDef value: Label defaultFont.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6425
            buttonDef value: Button defaultFont.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6426
            listDef value: SelectionInListView defaultFont.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6427
            menuDef value: MenuView defaultFont.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6428
            textDef value: TextView defaultFont.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6429
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6430
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6431
    box open.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6432
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6433
        Label defaultFont:labelDef value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6434
        Button defaultFont:buttonDef value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6435
        Toggle defaultFont:buttonDef value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6436
        TextView withAllSubclasses do:[:cls | cls defaultFont:textDef value].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6437
        SelectionInListView withAllSubclasses do:[:cls | cls defaultFont:listDef value].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6438
        MenuView defaultFont:menuDef value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6439
        PullDownMenu defaultFont:menuDef value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6440
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6441
    box destroy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6442
    ^ box accepted
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6443
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6444
    "Created: / 27.2.1996 / 01:44:16 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6445
    "Modified: / 17.6.1996 / 13:38:48 / stefan"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6446
    "Modified: / 15.9.1998 / 22:04:51 / cg"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6447
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6448
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6449
formattingConfigurationDialog
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6450
    |dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6451
     resources exampleText formattedText reformatAction
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6452
     reformatLocked
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6453
     oldUserPreferences
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6454
     currentUserPrefs 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6455
     tabIndent  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6456
     spaceAroundTemporaries emptyLineAfterTemporaries 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6457
     spaceAfterReturnToken spaceAfterKeywordSelector cStyleBlocks
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6458
     blockArgumentsOnNewLine
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6459
     maxLengthForSingleLineBlocks resetValue bindings|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6460
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6461
    RBFormatter isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6462
        ^ self warn:'Sorry, no RBFormatter class'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6463
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6464
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6465
    RBFormatter isLoaded ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6466
        WindowGroup activeGroup withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6467
            RBFormatter autoload
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6468
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6469
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6470
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6471
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6472
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6473
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6474
    exampleText := 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6475
'methodSelector:methodArg
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6476
    "method comment:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6477
     some stupid code to show the current settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6478
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6479
    |index|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6480
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6481
    "/ another comment ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6482
    self at:index.                      "/ a message
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6483
    self at:index put:methodArg.        "/ a two arg message
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6484
    self from:1 to:index put:methodArg. "/ a three arg message
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6485
    methodArg ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6486
        Transcript showCR:''hello''.      "/ condition
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6487
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6488
    methodArg ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6489
        Transcript showCR:''hello''.      "/ condition
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6490
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6491
        Transcript showCR:''world''.      
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6492
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6493
    [methodArg] whileTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6494
        Transcript showCR:''hello''.      "/ looping
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6495
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6496
    [self aVeryLongConditionBlock and:[self toMakeBlockLonger]] whileTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6497
        Transcript showCR:''hello''.      "/ long blocks
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6498
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6499
    methodArg do:[:element |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6500
        Transcript showCR:''hello''.      "/ looping
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6501
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6502
    1 to:methodArg size do:[:index |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6503
        Transcript showCR:''hello''.      "/ looping
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6504
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6505
    methodArg keysAndValuesDo:[:index |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6506
        Transcript showCR:''hello''.      "/ looping
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6507
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6508
    Object errorSignal handle:[:ex |      
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6509
        ex return                         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6510
    ] do:[                                "/ exception handling
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6511
        self someAction                   "/ blocks
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6512
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6513
    ^ self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6514
'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6515
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6516
    formattedText := '' asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6517
    reformatLocked := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6518
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6519
    reformatAction := [ |tree
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6520
                         s_tabIndent s_spaceAroundTemporaries s_emptyLineAfterTemporaries
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6521
                         s_spaceAfterReturnToken s_spaceAfterKeywordSelector s_cStyleBlocks
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6522
                         s_maxLengthForSingleLineBlocks s_blockArgumentsOnNewLine|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6523
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6524
                        reformatLocked ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6525
                            "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6526
                            "/ temporary change the RBFormatters settings ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6527
                            "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6528
                            s_tabIndent := RBFormatter tabIndent.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6529
                            s_spaceAroundTemporaries := RBFormatter spaceAroundTemporaries.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6530
                            s_emptyLineAfterTemporaries := RBFormatter emptyLineAfterTemporaries.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6531
                            s_spaceAfterReturnToken := RBFormatter spaceAfterReturnToken.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6532
                            s_spaceAfterKeywordSelector := RBFormatter spaceAfterKeywordSelector.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6533
                            s_cStyleBlocks := RBFormatter cStyleBlocks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6534
                            s_blockArgumentsOnNewLine := RBFormatter blockArgumentsOnNewLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6535
                            s_maxLengthForSingleLineBlocks := RBFormatter maxLengthForSingleLineBlocks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6536
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6537
                            RBFormatter 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6538
                                tabIndent:tabIndent value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6539
                                spaceAroundTemporaries:spaceAroundTemporaries value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6540
                                emptyLineAfterTemporaries:emptyLineAfterTemporaries value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6541
                                spaceAfterReturnToken:spaceAfterReturnToken value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6542
                                spaceAfterKeywordSelector:spaceAfterKeywordSelector value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6543
                                cStyleBlocks:cStyleBlocks value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6544
                                blockArgumentsOnNewLine:blockArgumentsOnNewLine value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6545
                                maxLengthForSingleLineBlocks:maxLengthForSingleLineBlocks value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6546
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6547
                            tree := RBParser 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6548
                                        parseMethod:exampleText
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6549
                                        onError: [:aString :position | nil].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6550
                            tree do:[:node |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6551
                                (node ~~ tree and:[node parent isNil]) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6552
                                    self error:'No parent for node'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6553
                                ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6554
                            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6555
                            formattedText value:tree printString.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6556
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6557
                            RBFormatter 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6558
                                tabIndent:s_tabIndent;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6559
                                spaceAroundTemporaries:s_spaceAroundTemporaries;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6560
                                emptyLineAfterTemporaries:s_emptyLineAfterTemporaries;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6561
                                spaceAfterReturnToken:s_spaceAfterReturnToken;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6562
                                spaceAfterKeywordSelector:s_spaceAfterKeywordSelector;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6563
                                cStyleBlocks:s_cStyleBlocks;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6564
                                blockArgumentsOnNewLine:s_blockArgumentsOnNewLine;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6565
                                maxLengthForSingleLineBlocks:s_maxLengthForSingleLineBlocks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6566
                          ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6567
                      ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6568
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6569
    bindings := IdentityDictionary new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6570
    bindings at:#formattedText put:formattedText.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6571
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6572
    oldUserPreferences := currentUserPrefs copy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6573
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6574
    tabIndent := RBFormatter tabIndent asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6575
    tabIndent onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6576
    bindings at:#tabIndent put:tabIndent.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6577
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6578
    spaceAroundTemporaries := RBFormatter spaceAroundTemporaries asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6579
    spaceAroundTemporaries onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6580
    bindings at:#spaceAroundTemporaries put:spaceAroundTemporaries.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6581
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6582
    emptyLineAfterTemporaries := RBFormatter emptyLineAfterTemporaries asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6583
    emptyLineAfterTemporaries onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6584
    bindings at:#emptyLineAfterTemporaries put:emptyLineAfterTemporaries.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6585
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6586
    spaceAfterReturnToken := RBFormatter spaceAfterReturnToken asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6587
    spaceAfterReturnToken onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6588
    bindings at:#spaceAfterReturnToken put:spaceAfterReturnToken.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6589
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6590
    spaceAfterKeywordSelector := RBFormatter spaceAfterKeywordSelector asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6591
    spaceAfterKeywordSelector onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6592
    bindings at:#spaceAfterKeywordSelector put:spaceAfterKeywordSelector.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6593
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6594
    cStyleBlocks := RBFormatter cStyleBlocks asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6595
    cStyleBlocks onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6596
    bindings at:#cStyleBlocks put:cStyleBlocks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6597
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6598
    blockArgumentsOnNewLine := RBFormatter blockArgumentsOnNewLine asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6599
    blockArgumentsOnNewLine onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6600
    bindings at:#blockArgumentsOnNewLine put:blockArgumentsOnNewLine.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6601
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6602
    maxLengthForSingleLineBlocks := RBFormatter maxLengthForSingleLineBlocks asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6603
    maxLengthForSingleLineBlocks onChangeEvaluate:reformatAction. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6604
    bindings at:#maxLengthForSingleLineBlocks put:maxLengthForSingleLineBlocks.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6605
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6606
    bindings at:#resetList   put:#( 'ST/X default' 'RB default' ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6607
    bindings at:#resetValue  put:(resetValue := nil asValue).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6608
    resetValue onChangeEvaluate:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6609
        [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6610
            resetValue value == 1 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6611
                "/ ST/X defaults
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6612
                reformatLocked := true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6613
                tabIndent value: 4.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6614
                spaceAfterReturnToken value: true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6615
                spaceAfterKeywordSelector value: false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6616
                spaceAroundTemporaries value: false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6617
                emptyLineAfterTemporaries value: true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6618
                cStyleBlocks value: true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6619
                blockArgumentsOnNewLine value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6620
                maxLengthForSingleLineBlocks value: 20.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6621
                reformatLocked := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6622
                reformatAction value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6623
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6624
            resetValue value == 2 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6625
                "/ RBParser defaults
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6626
                reformatLocked := true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6627
                tabIndent value: 8.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6628
                spaceAfterReturnToken value: false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6629
                spaceAfterKeywordSelector value: true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6630
                spaceAroundTemporaries value: true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6631
                emptyLineAfterTemporaries value: false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6632
                cStyleBlocks value: false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6633
                blockArgumentsOnNewLine value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6634
                maxLengthForSingleLineBlocks value: 20.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6635
                reformatLocked := false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6636
                reformatAction value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6637
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6638
            resetValue value:nil. "/ to force default label
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6639
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6640
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6641
    reformatAction value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6642
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6643
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6644
    "/ create a box on those ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6645
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6646
    dialog := SimpleDialog new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6647
    dialog postBuildBlock:[:builder |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6648
                                (builder componentAt:#sampleTextView) 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6649
                                    cursorMovementWhenUpdating:nil;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6650
                                    scrollWhenUpdating:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6651
                          ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6652
    (dialog openFor:nil 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6653
        spec:(self formatterDialogSpec) 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6654
        withBindings:bindings) 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6655
    ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6656
        currentUserPrefs at:#'formatter.tabIndent' put:tabIndent value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6657
        currentUserPrefs at:#'formatter.spaceAroundTemporaries' put:spaceAroundTemporaries value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6658
        currentUserPrefs at:#'formatter.emptyLineAfterTemporaries' put:emptyLineAfterTemporaries value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6659
        currentUserPrefs at:#'formatter.spaceAfterReturnToken' put:spaceAfterReturnToken value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6660
        currentUserPrefs at:#'formatter.spaceAfterKeywordSelector' put:spaceAfterKeywordSelector value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6661
        currentUserPrefs at:#'formatter.cStyleBlocks' put:cStyleBlocks value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6662
        currentUserPrefs at:#'formatter.blockArgumentsOnNewLine' put:blockArgumentsOnNewLine value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6663
        currentUserPrefs at:#'formatter.maxLengthForSingleLineBlocks' put:maxLengthForSingleLineBlocks value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6664
        RBFormatter 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6665
            tabIndent:tabIndent value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6666
            spaceAroundTemporaries:spaceAroundTemporaries value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6667
            emptyLineAfterTemporaries:emptyLineAfterTemporaries value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6668
            spaceAfterReturnToken:spaceAfterReturnToken value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6669
            spaceAfterKeywordSelector:spaceAfterKeywordSelector value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6670
            cStyleBlocks:cStyleBlocks value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6671
            blockArgumentsOnNewLine:blockArgumentsOnNewLine value;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6672
            maxLengthForSingleLineBlocks:maxLengthForSingleLineBlocks value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6673
    ] ifFalse: [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6674
        (UserPreferences reset; current) declareAllFrom: oldUserPreferences
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6675
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6676
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6677
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6678
syntaxColorConfigurationDialog
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6679
    |box frame exampleView y
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6680
     resources exampleText coloredText recolorAction
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6681
     syntaxColor syntaxColors colorMenu oldUserPreferences
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6682
     syntaxEmphasises syntaxColorSelector syntaxEmphasisSelector syntaxColoringBox
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6683
     syntaxEmphasisesBox syntaxColoringResetButton b resetList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6684
     resetListBox currentUserPrefs|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6685
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6686
    resources := self owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6687
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6688
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6689
    exampleText := 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6690
'methodSelector:methodArg
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6691
    "method comment:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6692
     some stupid code to show the current settings"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6693
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6694
    |methodVar|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6695
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6696
    "/ another comment ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6697
    self at:methodArg.        "/ a message
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6698
    self fooBarBaz:methodVar. "/ a bad message
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6699
    methodVar := Array new:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6700
    unknonVar := 1.           "/ a bad variable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6701
    UnknonVar := 1.           "/ another bad variable
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6702
    "self bar:methodVar.  detect commented code easily"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6703
    1 to:5 do:[:i | self at:i + 1].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6704
    Transcript showCR:''some string'' , #someSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6705
    ^ self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6706
'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6707
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6708
    coloredText := '' asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6709
    recolorAction := [ coloredText value:(SyntaxHighlighter formatMethod:exampleText in:nil) ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6710
    recolorAction value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6711
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6712
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6713
    "/ create a box on those values ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6714
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6715
    box := DialogBox new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6716
    box label:(resources string:'Syntax Colors').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6717
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6718
    frame := View new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6719
    frame extent:1.0 @ 200.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6720
    frame borderWidth:0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6721
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6722
    exampleView := HVScrollableView for:TextView in:frame.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6723
    exampleView model:coloredText.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6724
    exampleView origin:0.0@0.0 corner:1.0@1.0; inset:2.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6725
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6726
    frame topInset:box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6727
    box addComponent:frame withExtent:1.0@200.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6728
    box makeTabable:exampleView. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6729
    frame width:1.0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6730
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6731
    box addVerticalSpace.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6732
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6733
    oldUserPreferences := currentUserPrefs copy.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6734
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6735
    syntaxColoringBox := box addComboListOn: (syntaxColors := SelectionInList with:UserPreferences syntaxColorNames initialSelection:1).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6736
    syntaxColorSelector    := [(syntaxColors selection replChar:$  withString: '') asLowercaseFirst asSymbol].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6737
    syntaxEmphasisSelector := [((syntaxColorSelector value readStream upToAll: 'Color'), 'Emphasis') asLowercaseFirst asSymbol].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6738
    syntaxColor := (currentUserPrefs perform: syntaxColorSelector value) asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6739
    colorMenu := ColorMenu new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6740
    colorMenu model: syntaxColor.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6741
    syntaxColor onChangeEvaluate: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6742
        [currentUserPrefs at:  syntaxColorSelector value put: syntaxColor value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6743
         recolorAction value.].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6744
    syntaxColors onChangeEvaluate: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6745
        [|eVal|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6746
         syntaxColor value: (currentUserPrefs perform:syntaxColorSelector value).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6747
         eVal := currentUserPrefs perform: syntaxEmphasisSelector value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6748
         eVal isArray ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6749
            eVal = (Array with:#underwave with:#underlineColor->(Color red:100.0 green:0.0 blue:0.0)) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6750
                eVal := #'red underwave'    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6751
            ].    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6752
            eVal = (Array with:#bold with:#underwave with:#underlineColor->(Color red:100.0 green:0.0 blue:0.0)) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6753
                eVal := #'bold+red underwave'    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6754
            ].    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6755
            eVal = (Array with:#bold with:#underlineColor->(Color red:100.0 green:0.0 blue:0.0)) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6756
                eVal := #'bold+red underline'    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6757
            ].    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6758
            eVal = (Array with:#italic with:#underwave with:#underlineColor->(Color red:100.0 green:0.0 blue:0.0)) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6759
                eVal := #'italic+red underwave'    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6760
            ].    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6761
            eVal = (Array with:#italic with:#underlineColor->(Color red:100.0 green:0.0 blue:0.0)) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6762
                eVal := #'italic+red underline'    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6763
            ].    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6764
         ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6765
         syntaxEmphasises selection: eVal.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6766
         recolorAction value.].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6767
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6768
    syntaxEmphasises := SelectionInList 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6769
                            with:#(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6770
                                    normal
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6771
                                    underline
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6772
                                    #'red underline'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6773
                                    underwave
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6774
                                    #'red underwave'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6775
                                    bold
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6776
                                    boldUnderline
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6777
                                    #'bold+red underline'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6778
                                    boldUnderwave
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6779
                                    #'bold+red underwave'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6780
                                    italic
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6781
                                    italicUnderline
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6782
                                    #'italic+red underline'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6783
                                    italicUnderwave
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6784
                                    #'italic+red underwave'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6785
                                    reverse
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6786
                                  ) 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6787
                            initialSelection:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6788
    syntaxEmphasisesBox := box addComboListOn:syntaxEmphasises.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6789
    syntaxEmphasises 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6790
        onChangeEvaluate:[ |em|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6791
            em := syntaxEmphasises selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6792
            em notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6793
                em := em asSymbol.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6794
                em == #'red underline' ifTrue:[ em := Array with:#underline with:(#underlineColor->Color red)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6795
                em == #'red underwave' ifTrue:[ em := Array with:#underwave with:(#underlineColor->Color red)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6796
                em == #'bold+red underline' ifTrue:[ em := Array with:#bold with:#underline with:(#underlineColor->Color red)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6797
                em == #'bold+red underwave' ifTrue:[ em := Array with:#bold with:#underwave with:(#underlineColor->Color red)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6798
                em == #'italic+red underline' ifTrue:[ em := Array with:#italic with:#underline with:(#underlineColor->Color red)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6799
                em == #'italic+red underwave' ifTrue:[ em := Array with:#italic with:#underwave with:(#underlineColor->Color red)].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6800
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6801
                currentUserPrefs at: syntaxEmphasisSelector value put:em.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6802
            ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6803
            recolorAction value
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6804
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6805
    syntaxColors changed:#value. "/ to force initial update of emphasis
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6806
    box addComponent:colorMenu tabable:true.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6807
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6808
    y := box yPosition.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6809
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6810
    b := Button new label: (resources string:'reset to:').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6811
    b action:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6812
        |resetSelector|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6813
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6814
        resetSelector := (currentUserPrefs listOfPredefinedSyntaxColoringSchemes
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6815
                             collect:[:eachEntry | eachEntry first])
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6816
                                 at:resetList selectionIndex.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6817
        currentUserPrefs perform:resetSelector. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6818
        recolorAction value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6819
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6820
    syntaxColoringResetButton := box addComponent:b.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6821
    box makeTabable:syntaxColoringResetButton.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6822
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6823
    box yPosition:y.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6824
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6825
    resetList := SelectionInList 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6826
                            with:(currentUserPrefs listOfPredefinedSyntaxColoringSchemes
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6827
                                        collect:[:eachEntry | eachEntry second])
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6828
                            initialSelection:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6829
    resetListBox := box addComboListOn:resetList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6830
    box makeTabable:resetListBox.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6831
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6832
    syntaxColoringBox enable.  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6833
    colorMenu enable.  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6834
    syntaxEmphasisesBox enable.  
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6835
    syntaxColoringResetButton enable. 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6836
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6837
    box 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6838
"/        addHelpButtonFor:'Launcher/sourceSettings.html';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6839
        addAbortAndOkButtons.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6840
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6841
    box stickAtBottomWithVariableHeight:frame.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6842
    box stickAtBottomWithFixHeight:syntaxColoringBox.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6843
    box stickAtBottomWithFixHeight:syntaxEmphasisesBox.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6844
    box stickAtBottomWithFixHeight:colorMenu.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6845
    box stickAtBottomWithFixHeight:syntaxColoringResetButton left:0.0 right:0.5.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6846
    box stickAtBottomWithFixHeight:resetListBox left:0.5 right:1.0.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6847
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6848
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6849
    "/ show the box ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6850
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6851
    box extent:600@400.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6852
    box openModal.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6853
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6854
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6855
    "/ update system settings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6856
    "/
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6857
    box accepted ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6858
    ] ifFalse: [
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6859
        (UserPreferences reset; current) declareAllFrom: oldUserPreferences
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6860
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6861
    box destroy
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6862
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6863
    "Modified: / 16.4.1998 / 17:18:16 / ca"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6864
    "Modified: / 7.7.1999 / 00:27:02 / cg"
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  6865
! !
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  6866
2596
a2c3d90290ba formatter setup added;
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
  6867
!AbstractLauncherApplication::LauncherDialogs class methodsFor:'interface specs'!
a2c3d90290ba formatter setup added;
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
  6868
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6869
cvsSetupSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6870
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6871
     by the UIPainter of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6872
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6873
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6874
     the UIPainter may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6875
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6876
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6877
     UIPainter new openOnClass:AbstractLauncherApplication::LauncherDialogs andSelector:#cvsSetupSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6878
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6879
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6880
    <resource: #canvas>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6881
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6882
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6883
     #(#FullSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6884
        #name: #cvsSetupSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6885
        #window: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6886
       #(#WindowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6887
          #label: 'CVS Setup'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6888
          #name: 'CVS Setup'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6889
          #min: #(#Point 436 316)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6890
          #max: #(#Point 1280 1024)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6891
          #bounds: #(#Rectangle 13 23 449 377)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6892
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6893
        #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6894
       #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6895
          #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6896
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6897
              #label: 'CVS BinDirectory:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6898
              #name: 'Label1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6899
              #layout: #(#LayoutFrame 0 0.0 36 0 40 0.25 53 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6900
              #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6901
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6902
              #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6903
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6904
           #(#InputFieldSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6905
              #name: 'BinDirectoryField'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6906
              #layout: #(#LayoutFrame 44 0.25 34 0 -1 1 56 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6907
              #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6908
              #model: #cvsBinDirectoryHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6909
              #acceptChannel: #acceptChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6910
              #acceptOnPointerLeave: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6911
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6912
           #(#DividerSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6913
              #name: 'Separator3'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6914
              #layout: #(#LayoutFrame 0 0.0 60 0 0 1.0 64 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6915
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6916
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6917
              #label: 'CVS SourceCodeManager setup'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6918
              #name: 'label'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6919
              #layout: #(#LayoutFrame 1 0.0 3 0 -1 1.0 20 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6920
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6921
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6922
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6923
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6924
              #label: 'CVSRoot default:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6925
              #name: 'defaultCvsRootLabel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6926
              #layout: #(#LayoutFrame 0 0.0 71 0 40 0.25 88 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6927
              #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6928
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6929
              #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6930
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6931
           #(#ComboBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6932
              #name: 'cvsRootComboBox'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6933
              #layout: #(#LayoutFrame 44 0.25 71 0 -1 1.0 93 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6934
              #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6935
              #model: #cvsRootHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6936
              #immediateAccept: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6937
              #acceptOnLeave: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6938
              #acceptOnReturn: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6939
              #acceptOnTab: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6940
              #acceptOnLostFocus: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6941
              #acceptChannel: #acceptChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6942
              #acceptOnPointerLeave: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6943
              #comboList: #cvsRootPrototypeList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6944
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6945
           #(#DividerSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6946
              #name: 'Separator1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6947
              #layout: #(#LayoutFrame 0 0.0 96 0 0 1.0 100 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6948
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6949
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6950
              #label: 'CVSRoot per Module:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6951
              #name: 'knownModulesLabel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6952
              #layout: #(#LayoutFrame 0 0.0 109 0 40 0.25 126 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6953
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6954
              #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6955
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6956
           #(#SequenceViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6957
              #name: 'List1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6958
              #layout: #(#LayoutFrame 44 0.25 104 0 -1 1 202 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6959
              #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6960
              #model: #selectedPerModuleRoot
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6961
              #hasHorizontalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6962
              #hasVerticalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6963
              #miniScrollerHorizontal: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6964
              #useIndex: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6965
              #sequenceList: #listOfModules
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6966
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6967
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6968
              #label: 'Module:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6969
              #name: 'moduleLabel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6970
              #layout: #(#LayoutFrame 0 0.0 209 0 40 0.25 226 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6971
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6972
              #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6973
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6974
           #(#InputFieldSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6975
              #name: 'perModuleRootModuleEntryField'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6976
              #layout: #(#LayoutFrame 44 0.25 205 0 -1 1 227 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6977
              #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6978
              #model: #perModuleRootModule
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6979
              #acceptChannel: #acceptChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6980
              #acceptOnPointerLeave: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6981
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6982
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6983
              #label: 'CVSRoot:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6984
              #name: 'cvsRootLabel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6985
              #layout: #(#LayoutFrame 0 0.0 236 0 40 0.25 253 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6986
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6987
              #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6988
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6989
           #(#ComboBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6990
              #name: 'perModuleRootComboBox'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6991
              #layout: #(#LayoutFrame 44 0.25 232 0 -1 1.0 254 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6992
              #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6993
              #model: #perModuleRoot
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6994
              #immediateAccept: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6995
              #acceptOnLeave: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6996
              #acceptOnReturn: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6997
              #acceptOnTab: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6998
              #acceptOnLostFocus: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  6999
              #acceptChannel: #acceptChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7000
              #acceptOnPointerLeave: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7001
              #comboList: #cvsRootPrototypeList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7002
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7003
           #(#HorizontalPanelViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7004
              #name: 'HorizontalPanel1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7005
              #layout: #(#LayoutFrame 44 0.25 258 0 -1 1 289 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7006
              #horizontalLayout: #fitSpace
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7007
              #verticalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7008
              #horizontalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7009
              #verticalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7010
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7011
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7012
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7013
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7014
                    #label: 'Add/Apply'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7015
                    #name: 'addButton'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7016
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7017
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7018
                    #model: #addPerModuleRoot
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7019
                    #extent: #(#Point 136 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7020
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7021
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7022
                    #label: 'Remove'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7023
                    #name: 'removeButton'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7024
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7025
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7026
                    #model: #removePerModuleRoot
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7027
                    #enableChannel: #removeEnabled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7028
                    #extent: #(#Point 137 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7029
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7030
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7031
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7032
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7033
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7034
           #(#DividerSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7035
              #name: 'Separator2'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7036
              #layout: #(#LayoutFrame 0 0.0 -45 1 0 1.0 -34 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7037
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7038
           #(#HorizontalPanelViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7039
              #name: 'buttonPanel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7040
              #layout: #(#LayoutFrame 0 0.0 -29 1.0 0 1.0 -3 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7041
              #horizontalLayout: #fitSpace
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7042
              #verticalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7043
              #horizontalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7044
              #verticalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7045
              #ignoreInvisibleComponents: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7046
              #reverseOrderIfOKAtLeft: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7047
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7048
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7049
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7050
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7051
                    #label: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7052
                    #name: 'cancelButton'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7053
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7054
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7055
                    #model: #cancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7056
                    #extent: #(#Point 141 21)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7057
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7058
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7059
                    #label: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7060
                    #name: 'helpButton'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7061
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7062
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7063
                    #model: #help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7064
                    #extent: #(#Point 141 21)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7065
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7066
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7067
                    #label: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7068
                    #name: 'okButton'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7069
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7070
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7071
                    #model: #accept
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7072
                    #isDefault: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7073
                    #extent: #(#Point 142 21)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7074
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7075
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7076
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7077
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7078
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7079
           )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7080
         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7081
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7082
      )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7083
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7084
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7085
formatterDialogSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7086
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7087
     by the UIPainter of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7088
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7089
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7090
     the UIPainter may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7091
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7092
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7093
     UIPainter new openOnClass:AbstractLauncherApplication::LauncherDialogs andSelector:#formatterDialogSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7094
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7095
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7096
    <resource: #canvas>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7097
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7098
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7099
     #(#FullSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7100
        #name: #formatterDialogSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7101
        #window: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7102
       #(#WindowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7103
          #label: 'Formatting parameters'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7104
          #name: 'Formatting parameters'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7105
          #min: #(#Point 10 10)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7106
          #max: #(#Point 1280 1024)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7107
          #bounds: #(#Rectangle 10 406 606 989)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7108
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7109
        #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7110
       #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7111
          #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7112
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7113
              #label: 'Sample output:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7114
              #name: 'Label2'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7115
              #layout: #(#LayoutFrame 0 0.0 4 0 0 1.0 26 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7116
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7117
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7118
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7119
           #(#TextEditorSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7120
              #name: 'sampleTextView'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7121
              #layout: #(#LayoutFrame 0 0.0 30 0.0 0 1.0 -234 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7122
              #level: -1
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7123
              #model: #formattedText
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7124
              #hasHorizontalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7125
              #hasVerticalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7126
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7127
           #(#FramedBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7128
              #label: 'Parameters'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7129
              #name: 'FramedBox1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7130
              #layout: #(#LayoutFrame 0 0.0 -225 1 0 1.0 -30 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7131
              #labelPosition: #topLeft
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7132
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7133
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7134
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7135
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7136
                 #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7137
                    #label: 'Max length for single line blocks:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7138
                    #name: 'Label1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7139
                    #layout: #(#LayoutFrame 185 0.0 127 0 66 0.7 153 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7140
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7141
                    #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7142
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7143
                 #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7144
                    #label: 'Space around temporaries '
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7145
                    #name: 'checkBox'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7146
                    #layout: #(#LayoutFrame 2 0 3 0 260 0 32 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7147
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7148
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7149
                    #model: #spaceAroundTemporaries
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7150
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7151
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7152
                 #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7153
                    #label: 'Blank line after local var declaration'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7154
                    #name: 'CheckBox1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7155
                    #layout: #(#LayoutFrame 267 0 3 0 567 0 32 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7156
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7157
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7158
                    #model: #emptyLineAfterTemporaries
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7159
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7160
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7161
                 #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7162
                    #label: 'Space after ''^'''
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7163
                    #name: 'CheckBox2'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7164
                    #layout: #(#LayoutFrame 2 0 31 0 260 0 60 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7165
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7166
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7167
                    #model: #spaceAfterReturnToken
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7168
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7169
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7170
                 #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7171
                    #label: 'Space after '':'' in keywords'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7172
                    #name: 'CheckBox3'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7173
                    #layout: #(#LayoutFrame 267 0 31 0 567 0 60 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7174
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7175
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7176
                    #model: #spaceAfterKeywordSelector
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7177
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7178
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7179
                 #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7180
                    #label: 'C-Style blocks'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7181
                    #name: 'CheckBox4'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7182
                    #layout: #(#LayoutFrame 2 0 59 0 260 0 88 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7183
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7184
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7185
                    #model: #cStyleBlocks
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7186
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7187
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7188
                 #(#InputFieldSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7189
                    #name: 'editField'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7190
                    #layout: #(#LayoutFrame 74 0.7 93 0 -38 1.0 119 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7191
                    #level: -1
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7192
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7193
                    #model: #tabIndent
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7194
                    #type: #number
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7195
                    #immediateAccept: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7196
                    #acceptOnLeave: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7197
                    #acceptOnReturn: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7198
                    #acceptOnTab: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7199
                    #acceptOnLostFocus: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7200
                    #acceptOnPointerLeave: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7201
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7202
                 #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7203
                    #label: 'Indent:'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7204
                    #name: 'label'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7205
                    #layout: #(#LayoutFrame 242 0.0 93 0 66 0.7 119 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7206
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7207
                    #adjust: #right
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7208
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7209
                 #(#InputFieldSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7210
                    #name: 'EntryField1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7211
                    #layout: #(#LayoutFrame 74 0.7 127 0 -38 1.0 153 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7212
                    #level: -1
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7213
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7214
                    #model: #maxLengthForSingleLineBlocks
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7215
                    #type: #number
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7216
                    #immediateAccept: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7217
                    #acceptOnLeave: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7218
                    #acceptOnReturn: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7219
                    #acceptOnTab: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7220
                    #acceptOnLostFocus: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7221
                    #acceptOnPointerLeave: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7222
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7223
                 #(#PopUpListSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7224
                    #label: 'Reset to...'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7225
                    #name: 'PopUpList1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7226
                    #layout: #(#LayoutFrame 2 0 129 0 127 0 151 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7227
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7228
                    #model: #resetValue
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7229
                    #menu: #resetList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7230
                    #useIndex: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7231
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7232
                 #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7233
                    #label: 'Block args on new line'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7234
                    #name: 'CheckBox5'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7235
                    #layout: #(#LayoutFrame 267 0 59 0 567 0 88 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7236
                    #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7237
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7238
                    #model: #blockArgumentsOnNewLine
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7239
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7240
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7241
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7242
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7243
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7244
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7245
           #(#HorizontalPanelViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7246
              #name: 'horizontalPanelView'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7247
              #layout: #(#LayoutFrame 0 0.0 -35 1.0 0 1.0 0 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7248
              #level: 0
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7249
              #horizontalLayout: #fitSpace
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7250
              #verticalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7251
              #horizontalSpace: 4
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7252
              #verticalSpace: 4
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7253
              #ignoreInvisibleComponents: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7254
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7255
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7256
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7257
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7258
                    #label: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7259
                    #name: 'button'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7260
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7261
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7262
                    #model: #cancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7263
                    #useDefaultExtent: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7264
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7265
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7266
                    #label: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7267
                    #name: 'Button1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7268
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7269
                    #tabable: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7270
                    #model: #accept
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7271
                    #isDefault: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7272
                    #useDefaultExtent: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7273
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7274
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7275
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7276
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7277
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7278
           )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7279
         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7280
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7281
      )
2596
a2c3d90290ba formatter setup added;
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
  7282
! !
a2c3d90290ba formatter setup added;
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
  7283
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7284
!AbstractLauncherApplication::SettingsDialog class methodsFor:'applications'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7285
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7286
addApplClass:aClass withName:aName
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7287
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7288
    ApplicationList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7289
        self initialize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7290
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7291
    ApplicationList add:(Array with:aName with:aClass asString asSymbol)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7292
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7293
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7294
applList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7295
    ApplicationList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7296
        self initialize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7297
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7298
    ^ ApplicationList 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7299
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7300
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7301
defaultAppList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7302
    " list of settings applications 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7303
      format: nameString applicationClassNameMethod"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7304
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7305
    ^ #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7306
        #('Tools'    #'AbstractLauncherApplication::ToolsSettingsAppl')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7307
        #('Language' #'AbstractLauncherApplication::LanguageSettingsAppl')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7308
        #('Keyboard Mappings' #'AbstractLauncherApplication::KbdMappingSettingsAppl')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7309
        #('Style Selection' #'AbstractLauncherApplication::StyleSettingsAppl')
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7310
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7311
    ).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7312
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7313
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7314
removeApplClass:aClass
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7315
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7316
    |index|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7317
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7318
    ApplicationList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7319
        self initialize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7320
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7321
    index := ApplicationList findFirst:[:el |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7322
        el second == aClass asSymbol
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7323
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7324
    index ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7325
        ApplicationList removeIndex:index.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7326
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7327
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7328
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7329
settingsAppListClasses
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7330
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7331
    ^ self applList collect:[:entry | entry last].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7332
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7333
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7334
settingsAppListNames
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7335
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7336
    ^ self applList collect:[:entry | entry first].
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7337
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7338
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7339
!AbstractLauncherApplication::SettingsDialog class methodsFor:'initialize'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7340
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7341
initialize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7342
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7343
    ApplicationList := self defaultAppList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7344
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7345
"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7346
    self initialize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7347
"
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7348
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7349
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7350
!AbstractLauncherApplication::SettingsDialog class methodsFor:'interface specs'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7351
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7352
windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7353
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7354
     by the UIPainter of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7355
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7356
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7357
     the UIPainter may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7358
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7359
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7360
     UIPainter new openOnClass:AbstractLauncherApplication::SettingsDialog andSelector:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7361
     AbstractLauncherApplication::SettingsDialog new openInterface:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7362
     AbstractLauncherApplication::SettingsDialog open
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7363
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7364
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7365
    <resource: #canvas>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7366
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7367
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7368
     #(#FullSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7369
        #name: #windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7370
        #window: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7371
       #(#WindowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7372
          #label: 'Settings Dialog'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7373
          #name: 'Settings Dialog'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7374
          #min: #(#Point 10 10)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7375
          #max: #(#Point 1024 768)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7376
          #bounds: #(#Rectangle 16 42 516 562)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7377
          #menu: #mainMenu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7378
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7379
        #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7380
       #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7381
          #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7382
           #(#NoteBookViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7383
              #name: 'SettingsNoteBook'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7384
              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7385
              #model: #selectionHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7386
              #menu: #settingsAppList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7387
              #useIndex: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7388
              #canvas: #canvasHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7389
              #keepCanvasAlive: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7390
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7391
           )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7392
         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7393
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7394
      )
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7395
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7396
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7397
!AbstractLauncherApplication::SettingsDialog class methodsFor:'menu specs'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7398
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7399
mainMenu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7400
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7401
     by the MenuEditor of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7402
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7403
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7404
     the MenuEditor may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7405
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7406
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7407
     MenuEditor new openOnClass:SettingsDialog andSelector:#mainMenu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7408
     (Menu new fromLiteralArrayEncoding:(SettingsDialog mainMenu)) startUp
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7409
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7410
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7411
    <resource: #menu>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7412
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7413
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7414
     #(#Menu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7415
        #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7416
         #(#MenuItem
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7417
            #label: 'File'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7418
            #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7419
            #submenu: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7420
           #(#Menu
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7421
              #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7422
               #(#MenuItem
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7423
                  #label: 'Load Settings...'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7424
                  #itemValue: #loadSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7425
                  #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7426
                )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7427
               #(#MenuItem
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7428
                  #label: 'Save Settings...'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7429
                  #itemValue: #saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7430
                  #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7431
                )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7432
               #(#MenuItem
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7433
                  #label: 'Exit'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7434
                  #itemValue: #closeRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7435
                  #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7436
                )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7437
               )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7438
              nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7439
              nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7440
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7441
          )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7442
         )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7443
        nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7444
        nil
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7445
      )
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7446
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7447
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7448
!AbstractLauncherApplication::SettingsDialog methodsFor:'accessing'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7449
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7450
requestor
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7451
    "return the 'requestor' of the SettingsDialog"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7452
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7453
    ^ requestor
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7454
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7455
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7456
requestor:something
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7457
    "set the value of the instance variable 'requestor' (automatically generated)"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7458
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7459
    requestor := something.
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7460
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7461
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7462
!AbstractLauncherApplication::SettingsDialog methodsFor:'actions'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7463
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7464
sendLoadRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7465
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7466
    colOfInstances do:[:settInst|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7467
        settInst loadRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7468
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7469
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7470
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7471
sendSaveRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7472
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7473
    |oldClient|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7474
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7475
    oldClient := self canvasHolder value application.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7476
    oldClient notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7477
        oldClient saveRequest ifFalse:[^ false].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7478
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7479
    ^ true
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7480
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7481
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7482
!AbstractLauncherApplication::SettingsDialog methodsFor:'aspects'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7483
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7484
canvasHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7485
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7486
    canvasHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7487
        canvasHolder := ValueHolder new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7488
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7489
    ^ canvasHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7490
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7491
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7492
selection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7493
    "get the selection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7494
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7495
    ^ selection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7496
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7497
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7498
selection:something
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7499
    "set the selection; update canvas
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7500
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7501
    selection ~~ something ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7502
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7503
        self sendSaveRequest ifFalse:[ ^ self].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7504
        selection := something.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7505
        selection ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7506
            self canvasHolder value:((colOfInstances at:selection) window).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7507
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7508
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7509
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7510
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7511
selectionHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7512
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7513
    selectionHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7514
        selectionHolder := AspectAdaptor new subject:self; forAspect:#selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7515
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7516
    ^ selectionHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7517
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7518
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7519
settingsAppList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7520
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7521
    ^ self class settingsAppListNames.
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7522
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7523
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7524
!AbstractLauncherApplication::SettingsDialog methodsFor:'initialization & release'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7525
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7526
closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7527
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7528
     It will be invoked when your app/dialog-window is really closed.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7529
     See also #closeDownViews, which is invoked before and may suppress the close
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7530
     or ask the user for confirmation."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7531
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7532
    "/ change the code below as required ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7533
    "/ This should cleanup any leftover resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7534
    "/ (for example, temporary files)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7535
    "/ super closeRequest will initiate the closeDown
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7536
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7537
    "/ add your code here
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7538
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7539
    "/ do not remove the one below ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7540
    ^ super closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7541
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7542
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7543
closeRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7544
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7545
     It will be invoked when your app/dialog-window is about to be
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7546
     closed (this method has a chance to suppress the close).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7547
     See also #closeDownViews, which is invoked when the close is really done."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7548
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7549
    self sendSaveRequest ifFalse:[ ^ self].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7550
    ^ super closeRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7551
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7552
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7553
initialize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7554
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7555
    selectionHolder := AspectAdaptor new subject:self; forAspect:#selection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7556
    super initialize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7557
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7558
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7559
postBuildWith:aBuilder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7560
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7561
     It will be invoked during the initialization of your app/dialog,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7562
     after all of the visual components have been built, 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7563
     but BEFORE the top window is made visible.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7564
     Add any app-specific actions here (reading files, setting up values etc.)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7565
     See also #postOpenWith:, which is invoked after opening."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7566
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7567
    "/ add any code here ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7568
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7569
    ^ super postBuildWith:aBuilder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7570
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7571
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7572
postOpenWith:aBuilder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7573
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7574
     It will be invoked right after the applications window has been opened.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7575
     Add any app-specific actions here (starting background processes etc.).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7576
     See also #postBuildWith:, which is invoked before opening."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7577
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7578
    "/ add any code here ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7579
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7580
    colOfInstances := OrderedCollection new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7581
    self class settingsAppListClasses do:[:cls| | className |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7582
        className := Smalltalk classNamed:cls.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7583
        cls isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7584
            Transcript showCR:'no class named:' , className
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7585
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7586
            | appl window|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7587
            appl := className new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7588
            window := ApplicationSubView new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7589
            appl createBuilder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7590
            window client:appl.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7591
            
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7592
            colOfInstances add:appl.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7593
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7594
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7595
    self selectionHolder value:1.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7596
    ^ super postOpenWith:aBuilder
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7597
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7598
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7599
!AbstractLauncherApplication::SettingsDialog methodsFor:'menu actions'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  7600
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7601
loadSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7602
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7603
    "restore settings from a settings-file."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7604
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7605
    "a temporary kludge - we need a central systemSettings object for this,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7606
     which can be saved/restored with a single store/read."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7607
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7608
    |fileName|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7609
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7610
    fileName := Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7611
        requestFileName:(resources string:'Load Settings From:') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7612
        default:'settings.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7613
        ok:(resources string:'Load') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7614
        abort:(resources string:'Cancel') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7615
        pattern:'*.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7616
        fromDirectory:nil.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7617
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7618
    (fileName size == 0) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7619
        "/ canceled
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7620
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7621
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7622
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7623
    self withWaitCursorDo:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7624
        Smalltalk fileIn:fileName.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7625
        Transcript current topView model reOpen.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7626
        self sendLoadRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7627
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7628
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7629
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7630
saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7631
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7632
    |fileName resources|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7633
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7634
    resources := self class owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7635
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7636
    fileName := Dialog 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7637
        requestFileName:(resources string:'Save settings in:') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7638
        default:'settings.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7639
        ok:(resources string:'Save') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7640
        abort:(resources string:'Cancel') 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7641
        pattern:'*.stx'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7642
        fromDirectory:'.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7643
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7644
    fileName size ~~ 0 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7645
        "not canceled"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7646
        self saveSettingsIn:fileName.
4243
2dc1cbadd5fc *** empty log message ***
penk
parents: 4242
diff changeset
  7647
    ]
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7648
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7649
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7650
saveSettingsIn:fileName
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7651
    "save settings to a settings-file."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7652
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7653
    "a temporary kludge - we need a central systemSettings object for this,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7654
     which can be saved/restored with a single store/read.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7655
     Will move entries over to UserPreferences over time;
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7656
     new items should always go there."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7657
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7658
    |resources s screen currentUserPrefs|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7659
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7660
    resources := self class owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7661
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7662
    s := fileName asFilename writeStream.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7663
    s isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7664
        self warn:(resources string:'Cannot write the %1 file !!' with:fileName).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7665
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7666
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7667
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7668
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7669
    screen := Screen current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7670
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7671
    s nextPutLine:'"/ ST/X saved settings';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7672
      nextPutLine:'"/ DO NOT MODIFY MANUALLY';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7673
      nextPutLine:'"/ (modifications would be lost with next save-settings)';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7674
      nextPutLine:'"/';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7675
      nextPutLine:'"/ this file was automatically generated by the';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7676
      nextPutLine:'"/ ''save settings'' function of the Launcher';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7677
      nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7678
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7679
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7680
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7681
    s nextPutLine:'"/ saved by ' , OperatingSystem getLoginName , '@' , OperatingSystem getHostName , ' at ' , AbsoluteTime now printString.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7682
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7683
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7684
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7685
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7686
    s nextPutLine:'"/ Display settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7687
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7688
    s nextPutLine:'"/ only restore the display settings, if on the same Display ...'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7689
    s nextPutLine:'Display notNil ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7690
    s nextPutLine:' Display displayName = ' , (screen displayName storeString) , ' ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7691
      screen fixColors notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7692
        s nextPutLine:'  Image flushDeviceImages.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7693
        s nextPutLine:'  Color colorAllocationFailSignal catch:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7694
        s nextPutLine:'    Color getColorsRed:6 green:6 blue:4 on:Display'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7695
        s nextPutLine:'  ].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7696
      ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7697
        s nextPutLine:'  Display releaseFixColors.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7698
      ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7699
      s nextPutLine:'  Display hasColors: ' , (screen hasColors storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7700
      s nextPutLine:'  Display widthInMillimeter: ' , (screen widthInMillimeter storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7701
      s nextPutLine:'  Display heightInMillimeter: ' , (screen heightInMillimeter storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7702
      s nextPutLine:'  Display supportsDeepIcons: ' , (screen supportsDeepIcons storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7703
      s nextPutLine:'  Image ditherAlgorithm: ' , (Image ditherAlgorithm storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7704
      s nextPutLine:'  View defaultStyle:' , View defaultStyle storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7705
    s nextPutLine:' ].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7706
    s nextPutLine:'].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7707
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7708
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7709
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7710
    s nextPutLine:'"/ Compiler settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7711
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7712
    s nextPutLine:'Compiler warnSTXSpecials: ' , (Compiler warnSTXSpecials storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7713
      nextPutLine:'Compiler warnUnderscoreInIdentifier: ' , (Compiler warnUnderscoreInIdentifier storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7714
      nextPutLine:'Compiler warnOldStyleAssignment: ' , (Compiler warnOldStyleAssignment storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7715
      nextPutLine:'Compiler warnCommonMistakes: ' , (Compiler warnCommonMistakes storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7716
      nextPutLine:'Compiler warnPossibleIncompatibilities: ' , (Compiler warnPossibleIncompatibilities storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7717
      nextPutLine:'Compiler allowUnderscoreInIdentifier: ' , (Compiler allowUnderscoreInIdentifier storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7718
      nextPutLine:'Compiler allowSqueakExtensions: ' , (Compiler allowSqueakExtensions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7719
      nextPutLine:'Compiler allowDolphinExtensions: ' , (Compiler allowDolphinExtensions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7720
      nextPutLine:'Compiler arraysAreImmutable: ' , (Compiler arraysAreImmutable storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7721
      nextPutLine:'Compiler lineNumberInfo: ' , (Compiler lineNumberInfo storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7722
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7723
      nextPutLine:'Compiler foldConstants: ' , (Compiler foldConstants storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7724
      nextPutLine:'Compiler stcCompilation: ' , (Compiler stcCompilation storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7725
      nextPutLine:'OperatingSystem getOSType = ' , (OperatingSystem getOSType storeString) , ' ifTrue:[';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7726
      nextPutLine:'  Compiler stcCompilationIncludes: ' , (Compiler stcCompilationIncludes storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7727
      nextPutLine:'  Compiler stcCompilationDefines: ' , (Compiler stcCompilationDefines storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7728
      nextPutLine:'  Compiler stcCompilationOptions: ' , (Compiler stcCompilationOptions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7729
      nextPutLine:'  ' , (Compiler stcModulePath storeString) , ' asFilename exists ifTrue:[';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7730
      nextPutLine:'    Compiler stcModulePath: ' , (Compiler stcModulePath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7731
      nextPutLine:'  ].';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7732
      nextPutLine:'  Compiler stcPath: ' , (Compiler stcPath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7733
      nextPutLine:'  Compiler ccCompilationOptions: ' , (Compiler ccCompilationOptions storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7734
      nextPutLine:'  Compiler ccPath: ' , (Compiler ccPath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7735
      nextPutLine:'  ObjectFileLoader linkArgs: ' , (ObjectFileLoader linkArgs storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7736
      nextPutLine:'  ObjectFileLoader linkCommand: ' , (ObjectFileLoader linkCommand storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7737
      nextPutLine:'  ObjectFileLoader libPath: ' , (ObjectFileLoader libPath storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7738
      nextPutLine:'  ObjectFileLoader searchedLibraries: ' , (ObjectFileLoader searchedLibraries storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7739
      nextPutLine:'].';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7740
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7741
      nextPutLine:'ObjectMemory justInTimeCompilation: ' , (ObjectMemory justInTimeCompilation storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7742
      nextPutLine:'ObjectMemory fullSingleStepSupport: ' , (ObjectMemory fullSingleStepSupport storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7743
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7744
    HistoryManager notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7745
        HistoryManager isActive ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7746
            s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager activate].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7747
            s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager fullHistoryUpdate:' , HistoryManager fullHistoryUpdate storeString , '].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7748
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7749
            s nextPutLine:'HistoryManager notNil ifTrue:[HistoryManager deactivate].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7750
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7751
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7752
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7753
    ObjectFileLoader notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7754
        s nextPutLine:'ObjectFileLoader searchedLibraries: ' , (ObjectFileLoader searchedLibraries storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7755
        s nextPutLine:'ObjectFileLoader libPath: ' , (ObjectFileLoader libPath storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7756
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7757
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7758
    s nextPutLine:'Class catchMethodRedefinitions: ' , (Class catchMethodRedefinitions storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7759
    s nextPutLine:'ClassCategoryReader sourceMode: ' , (ClassCategoryReader sourceMode storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7760
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7761
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7762
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7763
    s nextPutLine:'"/ Info & Debug Messages:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7764
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7765
    s nextPutLine:'ObjectMemory infoPrinting: ' , (ObjectMemory infoPrinting storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7766
      nextPutLine:'ObjectMemory debugPrinting: ' , (ObjectMemory debugPrinting storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7767
      nextPutLine:'Object infoPrinting: ' , (Object infoPrinting storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7768
      nextPutLine:'DeviceWorkstation errorPrinting: ' , (DeviceWorkstation errorPrinting storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7769
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7770
    FlyByHelp isActive ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7771
        s nextPutLine:'FlyByHelp start.'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7772
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7773
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7774
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7775
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7776
    s nextPutLine:'"/ Edit settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7777
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7778
    "/ s nextPutLine:'EditTextView st80Mode: ' , (EditTextView st80Mode storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7779
    s nextPutLine:'TextView st80SelectMode: ' , (TextView st80SelectMode storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7780
    s nextPutLine:'UserPreferences current syntaxColoring: ' , (currentUserPrefs syntaxColoring storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7781
    (ListView userDefaultTabPositions = ListView tab4Positions) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7782
        s nextPutLine:'ListView userDefaultTabPositions:(ListView tab4Positions).'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7783
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7784
        s nextPutLine:'ListView userDefaultTabPositions:(ListView tab8Positions).'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7785
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7786
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7787
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7788
    s nextPutLine:'"/ User preference values:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7789
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7790
    currentUserPrefs keysAndValuesDo:[:k :v |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7791
        (UserPreferences includesSelector:(k , ':') asSymbol) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7792
            s nextPutLine:'UserPreferences current ' , k , ':' , v storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7793
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7794
            s nextPutLine:'UserPreferences current at:' , k storeString , ' put:' , v storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7795
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7796
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7797
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7798
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7799
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7800
    s nextPutLine:'"/ Misc settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7801
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7802
    s nextPutLine:'Class keepMethodHistory: ' , (Class methodHistory notNil storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7803
      nextPutLine:'Smalltalk logDoits: ' , (Smalltalk logDoits storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7804
      nextPutLine:'Autoload compileLazy: ' , (Autoload compileLazy storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7805
      nextPutLine:'Smalltalk loadBinaries: ' , (Smalltalk loadBinaries storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7806
      nextPutLine:'StandardSystemView includeHostNameInLabel: ' , (StandardSystemView includeHostNameInLabel storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7807
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7808
      "/ claus - I dont think its a good idea to save those ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7809
      nextPutLine:'"/ Class updateChanges: ' , (Class updatingChanges storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7810
      nextPutLine:'"/ ObjectMemory nameForChanges: ' , (ObjectMemory nameForChanges storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7811
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7812
      nextPutLine:'StandardSystemView returnFocusWhenClosingModalBoxes: ' , (StandardSystemView returnFocusWhenClosingModalBoxes storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7813
      nextPutLine:'StandardSystemView takeFocusWhenMapped: ' , (StandardSystemView takeFocusWhenMapped storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7814
      nextPutLine:'Display notNil ifTrue:[';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7815
      nextPutLine:' Display activateOnClick: ' , ((screen activateOnClick:nil) storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7816
      nextPutLine:'].';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7817
      nextPutLine:'MenuView showAcceleratorKeys: ' , (MenuView showAcceleratorKeys storeString) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7818
      nextPutLine:'Class tryLocalSourceFirst: ' , (Class tryLocalSourceFirst storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7819
    (Exception emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7820
        s nextPutLine:'Exception emergencyHandler:(AbstractLauncherApplication notifyingEmergencyHandler).'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7821
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7822
    Processor isTimeSlicing ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7823
        s nextPutLine:'Processor startTimeSlicing.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7824
        s nextPutLine:('Processor supportDynamicPriorities:' , (Processor supportDynamicPriorities ? false) storeString , '.').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7825
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7826
        s nextPutLine:'Processor stopTimeSlicing.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7827
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7828
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7829
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7830
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7831
    s nextPutLine:'"/ Printer settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7832
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7833
    s nextPutLine:'Printer := ' , (Printer name) , '.';
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7834
      nextPutLine:'Printer printCommand: ' , (Printer printCommand storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7835
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7836
    Printer supportsPageSizes ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7837
        s nextPutLine:'Printer pageFormat: ' , (Printer pageFormat storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7838
        s nextPutLine:'Printer landscape: ' , (Printer landscape storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7839
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7840
    Printer supportsMargins ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7841
        s nextPutLine:'Printer topMargin: ' , (Printer topMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7842
        s nextPutLine:'Printer leftMargin: ' , (Printer leftMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7843
        s nextPutLine:'Printer rightMargin: ' , (Printer rightMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7844
        s nextPutLine:'Printer bottomMargin: ' , (Printer bottomMargin storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7845
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7846
    Printer supportsPostscript ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7847
        s nextPutLine:'Printer supportsColor: ' , (Printer supportsColor storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7848
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7849
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7850
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7851
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7852
    s nextPutLine:'"/ Font settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7853
    s nextPutLine:'"/ (only restored, if image is restarted on the same display)'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7854
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7855
    s nextPutLine:'Display notNil ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7856
    s nextPutLine:' Display displayName = ' , (screen displayName storeString) , ' ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7857
    s nextPutLine:'  View defaultFont: ' , (View defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7858
    s nextPutLine:'  Label defaultFont: ' , (Label defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7859
    s nextPutLine:'  Button defaultFont: ' , (Button defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7860
    s nextPutLine:'  Toggle defaultFont: ' , (Toggle defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7861
    s nextPutLine:'  SelectionInListView defaultFont: ' , (SelectionInListView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7862
    s nextPutLine:'  MenuView defaultFont: ' , (MenuView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7863
    s nextPutLine:'  PullDownMenu defaultFont: ' , (PullDownMenu defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7864
    s nextPutLine:'  TextView defaultFont: ' , (TextView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7865
    s nextPutLine:'  EditTextView defaultFont: ' , (EditTextView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7866
    s nextPutLine:'  CodeView defaultFont: ' , (CodeView defaultFont storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7867
    s nextPutLine:' ].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7868
    s nextPutLine:'].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7869
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7870
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7871
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7872
    s nextPutLine:'"/ Language setting:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7873
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7874
    s nextPutLine:'Smalltalk language: ' , (Smalltalk language storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7875
    s nextPutLine:'Smalltalk languageTerritory: ' , (Smalltalk languageTerritory storeString) , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7876
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7877
    s cr.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7878
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7879
    s nextPutLine:'"/ SourceCodeManager settings:'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7880
    s nextPutLine:'"/ (only restored, if image is restarted on the same host)'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7881
    s nextPutLine:'"/'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7882
    s nextPutLine:'OperatingSystem getHostName = ' , (OperatingSystem getHostName storeString) , ' ifTrue:['.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7883
    s nextPutLine:'  Class tryLocalSourceFirst:' , Class tryLocalSourceFirst storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7884
    (Smalltalk at:#SourceCodeManager) == CVSSourceCodeManager ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7885
    s nextPutLine:'  Smalltalk at:#SourceCodeManager put: CVSSourceCodeManager.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7886
    s nextPutLine:'  AbstractSourceCodeManager cacheDirectoryName:' , AbstractSourceCodeManager cacheDirectoryName storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7887
    s nextPutLine:'  CVSSourceCodeManager cvsBinDirectory:' , CVSSourceCodeManager cvsBinDirectory storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7888
    s nextPutLine:'  CVSSourceCodeManager repositoryNamesPerModule:' , CVSSourceCodeManager repositoryNamesPerModule storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7889
    s nextPutLine:'  CVSSourceCodeManager initializeForRepository:' , CVSSourceCodeManager repositoryName storeString , '.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7890
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7891
    s nextPutLine:'].'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7892
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7893
    s close.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7894
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7895
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7896
     Transcript topView application saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7897
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7898
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7899
    "Modified: / 6.1.1999 / 14:24:16 / cg"
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7900
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7901
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7902
!AbstractLauncherApplication::StyleSettingsAppl class methodsFor:'defaults'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7903
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7904
standardStyles
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7905
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7906
    ^  #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7907
        'decWindows'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7908
        'iris' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7909
        'motif' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7910
        'mswindows95' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7911
        'next' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7912
        'normal'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7913
        'os2' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7914
        'st80' 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7915
       )
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7916
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7917
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7918
!AbstractLauncherApplication::StyleSettingsAppl class methodsFor:'interface specs'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  7919
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7920
windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7921
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7922
     by the UIPainter of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7923
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7924
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7925
     the UIPainter may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7926
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7927
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7928
     UIPainter new openOnClass:AbstractLauncherApplication::StyleSettingsAppl andSelector:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7929
     AbstractLauncherApplication::StyleSettingsAppl new openInterface:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7930
     AbstractLauncherApplication::StyleSettingsAppl open
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7931
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7932
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7933
    <resource: #canvas>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7934
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7935
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7936
     #(#FullSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7937
        #name: #windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7938
        #window: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7939
       #(#WindowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7940
          #label: 'Style Selection'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7941
          #name: 'Style Selection'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7942
          #min: #(#Point 10 10)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7943
          #max: #(#Point 1024 768)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7944
          #bounds: #(#Rectangle 12 22 487 553)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7945
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7946
        #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7947
       #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7948
          #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7949
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7950
              #label: 'Label'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7951
              #name: 'Label1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7952
              #layout: #(#LayoutFrame 0 0.0 -71 1 0 1.0 -34 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7953
              #style: #(#FontDescription #helvetica #bold #roman 12)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7954
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7955
              #labelChannel: #infoLabelHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7956
              #resizeForLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7957
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7958
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7959
           #(#HorizontalPanelViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7960
              #name: 'HorizontalPanel1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7961
              #layout: #(#LayoutFrame 0 0.0 -34 1 0 1.0 0 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7962
              #horizontalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7963
              #verticalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7964
              #horizontalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7965
              #verticalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7966
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7967
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7968
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7969
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7970
                    #label: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7971
                    #name: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7972
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7973
                    #model: #saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7974
                    #enableChannel: #modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7975
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7976
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7977
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7978
                    #label: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7979
                    #name: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7980
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7981
                    #model: #doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7982
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7983
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7984
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7985
                    #label: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7986
                    #name: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7987
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7988
                    #model: #help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7989
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7990
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7991
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7992
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7993
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7994
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7995
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7996
              #label: 'NoticeText'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7997
              #name: 'Text'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7998
              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 160 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  7999
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8000
              #labelChannel: #noticeLabelHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8001
              #resizeForLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8002
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8003
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8004
           #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8005
              #label: 'standard styles only'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8006
              #name: 'CheckBox1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8007
              #layout: #(#LayoutFrame 0 0.0 160 0 0 1.0 182 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8008
              #model: #showStandardStylesOnly
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8009
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8010
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8011
           #(#SequenceViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8012
              #name: 'StyleList'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8013
              #layout: #(#LayoutFrame 0 0.0 182 0 0 1.0 -74 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8014
              #model: #selectedStyle
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8015
              #hasHorizontalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8016
              #hasVerticalScrollBar: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8017
              #useIndex: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8018
              #sequenceList: #styleList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8019
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8020
           )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8021
         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8022
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8023
      )
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8024
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8025
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8026
!AbstractLauncherApplication::StyleSettingsAppl methodsFor:'actions'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8027
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8028
doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8029
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8030
    self isPartOfSettinsDialog ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8031
        self loadRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8032
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8033
    self closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8034
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8035
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8036
evaluateModified
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8037
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8038
    self modifiedChannel value:(self hasUnsavedChanges).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8039
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8040
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8041
help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8042
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8043
    self warn:'no help available here'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8044
"/    self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/keyboardSetting.html'].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8045
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8046
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8047
loadRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8048
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8049
    self modifiedChannel value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8050
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8051
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8052
saveRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8053
    | result |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8054
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8055
    (self hasUnsavedChanges) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8056
        result := self confirmWithCancel:(resources string:'Save changed Tool Settings ?'). 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8057
        result isNil ifTrue:[ ^ false].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8058
        result ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8059
            self saveSettings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8060
        ] 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8061
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8062
    ^ true
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8063
!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8064
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8065
saveSettings
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8066
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8067
    | newStyle master requestor|
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8068
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8069
    self halt.
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8070
    newStyle := self selectedStyle value.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8071
    master := self masterApplication.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8072
    master notNil ifTrue:[
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8073
        requestor := master requestor.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8074
    ].
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8075
    self halt.
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8076
    self hasUnsavedChanges ifTrue:[
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8077
        self withWaitCursorDo:[
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8078
            Transcript showCR:'change style to ' , newStyle , ' ...'.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8079
            View defaultStyle:newStyle asSymbol.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8080
        ].
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8081
        requestor notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8082
            self halt.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8083
            requestor reopenLauncher.
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8084
        ].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8085
        DebugView newDebugger.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8086
        self modifiedChannel value:false.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8087
    ].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8088
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8089
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8090
!AbstractLauncherApplication::StyleSettingsAppl methodsFor:'aspects'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8091
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8092
infoLabelHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8093
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8094
    infoLabelHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8095
        infoLabelHolder := '' asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8096
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8097
    ^ infoLabelHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8098
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8099
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8100
modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8101
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8102
    modifiedChannel isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8103
        modifiedChannel := false asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8104
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8105
    ^ modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8106
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8107
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8108
noticeLabelHolder
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8109
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8110
    noticeLabelHolder isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8111
        noticeLabelHolder := '' asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8112
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8113
    ^ noticeLabelHolder.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8114
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8115
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8116
selectedStyle
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8117
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8118
    selectedStyle isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8119
        selectedStyle := ValueHolder new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8120
        selectedStyle addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8121
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8122
    ^ selectedStyle.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8123
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8124
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8125
showStandardStylesOnly
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8126
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8127
    showStandardStylesOnly isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8128
        showStandardStylesOnly := true asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8129
        showStandardStylesOnly addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8130
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8131
    ^ showStandardStylesOnly.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8132
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8133
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8134
styleList
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8135
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8136
    styleList isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8137
        styleList := List new.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8138
        styleList addDependent:self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8139
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8140
    ^ styleList.
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8141
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8142
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8143
!AbstractLauncherApplication::StyleSettingsAppl methodsFor:'change & update'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8144
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8145
changeInfoLabel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8146
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8147
    |nm sheet comment|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8148
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8149
    comment := ''.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8150
    nm := self selectedStyle value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8151
    nm notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8152
        sheet := ViewStyle fromFile:(nm , '.style').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8153
        comment := (sheet at:#comment ifAbsent:'') withoutSeparators.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8154
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8155
    comment := comment withCRs asStringCollection.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8156
    comment size == 1 ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8157
        comment := comment first
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8158
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8159
    self infoLabelHolder value:comment
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8160
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8161
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8162
update:something with:aParameter from:changedObject
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8163
    "Invoked when an object that I depend upon sends a change notification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8164
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8165
    "stub code automatically generated - please change as required"
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8166
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8167
    changedObject == self showStandardStylesOnly ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8168
        self updateList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8169
        ^ self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8170
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8171
    changedObject == self selectedStyle ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8172
        self changeInfoLabel.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8173
        self evaluateModified.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8174
        ^ self.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8175
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8176
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8177
    super update:something with:aParameter from:changedObject
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8178
!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8179
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8180
updateList
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8181
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8182
    |listOfStyles lastSelection|
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8183
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8184
    lastSelection := self selectedStyle value.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8185
    listOfStyles := styleDirectoryContents select:[:aFileName | aFileName asFilename hasSuffix:'style'].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8186
    listOfStyles := listOfStyles collect:[:aFileName | aFileName asFilename withoutSuffix name].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8187
    Filename isCaseSensitive ifFalse:[
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8188
        listOfStyles := listOfStyles collect:[:aStyleName | aStyleName asLowercase].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8189
    ].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8190
    listOfStyles remove:'generic' ifAbsent:nil; remove:'mswindows3' ifAbsent:nil.
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8191
    showStandardStylesOnly value ifTrue:[
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8192
        listOfStyles := listOfStyles select:[:aStyleName | self class standardStyles includes:aStyleName].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8193
    ].
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8194
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8195
    listOfStyles sort.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8196
    self styleList contents:listOfStyles.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8197
    self selectedStyle value:lastSelection.
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8198
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8199
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8200
!AbstractLauncherApplication::StyleSettingsAppl methodsFor:'initialization & release'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8201
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8202
closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8203
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8204
     It will be invoked when your app/dialog-window is really closed.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8205
     See also #closeDownViews, which is invoked before and may suppress the close
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8206
     or ask the user for confirmation."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8207
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8208
    "/ change the code below as required ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8209
    "/ This should cleanup any leftover resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8210
    "/ (for example, temporary files)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8211
    "/ super closeRequest will initiate the closeDown
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8212
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8213
    "/ add your code here
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8214
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8215
    "/ do not remove the one below ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8216
    ^ super closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8217
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8218
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8219
closeRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8220
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8221
    self saveRequest ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8222
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8223
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8224
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8225
    ^ super closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8226
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8227
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8228
initialize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8229
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8230
    |someRsrcFile resourceDir|
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8231
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8232
    resources := self class owningClass classResources.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8233
    someRsrcFile := Smalltalk getSystemFileName:('resources' asFilename constructString:'normal.style').
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8234
    someRsrcFile isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8235
        someRsrcFile := Smalltalk getResourceFileName:'normal.style' forPackage:'stx:libview'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8236
        someRsrcFile isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8237
            someRsrcFile := Smalltalk getResourceFileName:'styles/normal.style' forPackage:'stx:libview'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8238
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8239
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8240
    someRsrcFile notNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8241
        resourceDir := someRsrcFile asFilename directoryName
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8242
    ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8243
        resourceDir := Smalltalk getSystemFileName:'resources'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8244
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8245
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8246
    resourceDir isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8247
        self warn:'no styles found (missing ''resources'' directory)'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8248
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8249
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8250
    styleDirectoryContents := resourceDir asFilename directoryContents.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8251
    self updateList.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8252
    (self class standardStyles includes:View defaultStyle) ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8253
        showStandardStylesOnly value:false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8254
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8255
    self selectedStyle value:(View defaultStyle).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8256
    self noticeLabelHolder value:(resources at:'STYLE_MSG' default:'Select a Style') withCRs.    
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8257
    super initialize
4240
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8258
! !
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8259
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8260
!AbstractLauncherApplication::StyleSettingsAppl methodsFor:'queries'!
f196089fe934 next stage for settings
penk
parents: 4231
diff changeset
  8261
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8262
hasUnsavedChanges
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8263
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8264
    ^  (self selectedStyle value ~= View defaultStyle)
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8265
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8266
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8267
!AbstractLauncherApplication::ToolsSettingsAppl class methodsFor:'interface specs'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8268
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8269
windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8270
    "This resource specification was automatically generated
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8271
     by the UIPainter of ST/X."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8272
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8273
    "Do not manually edit this!! If it is corrupted,
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8274
     the UIPainter may not be able to read the specification."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8275
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8276
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8277
     UIPainter new openOnClass:AbstractLauncherApplication::ToolsSettingsAppl andSelector:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8278
     AbstractLauncherApplication::ToolsSettingsAppl new openInterface:#windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8279
     AbstractLauncherApplication::ToolsSettingsAppl open
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8280
    "
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8281
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8282
    <resource: #canvas>
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8283
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8284
    ^ 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8285
     #(#FullSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8286
        #name: #windowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8287
        #window: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8288
       #(#WindowSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8289
          #label: 'AbstractLauncherApplication::LauncherDialogs::ToolsSettingsAppl'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8290
          #name: 'AbstractLauncherApplication::LauncherDialogs::ToolsSettingsAppl'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8291
          #min: #(#Point 10 10)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8292
          #max: #(#Point 1024 768)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8293
          #bounds: #(#Rectangle 16 42 491 313)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8294
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8295
        #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8296
       #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8297
          #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8298
           #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8299
              #label: 'Use the New Changes Browser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8300
              #name: 'ChangesBrowser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8301
              #layout: #(#LayoutFrame 5 0 5 0 250 0 30 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8302
              #model: #useNewChangesBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8303
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8304
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8305
           #(#DividerSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8306
              #name: 'Separator1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8307
              #layout: #(#LayoutFrame 0 0.0 35 0 0 1 38 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8308
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8309
           #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8310
              #label: 'Use the New System Browser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8311
              #name: 'NewSystemBrowser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8312
              #layout: #(#LayoutFrame 250 0 5 0 0 1 30 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8313
              #model: #useNewSystemBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8314
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8315
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8316
           #(#DividerSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8317
              #name: 'Separator2'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8318
              #layout: #(#LayoutFrame 0 0.0 70 0 0 1 73 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8319
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8320
           #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8321
              #label: 'Use the New VersionDiff Browser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8322
              #name: 'VersionDiffBrowser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8323
              #layout: #(#LayoutFrame 5 0 40 0 250 0 65 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8324
              #model: #useNewVersionDiffBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8325
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8326
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8327
           #(#DividerSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8328
              #name: 'Separator3'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8329
              #layout: #(#LayoutFrame 0 0.0 105 0 0 1 108 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8330
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8331
           #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8332
              #label: 'Use the New File Browser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8333
              #name: 'NewFileBrowser'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8334
              #layout: #(#LayoutFrame 250 0 40 0 0 1 65 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8335
              #model: #useNewFileBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8336
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8337
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8338
           #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8339
              #label: 'Use Hierarchical Inspector'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8340
              #name: 'HierarchicalInspector'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8341
              #layout: #(#LayoutFrame 5 0 75 0 250 0 100 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8342
              #model: #useNewInspector
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8343
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8344
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8345
           #(#CheckBoxSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8346
              #label: 'Show Clock in Launcher'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8347
              #name: 'Clock'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8348
              #layout: #(#LayoutFrame 250 0 75 0 0 1 100 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8349
              #model: #showClockInLauncher
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8350
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8351
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8352
           #(#LabelSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8353
              #label: '''Transcripts Buffer Size:'''
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8354
              #name: 'Label1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8355
              #layout: #(#LayoutFrame 9 0 133 0 154 0 155 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8356
              #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8357
              #adjust: #left
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8358
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8359
           #(#InputFieldSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8360
              #name: 'Transcripts Buffer Size'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8361
              #layout: #(#LayoutFrame 159 0 133 0 214 0 155 0)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8362
              #model: #transcriptBufferSize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8363
              #type: #number
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8364
              #immediateAccept: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8365
              #acceptOnReturn: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8366
              #acceptOnTab: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8367
              #acceptOnLostFocus: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8368
              #acceptOnPointerLeave: false
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8369
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8370
           #(#HorizontalPanelViewSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8371
              #name: 'HorizontalPanel1'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8372
              #layout: #(#LayoutFrame 0 0.0 -34 1 0 1.0 0 1)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8373
              #horizontalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8374
              #verticalLayout: #center
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8375
              #horizontalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8376
              #verticalSpace: 3
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8377
              #component: 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8378
             #(#SpecCollection
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8379
                #collection: #(
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8380
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8381
                    #label: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8382
                    #name: 'OK'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8383
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8384
                    #model: #saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8385
                    #enableChannel: #modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8386
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8387
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8388
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8389
                    #label: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8390
                    #name: 'Cancel'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8391
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8392
                    #model: #doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8393
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8394
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8395
                 #(#ActionButtonSpec
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8396
                    #label: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8397
                    #name: 'Help'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8398
                    #translateLabel: true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8399
                    #model: #help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8400
                    #extent: #(#Point 125 22)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8401
                  )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8402
                 )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8403
               
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8404
              )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8405
            )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8406
           )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8407
         
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8408
        )
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8409
      )
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8410
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8411
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8412
!AbstractLauncherApplication::ToolsSettingsAppl methodsFor:'actions'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8413
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8414
doCancel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8415
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8416
    self isPartOfSettinsDialog ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8417
        self loadRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8418
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8419
    self closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8420
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8421
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8422
evaluateModified
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8423
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8424
    self modifiedChannel value:(self hasUnsavedChanges).
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8425
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8426
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8427
help
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8428
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8429
    self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/toolSettings.html'].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8430
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8431
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8432
loadRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8433
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8434
    self showClockInLauncher value:currentUserPrefs showClockInLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8435
    self transcriptBufferSize value:Transcript current lineLimit.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8436
    self useNewChangesBrowser value:currentUserPrefs useNewChangesBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8437
    self useNewFileBrowser value:currentUserPrefs useNewFileBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8438
    self useNewInspector value:currentUserPrefs useNewInspector.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8439
    self useNewSystemBrowser value:currentUserPrefs useNewSystemBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8440
    self useNewVersionDiffBrowser value:currentUserPrefs useNewVersionDiffBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8441
    self modifiedChannel value:false.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8442
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8443
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8444
saveRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8445
    | result |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8446
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8447
    (self hasUnsavedChanges) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8448
        result := self confirmWithCancel:(resources string:'Save changed Tool Settings ?'). 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8449
        result isNil ifTrue:[ ^ false].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8450
        result ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8451
            self saveSettings.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8452
        ] 
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8453
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8454
    ^ true
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8455
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8456
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8457
saveSettings
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8458
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8459
    | showClock launcher |
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8460
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8461
    currentUserPrefs useNewInspector:self useNewInspector value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8462
    currentUserPrefs useNewChangesBrowser:self useNewChangesBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8463
    currentUserPrefs useNewSystemBrowser:self useNewSystemBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8464
    currentUserPrefs useNewVersionDiffBrowser:self useNewVersionDiffBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8465
    currentUserPrefs useNewFileBrowser:self useNewFileBrowser value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8466
    (Smalltalk at:#FileBrowserV2) isBehavior ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8467
        self useNewFileBrowser value ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8468
            FileBrowserV2 installInLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8469
        ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8470
            FileBrowserV2 isLoaded ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8471
                FileBrowserV2 removeFromLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8472
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8473
        ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8474
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8475
    showClock := self showClockInLauncher value.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8476
    currentUserPrefs showClockInLauncher ~= showClock ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8477
        currentUserPrefs showClockInLauncher:showClock.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8478
        launcher := Transcript application.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8479
        (launcher isKindOf:ToolApplicationModel) ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8480
            showClock ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8481
                launcher startClock
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8482
            ] ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8483
                launcher stopClock
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8484
            ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8485
        ]
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8486
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8487
    Inspector := currentUserPrefs inspectorClassSetting.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8488
    Transcript current lineLimit:self transcriptBufferSize value.
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8489
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8490
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8491
!AbstractLauncherApplication::ToolsSettingsAppl methodsFor:'aspects'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8492
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8493
modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8494
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8495
    modifiedChannel isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8496
        modifiedChannel := false asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8497
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8498
    ^ modifiedChannel
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8499
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8500
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8501
showClockInLauncher
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8502
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8503
    showClockInLauncher isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8504
        showClockInLauncher := currentUserPrefs showClockInLauncher asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8505
        showClockInLauncher onChangeSend:#evaluateModified to:self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8506
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8507
    ^ showClockInLauncher.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8508
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8509
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8510
transcriptBufferSize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8511
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8512
    transcriptBufferSize isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8513
        transcriptBufferSize := Transcript current lineLimit asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8514
        transcriptBufferSize onChangeSend:#evaluateModified to:self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8515
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8516
    ^ transcriptBufferSize.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8517
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8518
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8519
useNewChangesBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8520
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8521
    useNewChangesBrowser isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8522
        useNewChangesBrowser := currentUserPrefs useNewChangesBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8523
        useNewChangesBrowser onChangeSend:#evaluateModified to:self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8524
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8525
    ^ useNewChangesBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8526
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8527
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8528
useNewFileBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8529
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8530
    useNewFileBrowser isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8531
        useNewFileBrowser := currentUserPrefs useNewFileBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8532
        useNewFileBrowser onChangeSend:#evaluateModified to:self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8533
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8534
    ^ useNewFileBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8535
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8536
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8537
useNewInspector
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8538
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8539
    useNewInspector isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8540
        useNewInspector := currentUserPrefs useNewInspector asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8541
        useNewInspector onChangeSend:#evaluateModified to:self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8542
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8543
    ^ useNewInspector.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8544
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8545
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8546
useNewSystemBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8547
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8548
    useNewSystemBrowser isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8549
        useNewSystemBrowser := currentUserPrefs useNewSystemBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8550
        useNewSystemBrowser onChangeSend:#evaluateModified to:self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8551
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8552
    ^ useNewSystemBrowser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8553
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8554
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8555
useNewVersionDiffBrowser
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8556
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8557
    useNewVersionDiffBrowser isNil ifTrue:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8558
        useNewVersionDiffBrowser := currentUserPrefs useNewVersionDiffBrowser asValue.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8559
        useNewVersionDiffBrowser onChangeSend:#evaluateModified to:self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8560
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8561
    ^ useNewVersionDiffBrowser.
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8562
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8563
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8564
!AbstractLauncherApplication::ToolsSettingsAppl methodsFor:'initialization & release'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8565
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8566
closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8567
    "This is a hook method generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8568
     It will be invoked when your app/dialog-window is really closed.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8569
     See also #closeDownViews, which is invoked before and may suppress the close
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8570
     or ask the user for confirmation."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8571
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8572
    "/ change the code below as required ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8573
    "/ This should cleanup any leftover resources
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8574
    "/ (for example, temporary files)
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8575
    "/ super closeRequest will initiate the closeDown
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8576
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8577
    "/ add your code here
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8578
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8579
    "/ do not remove the one below ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8580
    ^ super closeDownViews
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8581
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8582
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8583
closeRequest
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8584
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8585
    self saveRequest ifFalse:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8586
        ^ self
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8587
    ].
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8588
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8589
    ^ super closeRequest.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8590
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8591
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8592
initialize
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8593
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8594
    currentUserPrefs := UserPreferences current.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8595
    super initialize
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8596
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8597
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8598
!AbstractLauncherApplication::ToolsSettingsAppl methodsFor:'menu actions'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8599
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8600
menuNew
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8601
    "This method was generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8602
     It will be invoked when the menu-item 'new' is selected."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8603
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8604
    "/ change below and add any actions as required here ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8605
    self warn:'no action for ''new'' available.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8606
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8607
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8608
menuOpen
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8609
    "This method was generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8610
     It will be invoked when the menu-item 'open' is selected."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8611
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8612
    "/ change below and add any actions as required here ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8613
    self warn:'no action for ''open'' available.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8614
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8615
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8616
menuSave
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8617
    "This method was generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8618
     It will be invoked when the menu-item 'save' is selected."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8619
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8620
    "/ change below and add any actions as required here ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8621
    self warn:'no action for ''save'' available.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8622
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8623
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8624
menuSaveAs
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8625
    "This method was generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8626
     It will be invoked when the menu-item 'saveAs' is selected."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8627
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8628
    "/ change below and add any actions as required here ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8629
    self warn:'no action for ''saveAs'' available.'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8630
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8631
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8632
openAboutThisApplication
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8633
    "This method was generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8634
     It will be invoked when the menu-item 'help-about' is selected."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8635
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8636
    "/ could open a customized aboutBox here ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8637
    super openAboutThisApplication
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8638
!
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8639
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8640
openDocumentation
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8641
    "This method was generated by the Browser.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8642
     It will be invoked when the menu-item 'help-documentation' is selected."
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8643
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8644
    "/ change below as required ...
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8645
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8646
    "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ):
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8647
    HTMLDocumentView openFullOnDocumentationFile:'TOP.html'.
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8648
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8649
    "/ add application-specific help files under the 'doc/online/<language>/help/appName'
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8650
    "/ directory, and open a viewer with:
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8651
    "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8652
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8653
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8654
!AbstractLauncherApplication::ToolsSettingsAppl methodsFor:'queries'!
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8655
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8656
hasUnsavedChanges
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8657
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8658
    ^ ((self useNewInspector value       ~= currentUserPrefs useNewInspector)       or:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8659
       (self useNewChangesBrowser value  ~= currentUserPrefs useNewChangesBrowser)  or:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8660
       (self useNewSystemBrowser value   ~= currentUserPrefs useNewSystemBrowser)   or:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8661
       (self showClockInLauncher value   ~= currentUserPrefs showClockInLauncher)   or:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8662
       (self useNewVersionDiffBrowser value ~= currentUserPrefs useNewVersionDiffBrowser) or:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8663
       (self useNewFileBrowser value     ~= currentUserPrefs useNewFileBrowser) or:[
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8664
       (self transcriptBufferSize value  ~= Transcript current lineLimit)]]]]]])
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8665
! !
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8666
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  8667
!AbstractLauncherApplication class methodsFor:'documentation'!
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  8668
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  8669
version
4244
64dcb0a42673 *** empty log message ***
penk
parents: 4243
diff changeset
  8670
    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.230 2002-11-12 11:25:24 penk Exp $'
2001
3d4249692d25 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  8671
! !
4224
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8672
6a5892a6c179 first new settings application startup instable in work by penk
penk
parents: 4199
diff changeset
  8673
AbstractLauncherApplication::SettingsDialog initialize!