author | Claus Gittinger <cg@exept.de> |
Wed, 07 May 2003 16:52:53 +0200 | |
changeset 4867 | 269d62a1ed27 |
parent 4851 | 359312a95673 |
child 4873 | 3ffb8a8812ec |
permissions | -rw-r--r-- |
4226 | 1 |
"{ Package: 'stx:libtool' }" |
2 |
||
3 |
ApplicationModel subclass:#AbstractSettingsApplication |
|
4846 | 4 |
instanceVariableNames:'settingsString currentUserPrefs modifiedChannel requestor' |
5 |
classVariableNames:'' |
|
6 |
poolDictionaries:'' |
|
7 |
category:'Interface-Smalltalk' |
|
4226 | 8 |
! |
9 |
||
4387 | 10 |
AbstractSettingsApplication subclass:#ByteCodeCompilerSettingsAppl |
4846 | 11 |
instanceVariableNames:'allowQualifiedNames warnDollar warnOldStyle fullDebugSupport |
12 |
warnCommonMistakes warnUnderscore keepSource constantFolding |
|
13 |
warnCompatibility constantFoldingOptions warnings warnSTX |
|
14 |
allowDollar allowReservedWordsAsSelectors immutableArrays |
|
15 |
allowOldStyleAssignment allowUnderscore allowDolphinExtensions |
|
16 |
warnUnusedVars allowSqueakExtensions justInTimeCompilation |
|
17 |
canLoadBinaries constantFoldingSelection enableUnderscore |
|
18 |
enableDollar' |
|
19 |
classVariableNames:'' |
|
20 |
poolDictionaries:'' |
|
21 |
privateIn:AbstractSettingsApplication |
|
4286 | 22 |
! |
23 |
||
4398 | 24 |
AbstractSettingsApplication subclass:#DebuggerSettingsAppl |
4846 | 25 |
instanceVariableNames:'showErrorNotifier showVerboseStack allowSendMailFromDebugger' |
26 |
classVariableNames:'' |
|
27 |
poolDictionaries:'' |
|
28 |
privateIn:AbstractSettingsApplication |
|
4398 | 29 |
! |
30 |
||
4286 | 31 |
AbstractSettingsApplication subclass:#DisplaySettingsAppl |
4846 | 32 |
instanceVariableNames:'isColorMonitor useFixGrayPaletteLabel useFixPalette sizeY |
33 |
clipEncodingListSelection sizeX monitorList ditherList |
|
34 |
clipEncodingList ditherListSelection deepIcons monitorSelection |
|
35 |
useFixPaletteLabel visualIsPseudoColor ditherSymsNotNil |
|
36 |
useFixGrayPalette sizeInfos screen ditherStyles ditherSyms |
|
37 |
screenDepthVisualLabelHolder' |
|
38 |
classVariableNames:'' |
|
39 |
poolDictionaries:'' |
|
40 |
privateIn:AbstractSettingsApplication |
|
4286 | 41 |
! |
42 |
||
43 |
AbstractSettingsApplication subclass:#EditSettingsAppl |
|
4846 | 44 |
instanceVariableNames:'st80EditingMode tabsIs4 st80DoubleClickSelectMode |
45 |
searchDialogIsModal startTextDragWithControl' |
|
46 |
classVariableNames:'' |
|
47 |
poolDictionaries:'' |
|
48 |
privateIn:AbstractSettingsApplication |
|
4286 | 49 |
! |
50 |
||
51 |
AbstractSettingsApplication subclass:#FontSettingsAppl |
|
4846 | 52 |
instanceVariableNames:'filter allOfThem labelDef buttonDef listDef menuDef textDef |
53 |
allFontLabelHolder buttonsFontLabelHolder textFontLabelHolder |
|
54 |
labelsFontLabelHolder listsFontLabelHolder menusFontLabelHolder |
|
55 |
allLabel buttonsLabel textLabel labelLabel listsLabel menuLabel' |
|
56 |
classVariableNames:'' |
|
57 |
poolDictionaries:'' |
|
58 |
privateIn:AbstractSettingsApplication |
|
4286 | 59 |
! |
60 |
||
4387 | 61 |
AbstractSettingsApplication subclass:#GeneralCompilerSettingsAppl |
4846 | 62 |
instanceVariableNames:'st80EditingMode tabsIs4 st80DoubleClickSelectMode |
63 |
searchDialogIsModal startTextDragWithControl catchClassRedefs |
|
64 |
fullHistoryUpdate historyLines keepSourceSelection keepSource |
|
65 |
hasHistoryManager canLoadBinaries loadBinaries catchMethodRedefs' |
|
66 |
classVariableNames:'' |
|
67 |
poolDictionaries:'' |
|
68 |
privateIn:AbstractSettingsApplication |
|
4387 | 69 |
! |
70 |
||
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
71 |
AbstractSettingsApplication subclass:#HTTPStartServerSettingsApplication |
4846 | 72 |
instanceVariableNames:'portNumberChannel informationLabel hasNoCreatedServerChannel |
73 |
hasCreatedServerChannel' |
|
74 |
classVariableNames:'' |
|
75 |
poolDictionaries:'' |
|
76 |
privateIn:AbstractSettingsApplication |
|
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
77 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
78 |
|
4286 | 79 |
AbstractSettingsApplication subclass:#KbdMappingSettingsAppl |
4846 | 80 |
instanceVariableNames:'selectedRawKey macroTextHolder selectedFunctionKey |
81 |
labelTextHolder functionKeyList rawKeyList mappings' |
|
82 |
classVariableNames:'' |
|
83 |
poolDictionaries:'' |
|
84 |
privateIn:AbstractSettingsApplication |
|
4286 | 85 |
! |
86 |
||
87 |
AbstractSettingsApplication subclass:#LanguageSettingsAppl |
|
4846 | 88 |
instanceVariableNames:'languageHolder languageList listOfLanguages translatedLanguages |
89 |
noticeLabelHolder currentLanguageChannel currentLanguageLabel' |
|
90 |
classVariableNames:'' |
|
91 |
poolDictionaries:'' |
|
92 |
privateIn:AbstractSettingsApplication |
|
4286 | 93 |
! |
94 |
||
95 |
AbstractSettingsApplication subclass:#MemorySettingsAppl |
|
4846 | 96 |
instanceVariableNames:'newSpaceSize maxOldSpace fastMoreLimit warningLabelHolder |
97 |
codeTrigger codeLimit oldIncr compressLimit igcFreeLimit igcLimit |
|
98 |
igcFreeAmount stackLimit supportsJustInTimeCompilation' |
|
99 |
classVariableNames:'' |
|
100 |
poolDictionaries:'' |
|
101 |
privateIn:AbstractSettingsApplication |
|
4286 | 102 |
! |
103 |
||
4310 | 104 |
AbstractSettingsApplication subclass:#MiscCommunicationSettingsAppl |
4846 | 105 |
instanceVariableNames:'remoteBrowsingEnabled windowMigrationEnabled |
106 |
windowMigrationPassword windowMigrationAuthenticate |
|
107 |
enablePasswordCheck' |
|
108 |
classVariableNames:'' |
|
109 |
poolDictionaries:'' |
|
110 |
privateIn:AbstractSettingsApplication |
|
4310 | 111 |
! |
112 |
||
4398 | 113 |
AbstractSettingsApplication subclass:#MiscDisplaySettingsAppl |
4846 | 114 |
instanceVariableNames:'returnFocus focusFollowsMouse beepEnabled takeFocus |
115 |
activateOnClick shadows opaqueVariablePanelResize |
|
116 |
formatHostNameinWindowLabels opaqueTableColumnResize |
|
117 |
hostNameInLabelHolder showAccelerators newWindowLabelFormat |
|
118 |
formatHostNameWindowLabel' |
|
119 |
classVariableNames:'' |
|
120 |
poolDictionaries:'' |
|
121 |
privateIn:AbstractSettingsApplication |
|
4286 | 122 |
! |
123 |
||
4310 | 124 |
AbstractSettingsApplication subclass:#OsiSettingsAppl |
4846 | 125 |
instanceVariableNames:'osiACSEConnectionLogging osiROSEErrorLogging osiCMISEErrorLogging |
126 |
osiACSEErrorLogging osiROSEPresent osiCMISEPresent |
|
127 |
osiCMISEMessageLogging osiACSEDataLogging |
|
128 |
osiROSEInvokationLogging osiACSEPresent osiROSEResponseLogging' |
|
129 |
classVariableNames:'' |
|
130 |
poolDictionaries:'' |
|
131 |
privateIn:AbstractSettingsApplication |
|
4310 | 132 |
! |
133 |
||
4286 | 134 |
AbstractSettingsApplication subclass:#PrinterSettingsAppl |
4846 | 135 |
instanceVariableNames:'selectedUnit supportsColor topMargin rightMargin bottomMargin |
136 |
landscape pageFormatList pageFormat unitList leftMargin |
|
137 |
possiblePrinters printerType printerTypeSelection |
|
138 |
printCommandList commandList printCommand enableFormat |
|
139 |
enablelandscape enableMargins enableColorBox' |
|
140 |
classVariableNames:'' |
|
141 |
poolDictionaries:'' |
|
142 |
privateIn:AbstractSettingsApplication |
|
4286 | 143 |
! |
144 |
||
4398 | 145 |
AbstractSettingsApplication subclass:#ProcessorSchedulerSettingsAppl |
4846 | 146 |
instanceVariableNames:'dynamicPrios preemptive' |
147 |
classVariableNames:'' |
|
148 |
poolDictionaries:'' |
|
149 |
privateIn:AbstractSettingsApplication |
|
4398 | 150 |
! |
151 |
||
4310 | 152 |
AbstractSettingsApplication subclass:#RDoItServerSettingsAppl |
4846 | 153 |
instanceVariableNames:'rDoitLogging rDoitsEnabled rDoitErrorLogging hasRDoitServer |
154 |
rDoitErrorDebugging rDoitServerPort' |
|
155 |
classVariableNames:'' |
|
156 |
poolDictionaries:'' |
|
157 |
privateIn:AbstractSettingsApplication |
|
4310 | 158 |
! |
159 |
||
4387 | 160 |
AbstractSettingsApplication subclass:#STCCompilerSettingsAppl |
4846 | 161 |
instanceVariableNames:'cc ccOptions stcIncludes linkCommand stc linkArgs canLoadBinaries |
162 |
stcDefines stcLibraries stcOptions stcLibraryPath |
|
163 |
stcCompilationSelection stcCompilationList' |
|
164 |
classVariableNames:'' |
|
165 |
poolDictionaries:'' |
|
166 |
privateIn:AbstractSettingsApplication |
|
4387 | 167 |
! |
168 |
||
4398 | 169 |
AbstractSettingsApplication subclass:#SourceCodeFormatSettingsAppl |
4846 | 170 |
instanceVariableNames:'spaceAfterKeywordSelector emptyLineAfterTemporaries tabIndent |
171 |
autoFormat cStyleBlocks editorText maxLengthForSingleLineBlocks |
|
172 |
blockArgumentsOnNewLine spaceAfterReturnToken |
|
173 |
spaceAroundTemporaries oldUserPreferences reformatLocked' |
|
174 |
classVariableNames:'' |
|
175 |
poolDictionaries:'' |
|
176 |
privateIn:AbstractSettingsApplication |
|
4398 | 177 |
! |
178 |
||
179 |
AbstractSettingsApplication subclass:#SourceCodeManagementSettingsAppl |
|
4846 | 180 |
instanceVariableNames:'sourceCacheDir useManager condenseSourceCache |
181 |
syntaxColorConfiguration setupSourceCodeManager |
|
182 |
checkClassesWhenCheckingIn formattingConfiguration |
|
183 |
flushSourceCache localSourceFirst cvsIsSetup repositoryHolder |
|
184 |
manager repository listOfModules cvsRootPrototypeList |
|
185 |
addPerModuleRoot removeEnabled perModuleRootModule acceptChannel |
|
186 |
removePerModuleRoot perModuleRoot cvsRootHolder |
|
187 |
selectedPerModuleRoot cvsBinDirectoryHolder rootsPerModule' |
|
188 |
classVariableNames:'' |
|
189 |
poolDictionaries:'' |
|
190 |
privateIn:AbstractSettingsApplication |
|
4286 | 191 |
! |
192 |
||
193 |
AbstractSettingsApplication subclass:#StyleSettingsAppl |
|
4846 | 194 |
instanceVariableNames:'showStandardStylesOnly styleList selectedStyle |
195 |
styleDirectoryContents infoLabelHolder noticeLabelHolder' |
|
196 |
classVariableNames:'' |
|
197 |
poolDictionaries:'' |
|
198 |
privateIn:AbstractSettingsApplication |
|
4286 | 199 |
! |
200 |
||
4398 | 201 |
AbstractSettingsApplication subclass:#SyntaxColorSettingsAppl |
4846 | 202 |
instanceVariableNames:'coloredText syntaxColor syntaxColors resetList resetListSelection |
203 |
fullSelectorCheck syntaxColoring oldUserPreferences |
|
204 |
syntaxFontSelector syntaxFonts syntaxElementList |
|
205 |
syntaxElementSelection syntaxEmphasisList syntaxEmphasisSelection |
|
206 |
emphasisDictionary resetListDictionary' |
|
207 |
classVariableNames:'' |
|
208 |
poolDictionaries:'' |
|
209 |
privateIn:AbstractSettingsApplication |
|
4398 | 210 |
! |
211 |
||
4286 | 212 |
AbstractSettingsApplication subclass:#SystemMessageSettingsAppl |
4846 | 213 |
instanceVariableNames:'classInfos vmInfo vmErrors displayErrors logDoits updChanges |
214 |
changeFileName' |
|
215 |
classVariableNames:'' |
|
216 |
poolDictionaries:'' |
|
217 |
privateIn:AbstractSettingsApplication |
|
4286 | 218 |
! |
219 |
||
220 |
AbstractSettingsApplication subclass:#ToolsSettingsAppl |
|
4846 | 221 |
instanceVariableNames:'useNewVersionDiffBrowser transcriptBufferSize useNewInspector |
222 |
showClockInLauncher useNewChangesBrowser useNewFileBrowser |
|
223 |
useNewSystemBrowser useNewFileDialog useNewSettingsApplication |
|
224 |
useProcessMonitorV2' |
|
225 |
classVariableNames:'' |
|
226 |
poolDictionaries:'' |
|
227 |
privateIn:AbstractSettingsApplication |
|
4286 | 228 |
! |
229 |
||
4405 | 230 |
!AbstractSettingsApplication class methodsFor:'documentation'! |
231 |
||
232 |
windowSpec |
|
233 |
||
234 |
self subclassResponsibility |
|
235 |
! ! |
|
4226 | 236 |
|
4292 | 237 |
!AbstractSettingsApplication class methodsFor:'defaults'! |
238 |
||
239 |
classResources |
|
240 |
||
241 |
^ AbstractLauncherApplication classResources |
|
242 |
! ! |
|
243 |
||
4705 | 244 |
!AbstractSettingsApplication methodsFor:'accessing'! |
245 |
||
246 |
requestor |
|
247 |
"return the value of the instance variable 'requestor' (automatically generated)" |
|
248 |
||
249 |
^ requestor |
|
250 |
! |
|
251 |
||
252 |
requestor:something |
|
253 |
"set the value of the instance variable 'requestor' (automatically generated)" |
|
254 |
||
255 |
requestor := something. |
|
256 |
! ! |
|
257 |
||
4405 | 258 |
!AbstractSettingsApplication methodsFor:'actions'! |
259 |
||
4598 | 260 |
evaluateModified |
4805 | 261 |
self hasUnsavedChanges ifTrue:[ |
262 |
self modifiedChannel value:true |
|
263 |
]. |
|
4598 | 264 |
! |
265 |
||
4405 | 266 |
saveRequest |
4574 | 267 |
|result| |
4405 | 268 |
|
269 |
(self hasUnsavedChanges) ifTrue:[ |
|
4825 | 270 |
self askForChangeOnRealease ifTrue:[ |
271 |
result := self confirmWithCancel:(resources |
|
272 |
string:'Save changed ' , settingsString , ' ?'). |
|
273 |
] ifFalse:[ |
|
274 |
result := true. |
|
275 |
]. |
|
4574 | 276 |
result isNil ifTrue:[ |
277 |
^ false |
|
278 |
]. |
|
4405 | 279 |
result ifTrue:[ |
4574 | 280 |
self saveSettings |
4405 | 281 |
] ifFalse:[ |
4574 | 282 |
self readSettings |
4405 | 283 |
] |
284 |
]. |
|
285 |
^ true |
|
4574 | 286 |
! |
287 |
||
288 |
saveSettingsIfUnsavedChangesArePresent |
|
289 |
self hasUnsavedChanges ifTrue:[ |
|
290 |
self saveSettings. |
|
291 |
self modifiedChannel value:false |
|
292 |
]. |
|
293 |
! ! |
|
294 |
||
295 |
!AbstractSettingsApplication methodsFor:'aspects'! |
|
296 |
||
297 |
modifiedChannel |
|
298 |
||
299 |
modifiedChannel isNil ifTrue:[ |
|
300 |
modifiedChannel := false asValue. |
|
301 |
]. |
|
302 |
^ modifiedChannel |
|
303 |
! ! |
|
304 |
||
305 |
!AbstractSettingsApplication methodsFor:'initialization'! |
|
306 |
||
307 |
initialize |
|
308 |
super initialize. |
|
309 |
resources := self class classResources. |
|
310 |
currentUserPrefs := UserPreferences current. |
|
311 |
settingsString := (UISpecification from:(self class windowSpec)) window label. |
|
312 |
self readSettings. |
|
4405 | 313 |
! ! |
314 |
||
4324 | 315 |
!AbstractSettingsApplication methodsFor:'protocol'! |
316 |
||
4825 | 317 |
askForChangeOnRealease |
4847 | 318 |
^ false |
4825 | 319 |
! |
320 |
||
4574 | 321 |
basicSaveSettings |
322 |
||
323 |
self subclassResponsibility. |
|
324 |
! |
|
325 |
||
4405 | 326 |
hasUnsavedChanges |
327 |
||
328 |
^ self subclassResponsibility |
|
329 |
! |
|
330 |
||
4324 | 331 |
help |
332 |
||
333 |
self subclassResponsibility. |
|
334 |
"/ self warn:'no help available here'. |
|
335 |
"/ self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/keyboardSetting.html']. |
|
336 |
! |
|
4226 | 337 |
|
4574 | 338 |
readSettings |
339 |
self subclassResponsibility |
|
4240 | 340 |
! |
341 |
||
4405 | 342 |
saveSettings |
4226 | 343 |
|
4574 | 344 |
self basicSaveSettings. |
4657
a59ba78d52d2
reset UserPrefernces instance on saveSettings because Userpreferences current may change
penk
parents:
4656
diff
changeset
|
345 |
currentUserPrefs := UserPreferences current. |
4574 | 346 |
self modifiedChannel value:false. |
4226 | 347 |
! ! |
348 |
||
4387 | 349 |
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'defaults'! |
4286 | 350 |
|
351 |
constantFoldingOptions |
|
352 |
||
353 |
^ #( nil #level1 #level2 #full ) |
|
354 |
! |
|
355 |
||
356 |
constantFoldingStrings |
|
357 |
||
358 |
^ #('disabled' 'level1 (always safe)' 'level2 (usually safe)' 'full') |
|
4387 | 359 |
! ! |
360 |
||
361 |
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'image specs'! |
|
4312 | 362 |
|
363 |
defaultIcon |
|
364 |
"This resource specification was automatically generated |
|
365 |
by the ImageEditor of ST/X." |
|
366 |
||
367 |
"Do not manually edit this!! If it is corrupted, |
|
368 |
the ImageEditor may not be able to read the specification." |
|
369 |
||
370 |
" |
|
371 |
self defaultIcon inspect |
|
372 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
373 |
Icon flushCachedIcons |
|
374 |
" |
|
375 |
||
376 |
<resource: #image> |
|
377 |
||
378 |
^Icon |
|
379 |
constantNamed:#'AbstractSettingsApplication::CompilerSettingsAppl class defaultIcon' |
|
380 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
381 |
@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@H@ |
|
382 |
@@DA@PD@@PDA@@DA@PD@@PDA@@@B@@@A@PDA@@DA@P@A@PDA@@DA@P@@@ @@@P@@@P@A@@D@@P@@@P@A@@D@@@H@@@DA@PD@@PDA@@DA@PD@@PDA@@@B@@@@ |
|
383 |
@@@@@@@@@@@@@@@@@@@@@@@@@ @@@PDA@PDA@PDA@PDA@PD@@PD@@@H@@@D@@@@@@PDA@@@@@PDA@@DA@@@B@@@A@PDA@PDA@@DA@P@A@P@A@P@@@ @@@P@@ |
|
384 |
@@@A@P@A@PDA@PD@@PD@@@H@@@DA@PDA@PD@@PDA@PDA@@DA@@@B@@@A@@@@@@DA@@DA@PDA@P@A@P@@@ @@@PDA@PDA@P@A@PD@@PD@@PD@@@H@@@D@@@@@ |
|
385 |
@PDA@@@@@PDA@@DA@@@B@@@A@PDA@PDA@PDA@PDA@P@A@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
386 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8@@@@@@@@@@@@') ; yourself); yourself] |
|
387 |
! ! |
|
388 |
||
4387 | 389 |
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'interface specs'! |
4286 | 390 |
|
391 |
windowSpec |
|
392 |
"This resource specification was automatically generated |
|
393 |
by the UIPainter of ST/X." |
|
394 |
||
395 |
"Do not manually edit this!! If it is corrupted, |
|
396 |
the UIPainter may not be able to read the specification." |
|
397 |
||
398 |
" |
|
4387 | 399 |
UIPainter new openOnClass:AbstractSettingsApplication::ByteCodeCompilerSettingsAppl andSelector:#windowSpec |
400 |
AbstractSettingsApplication::ByteCodeCompilerSettingsAppl new openInterface:#windowSpec |
|
401 |
AbstractSettingsApplication::ByteCodeCompilerSettingsAppl open |
|
4286 | 402 |
" |
403 |
||
404 |
<resource: #canvas> |
|
405 |
||
406 |
^ |
|
407 |
#(#FullSpec |
|
408 |
#name: #windowSpec |
|
409 |
#window: |
|
410 |
#(#WindowSpec |
|
4405 | 411 |
#label: 'Byte Code Compiler Settings' |
412 |
#name: 'Byte Code Compiler Settings' |
|
4286 | 413 |
#min: #(#Point 10 10) |
414 |
#max: #(#Point 1024 768) |
|
4428
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
415 |
#bounds: #(#Rectangle 16 46 616 560) |
4286 | 416 |
) |
417 |
#component: |
|
418 |
#(#SpecCollection |
|
419 |
#collection: #( |
|
4387 | 420 |
#(#VerticalPanelViewSpec |
421 |
#name: 'VerticalPanel1' |
|
422 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
423 |
#horizontalLayout: #fit |
|
424 |
#verticalLayout: #center |
|
425 |
#horizontalSpace: 3 |
|
426 |
#verticalSpace: 3 |
|
427 |
#component: |
|
428 |
#(#SpecCollection |
|
429 |
#collection: #( |
|
430 |
#(#CheckBoxSpec |
|
431 |
#label: 'Just in Time Compilation to Machine Code' |
|
432 |
#name: 'JustInTimeCompilation' |
|
433 |
#model: #justInTimeCompilation |
|
434 |
#translateLabel: true |
|
435 |
#extent: #(#Point 600 25) |
|
436 |
) |
|
437 |
#(#DividerSpec |
|
438 |
#name: 'Separator3' |
|
439 |
#extent: #(#Point 600 3) |
|
440 |
) |
|
441 |
#(#CheckBoxSpec |
|
442 |
#label: 'Allow Underscore in Identifiers' |
|
443 |
#name: 'AllowUnderscoreInIdentifiers' |
|
444 |
#model: #allowUnderscore |
|
445 |
#translateLabel: true |
|
446 |
#extent: #(#Point 600 22) |
|
447 |
) |
|
448 |
#(#CheckBoxSpec |
|
449 |
#label: 'Allow Dollar in Identifiers' |
|
450 |
#name: 'AllowDollarInIdentifiers' |
|
451 |
#model: #allowDollar |
|
452 |
#translateLabel: true |
|
453 |
#extent: #(#Point 600 22) |
|
454 |
) |
|
455 |
#(#CheckBoxSpec |
|
456 |
#label: 'Allow VW3 QualifiedNames' |
|
457 |
#name: 'AllowVW3QualifiedNames' |
|
458 |
#model: #allowQualifiedNames |
|
459 |
#translateLabel: true |
|
460 |
#extent: #(#Point 600 22) |
|
461 |
) |
|
462 |
#(#CheckBoxSpec |
|
463 |
#label: 'Allow Squeak Extensions' |
|
464 |
#name: 'AllowSqueakExtensions' |
|
465 |
#model: #allowSqueakExtensions |
|
466 |
#translateLabel: true |
|
467 |
#extent: #(#Point 600 22) |
|
468 |
) |
|
469 |
#(#CheckBoxSpec |
|
470 |
#label: 'Allow Dolphin Extensions' |
|
471 |
#name: 'AllowDolphinExtensions' |
|
472 |
#model: #allowDolphinExtensions |
|
473 |
#translateLabel: true |
|
474 |
#extent: #(#Point 600 22) |
|
475 |
) |
|
476 |
#(#CheckBoxSpec |
|
477 |
#label: 'Allow OldStyle Assignment (_)' |
|
478 |
#name: 'AllowOldStyleAssignment' |
|
479 |
#model: #allowOldStyleAssignment |
|
480 |
#translateLabel: true |
|
481 |
#extent: #(#Point 600 22) |
|
482 |
) |
|
483 |
#(#CheckBoxSpec |
|
484 |
#label: 'Allow Reserved Words as Selector (self)' |
|
485 |
#name: 'AllowReservedWordsAsSelector' |
|
486 |
#model: #allowReservedWordsAsSelectors |
|
487 |
#translateLabel: true |
|
488 |
#extent: #(#Point 600 22) |
|
489 |
) |
|
490 |
#(#DividerSpec |
|
491 |
#name: 'Separator4' |
|
492 |
#extent: #(#Point 600 3) |
|
493 |
) |
|
494 |
#(#CheckBoxSpec |
|
495 |
#label: 'Warnings' |
|
496 |
#name: 'Warnings' |
|
497 |
#model: #warnings |
|
498 |
#translateLabel: true |
|
499 |
#extent: #(#Point 600 22) |
|
500 |
) |
|
501 |
#(#ViewSpec |
|
502 |
#name: 'Box2' |
|
503 |
#component: |
|
504 |
#(#SpecCollection |
|
505 |
#collection: #( |
|
506 |
#(#VerticalPanelViewSpec |
|
507 |
#name: 'VerticalPanel2' |
|
508 |
#layout: #(#LayoutFrame 20 0 0 0 600 0 150 0) |
|
509 |
#horizontalLayout: #left |
|
510 |
#verticalLayout: #center |
|
511 |
#horizontalSpace: 3 |
|
512 |
#verticalSpace: 3 |
|
513 |
#component: |
|
514 |
#(#SpecCollection |
|
515 |
#collection: #( |
|
516 |
#(#CheckBoxSpec |
|
517 |
#label: 'ST/X Extensions' |
|
518 |
#name: 'STXExtensions' |
|
519 |
#enableChannel: #warnings |
|
520 |
#model: #warnSTX |
|
521 |
#translateLabel: true |
|
522 |
#extent: #(#Point 600 22) |
|
523 |
) |
|
524 |
#(#CheckBoxSpec |
|
525 |
#label: 'Underscores in Identifiers' |
|
526 |
#name: 'UnderscoresInIdentifiers' |
|
527 |
#enableChannel: #enableUnderscore |
|
528 |
#model: #warnUnderscore |
|
529 |
#translateLabel: true |
|
530 |
#extent: #(#Point 600 22) |
|
531 |
) |
|
532 |
#(#CheckBoxSpec |
|
533 |
#label: 'Dollars in Identifiers' |
|
534 |
#name: 'DollarsInIdentifiers' |
|
535 |
#enableChannel: #enableDollar |
|
536 |
#model: #warnDollar |
|
537 |
#translateLabel: true |
|
538 |
#extent: #(#Point 600 22) |
|
539 |
) |
|
540 |
#(#CheckBoxSpec |
|
541 |
#label: 'Unused Method Variables' |
|
542 |
#name: 'UnusedMethodVariables' |
|
543 |
#enableChannel: #warnings |
|
544 |
#model: #warnUnusedVars |
|
545 |
#translateLabel: true |
|
546 |
#extent: #(#Point 600 22) |
|
547 |
) |
|
548 |
#(#CheckBoxSpec |
|
549 |
#label: 'OldStyle Assignment' |
|
550 |
#name: 'OldStyleAssignment' |
|
551 |
#enableChannel: #warnings |
|
552 |
#model: #warnOldStyle |
|
553 |
#translateLabel: true |
|
554 |
#extent: #(#Point 600 22) |
|
555 |
) |
|
556 |
#(#CheckBoxSpec |
|
557 |
#label: 'Common Mistakes' |
|
558 |
#name: 'CommonMistakes' |
|
559 |
#enableChannel: #warnings |
|
560 |
#model: #warnCommonMistakes |
|
561 |
#translateLabel: true |
|
562 |
#extent: #(#Point 600 22) |
|
563 |
) |
|
564 |
#(#CheckBoxSpec |
|
565 |
#label: 'Possible Incompatibilities' |
|
566 |
#name: 'PossibleIncompatibilities' |
|
567 |
#enableChannel: #warnings |
|
568 |
#model: #warnCompatibility |
|
569 |
#translateLabel: true |
|
570 |
#extent: #(#Point 600 22) |
|
571 |
) |
|
572 |
) |
|
573 |
||
574 |
) |
|
575 |
) |
|
576 |
) |
|
577 |
||
578 |
) |
|
579 |
#extent: #(#Point 600 160) |
|
580 |
) |
|
4428
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
581 |
#(#DividerSpec |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
582 |
#name: 'Separator5' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
583 |
#extent: #(#Point 600 2) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
584 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
585 |
#(#CheckBoxSpec |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
586 |
#label: 'Literal Arrays are Immutable' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
587 |
#name: 'LiteralArraysAreImmutable' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
588 |
#model: #immutableArrays |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
589 |
#translateLabel: true |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
590 |
#extent: #(#Point 600 22) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
591 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
592 |
#(#CheckBoxSpec |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
593 |
#label: 'Full Debug Info' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
594 |
#name: 'FullDebugInfo' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
595 |
#model: #fullDebugSupport |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
596 |
#translateLabel: true |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
597 |
#extent: #(#Point 600 22) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
598 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
599 |
#(#DividerSpec |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
600 |
#name: 'Separator6' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
601 |
#extent: #(#Point 600 2) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
602 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
603 |
#(#ViewSpec |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
604 |
#name: 'Box1' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
605 |
#component: |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
606 |
#(#SpecCollection |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
607 |
#collection: #( |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
608 |
#(#LabelSpec |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
609 |
#label: 'Constant Folding:' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
610 |
#name: 'ConstantFoldingLabel' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
611 |
#layout: #(#LayoutFrame 0 0 0 0 150 0 22 0) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
612 |
#translateLabel: true |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
613 |
#adjust: #right |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
614 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
615 |
#(#PopUpListSpec |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
616 |
#label: 'PopUp List' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
617 |
#name: 'ConstantFolding' |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
618 |
#layout: #(#LayoutFrame 170 0 0 0 -5 1 22 0) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
619 |
#tabable: true |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
620 |
#model: #constantFoldingSelection |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
621 |
#menu: #constantFolding |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
622 |
#useIndex: true |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
623 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
624 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
625 |
|
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
626 |
) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
627 |
#extent: #(#Point 600 22) |
00e398e9c9e5
ByteCode compiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4427
diff
changeset
|
628 |
) |
4387 | 629 |
) |
630 |
||
631 |
) |
|
4286 | 632 |
) |
633 |
) |
|
634 |
||
635 |
) |
|
636 |
) |
|
637 |
! ! |
|
638 |
||
4387 | 639 |
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'actions'! |
4286 | 640 |
|
4574 | 641 |
basicSaveSettings |
4286 | 642 |
|
643 |
Compiler warnings:self warnings value. |
|
644 |
Compiler warnSTXSpecials:self warnSTX value. |
|
645 |
Compiler warnOldStyleAssignment:self warnOldStyle value. |
|
646 |
Compiler warnUnderscoreInIdentifier:self warnUnderscore value. |
|
647 |
Compiler warnDollarInIdentifier:self warnDollar value. |
|
648 |
Compiler warnCommonMistakes:self warnCommonMistakes value. |
|
649 |
Compiler warnPossibleIncompatibilities:self warnCompatibility value. |
|
650 |
Compiler warnUnusedVars:self warnUnusedVars value. |
|
651 |
Compiler allowUnderscoreInIdentifier:self allowUnderscore value. |
|
652 |
Compiler allowDollarInIdentifier:self allowDollar value. |
|
653 |
Compiler allowSqueakExtensions:self allowSqueakExtensions value. |
|
654 |
Compiler allowDolphinExtensions:self allowDolphinExtensions value. |
|
655 |
Compiler allowQualifiedNames:self allowQualifiedNames value. |
|
656 |
Compiler allowOldStyleAssignment:self allowOldStyleAssignment value. |
|
657 |
Compiler allowReservedWordsAsSelectors:self allowReservedWordsAsSelectors value. |
|
658 |
||
659 |
Compiler arraysAreImmutable:self immutableArrays value. |
|
660 |
self fullDebugSupport value ifTrue:[ |
|
661 |
Compiler lineNumberInfo:#full. |
|
662 |
] ifFalse:[ |
|
663 |
Compiler lineNumberInfo:true |
|
664 |
]. |
|
665 |
||
666 |
Compiler foldConstants:(self class constantFoldingOptions at:self constantFoldingSelection value). |
|
667 |
||
668 |
self supportsJustInTimeCompilation ifTrue:[ |
|
669 |
| justInTime | |
|
670 |
justInTime := self justInTimeCompilation value. |
|
671 |
justInTime ifTrue:[ |
|
672 |
Method allInstancesDo:[:m | m checked:false]. |
|
673 |
]. |
|
674 |
ObjectMemory justInTimeCompilation:justInTime. |
|
675 |
ObjectMemory fullSingleStepSupport:self fullDebugSupport value. |
|
676 |
]. |
|
4574 | 677 |
! |
678 |
||
679 |
help |
|
680 |
||
681 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/compilerSettings.html']. |
|
682 |
! |
|
683 |
||
684 |
readSettings |
|
685 |
self allowDollar value:(Compiler allowDollarInIdentifier ? false). |
|
686 |
self allowDolphinExtensions |
|
687 |
value:(Compiler allowDolphinExtensions ? false). |
|
688 |
self allowOldStyleAssignment |
|
689 |
value:(Compiler allowOldStyleAssignment ? false). |
|
690 |
self allowQualifiedNames value:(Compiler allowQualifiedNames ? false). |
|
691 |
self allowReservedWordsAsSelectors |
|
692 |
value:(Compiler allowReservedWordsAsSelectors ? false). |
|
693 |
self allowSqueakExtensions value:(Compiler allowSqueakExtensions ? false). |
|
694 |
self allowUnderscore value:(Compiler allowUnderscoreInIdentifier ? false). |
|
695 |
self constantFoldingSelection |
|
696 |
value:(self class constantFoldingOptions indexOf:Compiler foldConstants |
|
697 |
ifAbsent:3). |
|
698 |
self supportsJustInTimeCompilation ifTrue:[ |
|
699 |
self fullDebugSupport value:(ObjectMemory fullSingleStepSupport ? false) |
|
700 |
] ifFalse:[ |
|
701 |
self fullDebugSupport value:(Compiler lineNumberInfo == #full) |
|
702 |
]. |
|
703 |
self immutableArrays value:(Compiler arraysAreImmutable ? false). |
|
704 |
self supportsJustInTimeCompilation ifTrue:[ |
|
705 |
self justInTimeCompilation |
|
706 |
value:(ObjectMemory justInTimeCompilation ? false) |
|
707 |
] ifFalse:[ |
|
708 |
self justInTimeCompilation value:false |
|
709 |
]. |
|
710 |
self warnCommonMistakes value:(Compiler warnCommonMistakes ? false). |
|
711 |
self warnCompatibility |
|
712 |
value:(Compiler warnPossibleIncompatibilities ? false). |
|
713 |
self warnDollar value:(Compiler warnDollarInIdentifier ? false). |
|
714 |
self warnOldStyle value:(Compiler warnOldStyleAssignment ? false). |
|
715 |
self warnSTX value:(Compiler warnSTXSpecials ? false). |
|
716 |
self warnUnderscore value:(Compiler warnUnderscoreInIdentifier ? false). |
|
717 |
self warnUnusedVars value:(Compiler warnUnusedVars ? false). |
|
718 |
self warnings value:(Compiler warnings ? false). |
|
719 |
self modifiedChannel value:false |
|
4286 | 720 |
! |
721 |
||
722 |
stcCompilerSettings |
|
723 |
||
724 |
AbstractLauncherApplication::LauncherDialogs stcCompilerSettings |
|
725 |
! ! |
|
726 |
||
4387 | 727 |
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'aspects'! |
4286 | 728 |
|
729 |
allowDollar |
|
730 |
||
731 |
allowDollar isNil ifTrue:[ |
|
732 |
allowDollar := (Compiler allowDollarInIdentifier ? false) asValue. |
|
733 |
allowDollar onChangeSend:#evaluateModified to:self. |
|
734 |
allowDollar addDependent:self. |
|
735 |
]. |
|
736 |
^ allowDollar. |
|
737 |
! |
|
738 |
||
739 |
allowDolphinExtensions |
|
740 |
||
741 |
allowDolphinExtensions isNil ifTrue:[ |
|
742 |
allowDolphinExtensions := (Compiler allowDolphinExtensions ? false) asValue. |
|
743 |
allowDolphinExtensions onChangeSend:#evaluateModified to:self. |
|
744 |
]. |
|
745 |
^ allowDolphinExtensions. |
|
746 |
! |
|
747 |
||
748 |
allowOldStyleAssignment |
|
749 |
||
750 |
allowOldStyleAssignment isNil ifTrue:[ |
|
751 |
allowOldStyleAssignment := (Compiler allowOldStyleAssignment ? false) asValue. |
|
752 |
allowOldStyleAssignment onChangeSend:#evaluateModified to:self. |
|
753 |
]. |
|
754 |
^ allowOldStyleAssignment. |
|
755 |
! |
|
756 |
||
757 |
allowQualifiedNames |
|
758 |
||
759 |
allowQualifiedNames isNil ifTrue:[ |
|
760 |
allowQualifiedNames := (Compiler allowQualifiedNames ? false) asValue. |
|
761 |
allowQualifiedNames onChangeSend:#evaluateModified to:self. |
|
762 |
]. |
|
763 |
^ allowQualifiedNames. |
|
764 |
! |
|
765 |
||
766 |
allowReservedWordsAsSelectors |
|
767 |
||
768 |
allowReservedWordsAsSelectors isNil ifTrue:[ |
|
769 |
allowReservedWordsAsSelectors := (Compiler allowReservedWordsAsSelectors ? false) asValue. |
|
770 |
allowReservedWordsAsSelectors onChangeSend:#evaluateModified to:self. |
|
771 |
]. |
|
772 |
^ allowReservedWordsAsSelectors. |
|
773 |
! |
|
774 |
||
775 |
allowSqueakExtensions |
|
776 |
||
777 |
allowSqueakExtensions isNil ifTrue:[ |
|
778 |
allowSqueakExtensions := (Compiler allowSqueakExtensions ? false) asValue. |
|
779 |
allowSqueakExtensions onChangeSend:#evaluateModified to:self. |
|
780 |
]. |
|
781 |
^ allowSqueakExtensions. |
|
782 |
! |
|
783 |
||
784 |
allowUnderscore |
|
785 |
||
786 |
allowUnderscore isNil ifTrue:[ |
|
787 |
allowUnderscore := (Compiler allowUnderscoreInIdentifier ? false) asValue. |
|
788 |
allowUnderscore onChangeSend:#evaluateModified to:self. |
|
789 |
allowUnderscore addDependent:self. |
|
790 |
]. |
|
791 |
^ allowUnderscore. |
|
792 |
! |
|
793 |
||
794 |
constantFolding |
|
795 |
||
796 |
constantFolding isNil ifTrue:[ |
|
797 |
constantFolding := (resources array:(self class constantFoldingStrings)) asList. |
|
798 |
]. |
|
799 |
^ constantFolding. |
|
800 |
! |
|
801 |
||
802 |
constantFoldingOptions |
|
803 |
||
804 |
constantFoldingOptions isNil ifTrue:[ |
|
805 |
constantFoldingOptions := self class constantFoldingOptions. |
|
806 |
]. |
|
807 |
^ constantFoldingOptions. |
|
808 |
! |
|
809 |
||
810 |
constantFoldingSelection |
|
811 |
||
812 |
constantFoldingSelection isNil ifTrue:[ |
|
813 |
| index | |
|
814 |
index := self class constantFoldingOptions indexOf:Compiler foldConstants ifAbsent:3. |
|
815 |
constantFoldingSelection := index asValue. |
|
816 |
constantFoldingSelection onChangeSend:#evaluateModified to:self. |
|
817 |
]. |
|
818 |
^ constantFoldingSelection. |
|
819 |
! |
|
820 |
||
821 |
enableDollar |
|
822 |
||
823 |
enableDollar isNil ifTrue:[ |
|
824 |
enableDollar := true asValue. |
|
825 |
enableDollar addDependent:self. |
|
826 |
]. |
|
827 |
^ enableDollar. |
|
828 |
! |
|
829 |
||
830 |
enableUnderscore |
|
831 |
"automatically generated by UIPainter ..." |
|
832 |
||
833 |
"*** the code below creates a default model when invoked." |
|
834 |
"*** (which may not be the one you wanted)" |
|
835 |
"*** Please change as required and accept it in the browser." |
|
836 |
"*** (and replace this comment by something more useful ;-)" |
|
837 |
||
838 |
enableUnderscore isNil ifTrue:[ |
|
839 |
enableUnderscore := true asValue. |
|
840 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
841 |
"/ enableUnderscore addDependent:self. |
|
842 |
"/ enableUnderscore onChangeSend:#enableUnderscoreChanged to:self. |
|
843 |
]. |
|
844 |
^ enableUnderscore. |
|
845 |
! |
|
846 |
||
847 |
fullDebugSupport |
|
848 |
||
849 |
fullDebugSupport isNil ifTrue:[ |
|
850 |
self supportsJustInTimeCompilation ifTrue:[ |
|
851 |
fullDebugSupport := (ObjectMemory fullSingleStepSupport ? false) asValue. |
|
852 |
] ifFalse:[ |
|
853 |
fullDebugSupport := (Compiler lineNumberInfo == #full) asValue. |
|
854 |
]. |
|
855 |
fullDebugSupport onChangeSend:#evaluateModified to:self. |
|
856 |
]. |
|
857 |
^ fullDebugSupport. |
|
858 |
! |
|
859 |
||
860 |
immutableArrays |
|
861 |
||
862 |
immutableArrays isNil ifTrue:[ |
|
863 |
immutableArrays := (Compiler arraysAreImmutable ? false) asValue. |
|
864 |
immutableArrays onChangeSend:#evaluateModified to:self. |
|
865 |
]. |
|
866 |
^ immutableArrays. |
|
867 |
! |
|
868 |
||
869 |
justInTimeCompilation |
|
870 |
||
871 |
justInTimeCompilation isNil ifTrue:[ |
|
872 |
self supportsJustInTimeCompilation ifTrue:[ |
|
873 |
justInTimeCompilation := (ObjectMemory justInTimeCompilation ? false) asValue. |
|
874 |
] ifFalse:[ |
|
875 |
justInTimeCompilation := false asValue. |
|
876 |
]. |
|
877 |
justInTimeCompilation onChangeSend:#evaluateModified to:self. |
|
878 |
]. |
|
879 |
^ justInTimeCompilation. |
|
880 |
! |
|
881 |
||
882 |
warnCommonMistakes |
|
883 |
||
884 |
warnCommonMistakes isNil ifTrue:[ |
|
885 |
warnCommonMistakes := (Compiler warnCommonMistakes ? false) asValue. |
|
886 |
warnCommonMistakes onChangeSend:#evaluateModified to:self. |
|
887 |
]. |
|
888 |
^ warnCommonMistakes. |
|
889 |
! |
|
890 |
||
891 |
warnCompatibility |
|
892 |
||
893 |
warnCompatibility isNil ifTrue:[ |
|
894 |
warnCompatibility := (Compiler warnPossibleIncompatibilities ? false) asValue. |
|
895 |
warnCompatibility onChangeSend:#evaluateModified to:self. |
|
896 |
]. |
|
897 |
^ warnCompatibility. |
|
898 |
! |
|
899 |
||
900 |
warnDollar |
|
901 |
||
902 |
warnDollar isNil ifTrue:[ |
|
903 |
warnDollar := (Compiler warnDollarInIdentifier ? false) asValue. |
|
904 |
warnDollar onChangeSend:#evaluateModified to:self. |
|
905 |
]. |
|
906 |
^ warnDollar. |
|
907 |
! |
|
908 |
||
909 |
warnOldStyle |
|
910 |
||
911 |
warnOldStyle isNil ifTrue:[ |
|
912 |
warnOldStyle := (Compiler warnOldStyleAssignment ? false) asValue. |
|
913 |
warnOldStyle onChangeSend:#evaluateModified to:self. |
|
914 |
]. |
|
915 |
^ warnOldStyle. |
|
916 |
! |
|
917 |
||
918 |
warnSTX |
|
919 |
||
920 |
warnSTX isNil ifTrue:[ |
|
921 |
warnSTX := (Compiler warnSTXSpecials ? false) asValue. |
|
922 |
warnSTX onChangeSend:#evaluateModified to:self. |
|
923 |
]. |
|
924 |
^ warnSTX. |
|
925 |
! |
|
926 |
||
927 |
warnUnderscore |
|
928 |
||
929 |
warnUnderscore isNil ifTrue:[ |
|
930 |
warnUnderscore := (Compiler warnUnderscoreInIdentifier ? false) asValue. |
|
931 |
warnUnderscore onChangeSend:#evaluateModified to:self. |
|
932 |
]. |
|
933 |
^ warnUnderscore. |
|
934 |
! |
|
935 |
||
936 |
warnUnusedVars |
|
937 |
||
938 |
warnUnusedVars isNil ifTrue:[ |
|
939 |
warnUnusedVars := (Compiler warnUnusedVars ? false) asValue. |
|
940 |
warnUnusedVars onChangeSend:#evaluateModified to:self. |
|
941 |
]. |
|
942 |
^ warnUnusedVars. |
|
943 |
! |
|
944 |
||
945 |
warnings |
|
946 |
||
947 |
warnings isNil ifTrue:[ |
|
948 |
warnings := (Compiler warnings ? false) asValue. |
|
949 |
warnings addDependent:self. |
|
950 |
warnings changed. |
|
951 |
warnings onChangeSend:#evaluateModified to:self. |
|
952 |
]. |
|
953 |
^ warnings. |
|
954 |
! ! |
|
955 |
||
4387 | 956 |
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'change & update'! |
4286 | 957 |
|
958 |
update:something with:aParameter from:changedObject |
|
959 |
changedObject == self warnings ifTrue:[ |
|
4805 | 960 |
changedObject value ifTrue:[ |
4286 | 961 |
self enableUnderscore value:self allowUnderscore value. |
962 |
self enableDollar value:self allowDollar value. |
|
963 |
] ifFalse:[ |
|
964 |
self enableUnderscore value:false. |
|
965 |
self enableDollar value:false. |
|
966 |
]. |
|
967 |
^ self |
|
968 |
]. |
|
969 |
(changedObject == self allowDollar or:[changedObject == self allowUnderscore]) ifTrue:[ |
|
970 |
self warnings changed. |
|
971 |
^ self |
|
972 |
]. |
|
973 |
||
974 |
super update:something with:aParameter from:changedObject |
|
975 |
! ! |
|
976 |
||
4387 | 977 |
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'queries'! |
4286 | 978 |
|
979 |
hasUnsavedChanges |
|
980 |
||
981 |
^ |
|
982 |
( |
|
983 |
((Compiler warnings ? false) ~= self warnings value) or:[ |
|
984 |
((Compiler warnSTXSpecials ? false) ~= self warnSTX value) or:[ |
|
985 |
((Compiler warnOldStyleAssignment ? false) ~= self warnOldStyle value) or:[ |
|
986 |
((Compiler warnUnderscoreInIdentifier ? false) ~= self warnUnderscore value) or:[ |
|
987 |
((Compiler warnDollarInIdentifier ? false) ~= self warnDollar value) or:[ |
|
988 |
((Compiler warnCommonMistakes ? false) ~= self warnCommonMistakes value) or:[ |
|
989 |
((Compiler warnPossibleIncompatibilities ? false) ~= self warnCompatibility value) or:[ |
|
990 |
((Compiler warnUnusedVars ? false) ~= self warnUnusedVars value) or:[ |
|
991 |
((Compiler allowUnderscoreInIdentifier ? false) ~= self allowUnderscore value) or:[ |
|
992 |
((Compiler allowDollarInIdentifier ? false) ~= self allowDollar value) or:[ |
|
993 |
((Compiler allowSqueakExtensions ? false) ~= self allowSqueakExtensions value) or:[ |
|
994 |
((Compiler allowDolphinExtensions ? false) ~= self allowDolphinExtensions value) or:[ |
|
995 |
((Compiler allowQualifiedNames ? false) ~= self allowQualifiedNames value) or:[ |
|
996 |
((Compiler allowOldStyleAssignment ? false) ~= self allowOldStyleAssignment value) or:[ |
|
997 |
((Compiler allowReservedWordsAsSelectors ? false) ~= self allowReservedWordsAsSelectors value) or:[ |
|
998 |
((Compiler arraysAreImmutable ? false) ~= self immutableArrays value) or:[ |
|
999 |
((self supportsJustInTimeCompilation value ifTrue:[ObjectMemory fullSingleStepSupport ? false] ifFalse:[Compiler lineNumberInfo == #full]) ~= self fullDebugSupport value) or:[ |
|
1000 |
((Compiler foldConstants) ~= (self class constantFoldingOptions at:self constantFoldingSelection value)) or:[ |
|
4387 | 1001 |
((ObjectMemory justInTimeCompilation ? false) ~= self justInTimeCompilation value)]]]]]]]]]]]]]]]]]]) |
4286 | 1002 |
! |
1003 |
||
1004 |
supportsJustInTimeCompilation |
|
1005 |
||
1006 |
^ ObjectMemory supportsJustInTimeCompilation |
|
1007 |
! ! |
|
1008 |
||
4398 | 1009 |
!AbstractSettingsApplication::DebuggerSettingsAppl class methodsFor:'image specs'! |
1010 |
||
1011 |
defaultIcon |
|
1012 |
<resource: #programImage> |
|
1013 |
||
1014 |
^ ToolbarIconLibrary bugReporter24x24Icon |
|
1015 |
! ! |
|
1016 |
||
1017 |
!AbstractSettingsApplication::DebuggerSettingsAppl class methodsFor:'interface specs'! |
|
1018 |
||
1019 |
windowSpec |
|
1020 |
"This resource specification was automatically generated |
|
1021 |
by the UIPainter of ST/X." |
|
1022 |
||
1023 |
"Do not manually edit this!! If it is corrupted, |
|
1024 |
the UIPainter may not be able to read the specification." |
|
1025 |
||
1026 |
" |
|
1027 |
UIPainter new openOnClass:AbstractSettingsApplication::DebuggerSettingsAppl andSelector:#windowSpec |
|
1028 |
AbstractSettingsApplication::DebuggerSettingsAppl new openInterface:#windowSpec |
|
1029 |
AbstractSettingsApplication::DebuggerSettingsAppl open |
|
1030 |
" |
|
1031 |
||
1032 |
<resource: #canvas> |
|
1033 |
||
1034 |
^ |
|
1035 |
#(#FullSpec |
|
1036 |
#name: #windowSpec |
|
1037 |
#window: |
|
1038 |
#(#WindowSpec |
|
4405 | 1039 |
#label: 'Debugger Settings' |
1040 |
#name: 'Debugger Settings' |
|
4398 | 1041 |
#min: #(#Point 10 10) |
1042 |
#max: #(#Point 1024 768) |
|
1043 |
#bounds: #(#Rectangle 16 42 616 362) |
|
1044 |
) |
|
1045 |
#component: |
|
1046 |
#(#SpecCollection |
|
1047 |
#collection: #( |
|
1048 |
#(#VerticalPanelViewSpec |
|
1049 |
#name: 'VerticalPanel2' |
|
1050 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
1051 |
#horizontalLayout: #fit |
|
1052 |
#verticalLayout: #top |
|
1053 |
#horizontalSpace: 3 |
|
1054 |
#verticalSpace: 5 |
|
1055 |
#component: |
|
1056 |
#(#SpecCollection |
|
1057 |
#collection: #( |
|
1058 |
#(#VerticalPanelViewSpec |
|
1059 |
#name: 'VerticalPanel5' |
|
1060 |
#horizontalLayout: #fit |
|
1061 |
#verticalLayout: #topSpace |
|
1062 |
#horizontalSpace: 3 |
|
1063 |
#verticalSpace: 3 |
|
1064 |
#component: |
|
1065 |
#(#SpecCollection |
|
1066 |
#collection: #( |
|
1067 |
#(#ViewSpec |
|
1068 |
#name: 'Box10' |
|
1069 |
#component: |
|
1070 |
#(#SpecCollection |
|
1071 |
#collection: #( |
|
1072 |
#(#CheckBoxSpec |
|
1073 |
#label: 'Show Error Notifier before Opening Debugger' |
|
1074 |
#name: 'ShowErrorNotifierCheckBox' |
|
1075 |
#layout: #(#LayoutFrame 5 0 5 0 -5 1 27 0) |
|
1076 |
#model: #showErrorNotifier |
|
1077 |
#translateLabel: true |
|
1078 |
) |
|
1079 |
) |
|
1080 |
||
1081 |
) |
|
1082 |
#extent: #(#Point 600 30) |
|
1083 |
) |
|
1084 |
#(#ViewSpec |
|
1085 |
#name: 'Box11' |
|
1086 |
#component: |
|
1087 |
#(#SpecCollection |
|
1088 |
#collection: #( |
|
1089 |
#(#CheckBoxSpec |
|
1090 |
#label: 'Verbose Backtrace by Default in Debugger' |
|
1091 |
#name: 'ShowVerboseStackCheckBox' |
|
1092 |
#layout: #(#LayoutFrame 5 0 5 0 -5 1 27 0) |
|
1093 |
#model: #showVerboseStack |
|
1094 |
#translateLabel: true |
|
1095 |
) |
|
1096 |
) |
|
1097 |
||
1098 |
) |
|
1099 |
#extent: #(#Point 600 30) |
|
1100 |
) |
|
1101 |
#(#ViewSpec |
|
1102 |
#name: 'Box12' |
|
1103 |
#component: |
|
1104 |
#(#SpecCollection |
|
1105 |
#collection: #( |
|
1106 |
#(#CheckBoxSpec |
|
1107 |
#label: 'Allow send Error Report from Debugger' |
|
1108 |
#name: 'CheckBox6' |
|
1109 |
#layout: #(#LayoutFrame 5 0 5 0 -5 1 27 0) |
|
1110 |
#model: #allowSendMailFromDebugger |
|
1111 |
#translateLabel: true |
|
1112 |
) |
|
1113 |
) |
|
1114 |
||
1115 |
) |
|
1116 |
#extent: #(#Point 600 30) |
|
1117 |
) |
|
1118 |
) |
|
1119 |
||
1120 |
) |
|
1121 |
#extent: #(#Point 600 320) |
|
1122 |
) |
|
1123 |
) |
|
1124 |
||
1125 |
) |
|
1126 |
) |
|
1127 |
) |
|
1128 |
||
1129 |
) |
|
1130 |
) |
|
1131 |
! ! |
|
1132 |
||
1133 |
!AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'actions'! |
|
1134 |
||
4574 | 1135 |
basicSaveSettings |
1136 |
||
1137 |
currentUserPrefs allowSendMailFromDebugger:self allowSendMailFromDebugger value. |
|
1138 |
self showErrorNotifier value ifFalse:[ |
|
1139 |
Exception emergencyHandler:nil |
|
1140 |
] ifTrue:[ |
|
1141 |
Exception emergencyHandler:(AbstractLauncherApplication notifyingEmergencyHandler) |
|
1142 |
]. |
|
1143 |
DebugView defaultVerboseBacktrace:self showVerboseStack value. |
|
1144 |
! |
|
1145 |
||
4398 | 1146 |
help |
1147 |
||
1148 |
self warn:'no help available here'. |
|
1149 |
"/ self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/editSettings.html']. |
|
1150 |
! |
|
1151 |
||
4574 | 1152 |
readSettings |
1153 |
self allowSendMailFromDebugger |
|
1154 |
value:currentUserPrefs allowSendMailFromDebugger. |
|
1155 |
self showErrorNotifier value:(NoHandlerError emergencyHandler |
|
1156 |
== AbstractLauncherApplication notifyingEmergencyHandler). |
|
4398 | 1157 |
self showVerboseStack value:(DebugView defaultVerboseBacktrace ? false). |
4574 | 1158 |
self modifiedChannel value:false |
4398 | 1159 |
! ! |
1160 |
||
1161 |
!AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'aspects'! |
|
1162 |
||
1163 |
allowSendMailFromDebugger |
|
1164 |
||
1165 |
allowSendMailFromDebugger isNil ifTrue:[ |
|
1166 |
allowSendMailFromDebugger := currentUserPrefs allowSendMailFromDebugger asValue. |
|
1167 |
allowSendMailFromDebugger onChangeSend:#evaluateModified to:self |
|
1168 |
]. |
|
1169 |
^ allowSendMailFromDebugger. |
|
1170 |
! |
|
1171 |
||
1172 |
showErrorNotifier |
|
1173 |
||
1174 |
showErrorNotifier isNil ifTrue:[ |
|
4566
af369740e2bc
Replace referneces to Exception.
Stefan Vogel <sv@exept.de>
parents:
4563
diff
changeset
|
1175 |
showErrorNotifier := (NoHandlerError emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler) asValue. |
4398 | 1176 |
showErrorNotifier onChangeSend:#evaluateModified to:self |
1177 |
]. |
|
1178 |
^ showErrorNotifier. |
|
1179 |
! |
|
1180 |
||
1181 |
showVerboseStack |
|
1182 |
||
1183 |
showVerboseStack isNil ifTrue:[ |
|
1184 |
showVerboseStack := (DebugView defaultVerboseBacktrace ? false) asValue. |
|
1185 |
showVerboseStack onChangeSend:#evaluateModified to:self |
|
1186 |
]. |
|
1187 |
^ showVerboseStack. |
|
1188 |
! ! |
|
1189 |
||
1190 |
!AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'queries'! |
|
1191 |
||
1192 |
hasUnsavedChanges |
|
1193 |
||
1194 |
^ ( |
|
4566
af369740e2bc
Replace referneces to Exception.
Stefan Vogel <sv@exept.de>
parents:
4563
diff
changeset
|
1195 |
self showErrorNotifier value ~= (NoHandlerError emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler) or:[ |
4398 | 1196 |
DebugView defaultVerboseBacktrace ? false ~= self showVerboseStack value or:[ |
1197 |
(UserPreferences current at:#allowSendMailFromDebugger ifAbsent:true) ~= self allowSendMailFromDebugger value |
|
1198 |
]] |
|
1199 |
) |
|
1200 |
! ! |
|
1201 |
||
4286 | 1202 |
!AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'defaults'! |
1203 |
||
1204 |
clipEncodingStrings |
|
1205 |
||
1206 |
^ #('untranslated' 'iso8859' 'jis' 'jis7' 'shift-JIS' 'EUC' 'big5') |
|
1207 |
! |
|
1208 |
||
1209 |
clipEncodingSyms |
|
1210 |
||
1211 |
^ #(nil #iso8859 #jis #jis7 #sjis #euc #big5) |
|
1212 |
! |
|
1213 |
||
1214 |
staticGrayOrGrayScaleDitherStrings |
|
1215 |
||
1216 |
^ #('threshold' 'ordered dither' 'error diffusion') |
|
1217 |
! |
|
1218 |
||
1219 |
staticGrayOrGrayScaleDitherSyms |
|
1220 |
||
1221 |
^ #(threshold ordered floydSteinberg) |
|
1222 |
! |
|
1223 |
||
1224 |
trueColorDitherStrings |
|
1225 |
||
1226 |
^ #('nearest color' 'error diffusion') |
|
1227 |
! |
|
1228 |
||
1229 |
trueColorDitherSyms |
|
1230 |
||
1231 |
^ #(ordered floydSteinberg) |
|
1232 |
! ! |
|
1233 |
||
4312 | 1234 |
!AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'image specs'! |
1235 |
||
1236 |
defaultIcon |
|
1237 |
"This resource specification was automatically generated |
|
1238 |
by the ImageEditor of ST/X." |
|
1239 |
||
1240 |
"Do not manually edit this!! If it is corrupted, |
|
1241 |
the ImageEditor may not be able to read the specification." |
|
1242 |
||
1243 |
" |
|
1244 |
self defaultIcon inspect |
|
1245 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
1246 |
Icon flushCachedIcons |
|
1247 |
" |
|
1248 |
||
1249 |
<resource: #image> |
|
1250 |
||
1251 |
^Icon |
|
1252 |
constantNamed:#'AbstractSettingsApplication::DisplaySettingsAppl class defaultIcon' |
|
1253 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
1254 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JB (JB (JB (JB (JB (I2\@@@@@ |
|
1255 |
@B (JB (JB (JB (JB (JB\''@@@@@@@(JA@ZFA YE@,KC@,KA0P''I1T@@@@@JB RH2D!!HRD HA(MCP\DI2\U@@@@@B (GRT#H2D"H2L^C0<HAB\''EP@@@@@( |
|
1256 |
JA4%H2L!!H"L#G <OB@P''I1T@@@@@JB ZH2P$H1<_G1$OC0XDI2\U@@@@@B (C!!$ HA,\FQ$OC0<FAB\''EP@@@@@(JA@WE!!XWFQ XC <OBPT''I1T@@@@@JB P |
|
1257 |
E1XVE1$XF@8OC0$EI2\U@@@@@B (A!!DSD0(CB (B@PDAAB\''EP@@@@@''I2\''I"X''I2\''I2\''I2\''I1T@@@@@I2\''I2X&I2\''I2\''I2\''I2\U@@@@@@@@EQTU |
|
1258 |
ER ''I2\''EQTUEQTUEP@@@@@@@@@@@@@(I2\''I1TU@@@@@@@@@@@@@@@@JB\''I2\''I2\''I2\U@@@@@@@@@@@@@B ''I2\''I2\''I2\''EP@@@@@@@@@@@@@@@@@@ |
|
1259 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 60 78 83 61 77 82 63 79 84 63 81 86 66 83 87 66 84 89 66 85 91 67 86 92 68 86 91 69 87 92 69 88 94 70 90 95 71 91 96 71 92 98 72 93 99 73 94 100 74 92 97 74 95 101 75 93 98 75 96 102 76 76 76 76 97 103 77 98 104 77 99 106 79 101 108 80 103 109 81 104 110 82 105 111 83 106 112 83 107 114 86 110 117 87 111 118 88 113 121 89 114 122 90 116 123 91 117 124 92 118 125 126 126 126 127 127 127 139 139 139]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@G??0G??0G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8A??8@G<@@??@@??@@@@@@@@@') ; yourself); yourself] |
|
1260 |
! ! |
|
1261 |
||
4286 | 1262 |
!AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'interface specs'! |
1263 |
||
1264 |
windowSpec |
|
1265 |
"This resource specification was automatically generated |
|
1266 |
by the UIPainter of ST/X." |
|
1267 |
||
1268 |
"Do not manually edit this!! If it is corrupted, |
|
1269 |
the UIPainter may not be able to read the specification." |
|
1270 |
||
1271 |
" |
|
4310 | 1272 |
UIPainter new openOnClass:AbstractSettingsApplication::DisplaySettingsAppl andSelector:#windowSpec |
1273 |
AbstractSettingsApplication::DisplaySettingsAppl new openInterface:#windowSpec |
|
1274 |
AbstractSettingsApplication::DisplaySettingsAppl open |
|
4286 | 1275 |
" |
1276 |
||
1277 |
<resource: #canvas> |
|
1278 |
||
1279 |
^ |
|
1280 |
#(#FullSpec |
|
1281 |
#name: #windowSpec |
|
1282 |
#window: |
|
1283 |
#(#WindowSpec |
|
1284 |
#label: 'Display Screen Settings' |
|
1285 |
#name: 'Display Screen Settings' |
|
1286 |
#min: #(#Point 10 10) |
|
1287 |
#max: #(#Point 1024 768) |
|
4310 | 1288 |
#bounds: #(#Rectangle 16 42 616 390) |
4286 | 1289 |
) |
1290 |
#component: |
|
1291 |
#(#SpecCollection |
|
1292 |
#collection: #( |
|
1293 |
#(#LabelSpec |
|
1294 |
#label: 'Actual Visible Screen Area:' |
|
1295 |
#name: 'ActualVisibleScreenAreaLabel' |
|
1296 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 22 0) |
|
1297 |
#translateLabel: true |
|
1298 |
#adjust: #left |
|
1299 |
) |
|
1300 |
#(#LabelSpec |
|
1301 |
#label: 'Common Sizes:' |
|
1302 |
#name: 'CommonSizesLabel' |
|
1303 |
#layout: #(#LayoutFrame 0 0 39 0 205 0 61 0) |
|
1304 |
#translateLabel: true |
|
1305 |
#adjust: #right |
|
1306 |
) |
|
1307 |
#(#PopUpListSpec |
|
1308 |
#label: 'monitor size' |
|
1309 |
#name: 'MonitorSelectionPopUpList' |
|
1310 |
#layout: #(#LayoutFrame 205 0 39 0 -5 1 61 0) |
|
1311 |
#tabable: true |
|
1312 |
#model: #monitorSelection |
|
1313 |
#menu: #monitorList |
|
1314 |
#useIndex: true |
|
1315 |
) |
|
1316 |
#(#LabelSpec |
|
1317 |
#label: 'Screen Size:' |
|
1318 |
#name: 'ScreenSizeLabel' |
|
1319 |
#layout: #(#LayoutFrame 0 0 72 0 205 0 94 0) |
|
1320 |
#translateLabel: true |
|
1321 |
#adjust: #right |
|
1322 |
) |
|
1323 |
#(#InputFieldSpec |
|
1324 |
#name: 'SizeXEntryField' |
|
1325 |
#layout: #(#LayoutFrame 205 0 72 0 300 0 94 0) |
|
1326 |
#model: #sizeX |
|
1327 |
#type: #number |
|
1328 |
#immediateAccept: true |
|
1329 |
#acceptOnReturn: true |
|
1330 |
#acceptOnTab: true |
|
1331 |
#acceptOnLostFocus: true |
|
4658 | 1332 |
#acceptOnPointerLeave: true |
4286 | 1333 |
) |
1334 |
#(#LabelSpec |
|
1335 |
#label: ' x ' |
|
1336 |
#name: 'xLabel' |
|
1337 |
#layout: #(#LayoutFrame 314 0 72 0 360 0 94 0) |
|
1338 |
#translateLabel: true |
|
1339 |
#adjust: #right |
|
1340 |
) |
|
1341 |
#(#InputFieldSpec |
|
1342 |
#name: 'SizeYEntryField' |
|
1343 |
#layout: #(#LayoutFrame 379 0 72 0 474 0 94 0) |
|
1344 |
#model: #sizeY |
|
1345 |
#type: #number |
|
1346 |
#immediateAccept: true |
|
1347 |
#acceptOnReturn: true |
|
1348 |
#acceptOnTab: true |
|
1349 |
#acceptOnLostFocus: true |
|
4658 | 1350 |
#acceptOnPointerLeave: true |
4286 | 1351 |
) |
1352 |
#(#LabelSpec |
|
1353 |
#label: '(mm)' |
|
1354 |
#name: 'mmLabel' |
|
1355 |
#layout: #(#LayoutFrame 491 0 72 0 537 0 94 0) |
|
1356 |
#translateLabel: true |
|
1357 |
#adjust: #right |
|
1358 |
) |
|
1359 |
#(#DividerSpec |
|
1360 |
#name: 'Separator1' |
|
1361 |
#layout: #(#LayoutFrame 0 0.0 105 0 0 1.0 109 0) |
|
1362 |
) |
|
1363 |
#(#LabelSpec |
|
1364 |
#name: 'ScreenDepthVisualLabel' |
|
1365 |
#layout: #(#LayoutFrame 0 0.0 113 0.0 0 1.0 135 0) |
|
1366 |
#translateLabel: true |
|
1367 |
#labelChannel: #screenDepthVisualLabelHolder |
|
1368 |
#adjust: #left |
|
1369 |
) |
|
1370 |
#(#DividerSpec |
|
1371 |
#name: 'Separator2' |
|
1372 |
#layout: #(#LayoutFrame 0 0.0 139 0 0 1.0 143 0) |
|
1373 |
) |
|
1374 |
#(#CheckBoxSpec |
|
1375 |
#label: 'Color Monitor' |
|
1376 |
#name: 'ColorMonitorCheckBox' |
|
1377 |
#layout: #(#LayoutFrame 5 0 150 0 250 0 172 0) |
|
1378 |
#model: #isColorMonitor |
|
1379 |
#translateLabel: true |
|
1380 |
) |
|
1381 |
#(#CheckBoxSpec |
|
1382 |
#label: 'Use Fix Color Palette' |
|
1383 |
#name: 'FixColorPaletteCheckBox' |
|
1384 |
#layout: #(#LayoutFrame 5 0 175 0 301 0 197 0) |
|
1385 |
#enableChannel: #visualIsPseudoColor |
|
1386 |
#model: #useFixPalette |
|
1387 |
#translateLabel: true |
|
1388 |
#labelChannel: #useFixPaletteLabel |
|
1389 |
) |
|
1390 |
#(#CheckBoxSpec |
|
1391 |
#label: 'Use Fix Gray Color Palette' |
|
1392 |
#name: 'UseFixGrayPaletteCheckBox' |
|
1393 |
#layout: #(#LayoutFrame 5 0 201 0 301 0 223 0) |
|
1394 |
#enableChannel: #visualIsPseudoColor |
|
1395 |
#model: #useFixGrayPalette |
|
1396 |
#translateLabel: true |
|
1397 |
#labelChannel: #useFixGrayPaletteLabel |
|
1398 |
) |
|
1399 |
#(#LabelSpec |
|
1400 |
#label: 'Image Display:' |
|
1401 |
#name: 'ImageDisplayLabel' |
|
1402 |
#layout: #(#LayoutFrame 0 0 230 0 205 0 252 0) |
|
1403 |
#translateLabel: true |
|
1404 |
#adjust: #right |
|
1405 |
) |
|
1406 |
#(#PopUpListSpec |
|
1407 |
#label: 'image display' |
|
1408 |
#name: 'DitherListPopUpList' |
|
1409 |
#layout: #(#LayoutFrame 205 0 230 0 -5 1 252 0) |
|
1410 |
#tabable: true |
|
1411 |
#model: #ditherListSelection |
|
1412 |
#enableChannel: #ditherSymsNotNil |
|
1413 |
#menu: #ditherList |
|
1414 |
#useIndex: true |
|
1415 |
) |
|
1416 |
#(#CheckBoxSpec |
|
1417 |
#label: 'Allow Colored/Grayscale Icons' |
|
1418 |
#name: 'AllowColoredGrayscaleIconsCheckBox' |
|
1419 |
#layout: #(#LayoutFrame 5 0 262 0 301 0 284 0) |
|
1420 |
#model: #deepIcons |
|
1421 |
#translateLabel: true |
|
1422 |
) |
|
1423 |
#(#DividerSpec |
|
1424 |
#name: 'Separator3' |
|
1425 |
#layout: #(#LayoutFrame 0 0.0 288 0 0 1.0 292 0) |
|
1426 |
) |
|
1427 |
#(#LabelSpec |
|
1428 |
#label: 'ClipBoard Encoding:' |
|
1429 |
#name: 'ClipBoardEncodingLabel' |
|
1430 |
#layout: #(#LayoutFrame 0 0 303 0 205 0 325 0) |
|
1431 |
#translateLabel: true |
|
1432 |
#adjust: #right |
|
1433 |
) |
|
1434 |
#(#PopUpListSpec |
|
1435 |
#label: 'image display' |
|
1436 |
#name: 'ClipEncodingListPopUpList' |
|
1437 |
#layout: #(#LayoutFrame 205 0 303 0 -5 1 325 0) |
|
1438 |
#tabable: true |
|
1439 |
#model: #clipEncodingListSelection |
|
1440 |
#menu: #clipEncodingList |
|
1441 |
#useIndex: true |
|
1442 |
) |
|
1443 |
#(#DividerSpec |
|
1444 |
#name: 'Separator4' |
|
1445 |
#layout: #(#LayoutFrame 0 0.0 333 0 0 1.0 337 0) |
|
1446 |
) |
|
1447 |
) |
|
1448 |
||
1449 |
) |
|
1450 |
) |
|
1451 |
! ! |
|
1452 |
||
1453 |
!AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'actions'! |
|
1454 |
||
4574 | 1455 |
basicSaveSettings |
1456 |
||
1457 |
Image flushDeviceImages. |
|
1458 |
||
1459 |
screen visualType == #PseudoColor ifTrue:[ |
|
1460 |
self useFixPalette value ifTrue:[ |
|
1461 |
Color colorAllocationFailSignal handle:[:ex | |
|
1462 |
self warn:'Could not allocate colors.'. |
|
1463 |
] do:[ |
|
1464 |
Color getColorsRed:4 green:8 blue:4 on:screen |
|
1465 |
] |
|
1466 |
] ifFalse:[ |
|
1467 |
screen releaseFixColors |
|
1468 |
]. |
|
1469 |
||
1470 |
self useFixGrayPalette value ifTrue:[ |
|
1471 |
Color colorAllocationFailSignal handle:[:ex | |
|
1472 |
self warn:'Could not allocate colors.'. |
|
1473 |
] do:[ |
|
1474 |
Color getGrayColors:32 on:screen |
|
1475 |
] |
|
1476 |
] ifFalse:[ |
|
1477 |
screen releaseFixGrayColors |
|
1478 |
] |
|
1479 |
]. |
|
1480 |
screen hasColors:self isColorMonitor value. |
|
1481 |
screen widthInMillimeter:self sizeX value. |
|
1482 |
screen heightInMillimeter:self sizeY value. |
|
1483 |
||
1484 |
screen supportsDeepIcons:self deepIcons value. |
|
1485 |
ditherSyms notNil ifTrue:[ |
|
1486 |
Image ditherAlgorithm:(ditherSyms at:self ditherListSelection value). |
|
1487 |
]. |
|
1488 |
||
1489 |
WindowGroup activeGroup withWaitCursorDo:[ |
|
1490 |
View defaultStyle:(View defaultStyle). |
|
1491 |
]. |
|
1492 |
||
1493 |
screen clipBoardEncoding:(self class clipEncodingSyms at:self clipEncodingListSelection value). |
|
1494 |
! |
|
1495 |
||
4286 | 1496 |
help |
1497 |
||
1498 |
"/ self warn:'no help available here'. |
|
1499 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/screenSettings.html']. |
|
1500 |
! |
|
1501 |
||
4574 | 1502 |
readSettings |
4286 | 1503 |
self useFixPalette value:screen fixColors notNil. |
1504 |
self useFixGrayPalette value:screen fixGrayColors notNil. |
|
1505 |
self isColorMonitor value:screen hasColors. |
|
1506 |
self sizeX value:screen widthInMillimeter. |
|
1507 |
self sizeY value:screen heightInMillimeter. |
|
1508 |
self deepIcons value:screen supportsDeepIcons. |
|
1509 |
ditherSyms notNil ifTrue:[ |
|
4574 | 1510 |
self ditherListSelection |
1511 |
value:(ditherSyms indexOf:(Image ditherAlgorithm) ifAbsent:#threshold) |
|
1512 |
]. |
|
1513 |
self clipEncodingListSelection |
|
1514 |
value:(self class clipEncodingSyms indexOf:screen clipBoardEncoding |
|
1515 |
ifAbsent:1). |
|
1516 |
self modifiedChannel value:false |
|
4286 | 1517 |
! ! |
1518 |
||
1519 |
!AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'aspects'! |
|
1520 |
||
1521 |
clipEncodingList |
|
1522 |
||
1523 |
clipEncodingList isNil ifTrue:[ |
|
1524 |
clipEncodingList := (resources array:self class clipEncodingStrings) asValue. |
|
1525 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
1526 |
"/ clipEncodingList addDependent:self. |
|
1527 |
"/ clipEncodingList onChangeSend:#clipEncodingListChanged to:self. |
|
1528 |
]. |
|
1529 |
^ clipEncodingList. |
|
1530 |
! |
|
1531 |
||
1532 |
clipEncodingListSelection |
|
1533 |
||
1534 |
clipEncodingListSelection isNil ifTrue:[ |
|
1535 |
clipEncodingListSelection := (self class clipEncodingSyms indexOf:screen clipBoardEncoding ifAbsent:1) asValue. |
|
1536 |
clipEncodingListSelection onChangeSend:#evaluateModified to:self. |
|
1537 |
]. |
|
1538 |
^ clipEncodingListSelection. |
|
1539 |
! |
|
1540 |
||
1541 |
deepIcons |
|
1542 |
||
1543 |
deepIcons isNil ifTrue:[ |
|
1544 |
deepIcons := screen supportsDeepIcons asValue. |
|
1545 |
deepIcons onChangeSend:#evaluateModified to:self. |
|
1546 |
]. |
|
1547 |
^ deepIcons. |
|
1548 |
! |
|
1549 |
||
1550 |
ditherList |
|
1551 |
||
1552 |
ditherList isNil ifTrue:[ |
|
1553 |
ditherList := ValueHolder new. |
|
1554 |
]. |
|
1555 |
^ ditherList. |
|
1556 |
! |
|
1557 |
||
1558 |
ditherListSelection |
|
1559 |
||
1560 |
ditherListSelection isNil ifTrue:[ |
|
1561 |
ditherSyms notNil ifTrue:[ |
|
1562 |
ditherListSelection := (ditherSyms indexOf:(Image ditherAlgorithm) ifAbsent:#threshold) asValue. |
|
1563 |
] ifFalse:[ |
|
1564 |
ditherListSelection := ValueHolder new. |
|
1565 |
]. |
|
1566 |
ditherListSelection onChangeSend:#evaluateModified to:self. |
|
1567 |
]. |
|
1568 |
^ ditherListSelection. |
|
1569 |
! |
|
1570 |
||
1571 |
ditherSymsNotNil |
|
1572 |
||
1573 |
ditherSymsNotNil isNil ifTrue:[ |
|
1574 |
ditherSymsNotNil := ditherSyms notNil asValue. |
|
1575 |
]. |
|
1576 |
^ ditherSymsNotNil. |
|
1577 |
! |
|
1578 |
||
1579 |
isColorMonitor |
|
1580 |
||
1581 |
isColorMonitor isNil ifTrue:[ |
|
1582 |
isColorMonitor := screen hasColors asValue. |
|
1583 |
isColorMonitor onChangeSend:#evaluateModified to:self. |
|
1584 |
]. |
|
1585 |
^ isColorMonitor. |
|
1586 |
! |
|
1587 |
||
1588 |
monitorList |
|
1589 |
||
1590 |
monitorList isNil ifTrue:[ |
|
1591 |
monitorList := (resources array:(sizeInfos collect:[:entry | entry at:1])) asList. |
|
1592 |
]. |
|
1593 |
^ monitorList. |
|
1594 |
! |
|
1595 |
||
1596 |
monitorSelection |
|
1597 |
||
1598 |
monitorSelection isNil ifTrue:[ |
|
1599 |
monitorSelection := ValueHolder new. |
|
1600 |
monitorSelection addDependent:self. |
|
1601 |
monitorSelection onChangeSend:#evaluateModified to:self. |
|
1602 |
monitorSelection changed. |
|
1603 |
]. |
|
1604 |
^ monitorSelection. |
|
1605 |
! |
|
1606 |
||
1607 |
screenDepthVisualLabelHolder |
|
1608 |
||
1609 |
screenDepthVisualLabelHolder isNil ifTrue:[ |
|
1610 |
screenDepthVisualLabelHolder := (resources string:'Screen: Depth: %1 Visual: %2 (%3)' |
|
1611 |
with:screen depth printString |
|
1612 |
with:screen visualType |
|
1613 |
with:screen serverVendor) asValue. |
|
1614 |
]. |
|
1615 |
^ screenDepthVisualLabelHolder. |
|
1616 |
! |
|
1617 |
||
1618 |
sizeX |
|
1619 |
||
1620 |
sizeX isNil ifTrue:[ |
|
1621 |
sizeX := screen widthInMillimeter asValue. |
|
1622 |
sizeX addDependent:self. |
|
1623 |
sizeX changed. |
|
1624 |
sizeX onChangeSend:#evaluateModified to:self. |
|
1625 |
]. |
|
1626 |
^ sizeX. |
|
1627 |
! |
|
1628 |
||
1629 |
sizeY |
|
1630 |
||
1631 |
sizeY isNil ifTrue:[ |
|
1632 |
sizeY := screen heightInMillimeter asValue. |
|
1633 |
sizeY addDependent:self. |
|
1634 |
sizeY changed. |
|
1635 |
sizeY onChangeSend:#evaluateModified to:self. |
|
1636 |
]. |
|
1637 |
^ sizeY. |
|
1638 |
! |
|
1639 |
||
1640 |
useFixGrayPalette |
|
1641 |
||
1642 |
useFixGrayPalette isNil ifTrue:[ |
|
1643 |
useFixGrayPalette := screen fixGrayColors notNil asValue. |
|
1644 |
useFixGrayPalette onChangeSend:#evaluateModified to:self. |
|
1645 |
]. |
|
1646 |
^ useFixGrayPalette. |
|
1647 |
! |
|
1648 |
||
1649 |
useFixGrayPaletteLabel |
|
1650 |
||
1651 |
useFixGrayPaletteLabel isNil ifTrue:[ |
|
1652 |
useFixGrayPaletteLabel := (resources string:'Use Fix Gray Color Palette %1' with:'(32)') asValue. |
|
1653 |
]. |
|
1654 |
^ useFixGrayPaletteLabel. |
|
1655 |
! |
|
1656 |
||
1657 |
useFixPalette |
|
1658 |
||
1659 |
useFixPalette isNil ifTrue:[ |
|
1660 |
useFixPalette := screen fixColors notNil asValue. |
|
1661 |
useFixPalette onChangeSend:#evaluateModified to:self. |
|
1662 |
]. |
|
1663 |
^ useFixPalette. |
|
1664 |
! |
|
1665 |
||
1666 |
useFixPaletteLabel |
|
1667 |
||
1668 |
useFixPaletteLabel isNil ifTrue:[ |
|
1669 |
useFixPaletteLabel := (resources string:'Use Fix Color Palette %1' with:'(4x8x4)') asValue. |
|
1670 |
]. |
|
1671 |
^ useFixPaletteLabel. |
|
1672 |
! |
|
1673 |
||
1674 |
visualIsPseudoColor |
|
1675 |
||
1676 |
visualIsPseudoColor isNil ifTrue:[ |
|
1677 |
visualIsPseudoColor := (screen visualType == #PseudoColor) asValue. |
|
1678 |
visualIsPseudoColor onChangeSend:#evaluateModified to:self. |
|
1679 |
]. |
|
1680 |
^ visualIsPseudoColor. |
|
1681 |
! ! |
|
1682 |
||
1683 |
!AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'change & update'! |
|
1684 |
||
1685 |
monitorSelectionChanged |
|
1686 |
||
1687 |
| sel sizeInfoEntry sizes| |
|
1688 |
||
1689 |
sel := self monitorSelection value. |
|
1690 |
(sel notNil and:[sel ~~ 0]) ifTrue:[ |
|
1691 |
sizeInfoEntry := sizeInfos at:sel. |
|
1692 |
sizes := sizeInfoEntry at:2. |
|
1693 |
self sizeX value:(sizes at:1). |
|
1694 |
self sizeY value:(sizes at:2). |
|
1695 |
]. |
|
1696 |
! |
|
1697 |
||
1698 |
sizeXorYChanged |
|
1699 |
| sizes idx| |
|
1700 |
||
1701 |
sizes := sizeInfos collect:[:entry | entry at:2]. |
|
1702 |
idx := sizes findFirst:[:entry | |
|
1703 |
((entry at:1) = sizeX value) |
|
1704 |
and:[((entry at:2) = sizeY value)] |
|
1705 |
]. |
|
1706 |
idx ~~ 0 ifTrue:[ |
|
1707 |
self monitorSelection value:idx |
|
1708 |
]. |
|
1709 |
! |
|
1710 |
||
1711 |
update:something with:aParameter from:changedObject |
|
1712 |
changedObject == self monitorSelection ifTrue:[ |
|
1713 |
self monitorSelectionChanged. |
|
1714 |
^ self. |
|
1715 |
]. |
|
1716 |
(changedObject == self sizeX or:[self sizeY]) ifTrue:[ |
|
1717 |
self sizeXorYChanged. |
|
1718 |
^ self. |
|
1719 |
]. |
|
1720 |
||
1721 |
super update:something with:aParameter from:changedObject |
|
1722 |
! ! |
|
1723 |
||
1724 |
!AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'initialization & release'! |
|
1725 |
||
1726 |
initialize |
|
1727 |
||
1728 |
| listOfSizes visual| |
|
4574 | 1729 |
|
4286 | 1730 |
screen := Screen current. |
4574 | 1731 |
|
1732 |
listOfSizes := self class classResources at:'LIST_OF_OFFERED_SCREEN_SIZES' default:#default. |
|
4286 | 1733 |
listOfSizes == #default ifTrue:[ |
1734 |
"/ nothing in resource file; offer at least some. |
|
1735 |
sizeInfos := #( |
|
1736 |
( '11.3'' (235mm x 175mm) LCD' (235 175) ) |
|
1737 |
( '17'' (325mm x 245mm)' (325 245) ) |
|
1738 |
( '19'' (340mm x 270mm)' (340 270) ) |
|
1739 |
( '20'' (350mm x 280mm)' (350 280) ) |
|
1740 |
( '21'' (365mm x 285mm)' (365 285) ) |
|
1741 |
). |
|
1742 |
] ifFalse:[ |
|
1743 |
sizeInfos := resources array:listOfSizes. |
|
1744 |
]. |
|
1745 |
visual := screen visualType. |
|
1746 |
(visual == #StaticGray or:[visual == #GrayScale]) ifTrue:[ |
|
1747 |
ditherStyles := self class staticGrayOrGrayScaleDitherStrings. |
|
1748 |
ditherSyms := self class staticGrayOrGrayScaleDitherSyms. |
|
1749 |
] ifFalse:[ |
|
1750 |
visual ~~ #TrueColor ifTrue:[ |
|
1751 |
ditherStyles := self class trueColorDitherStrings. |
|
1752 |
ditherSyms := self class trueColorDitherSyms. |
|
1753 |
] |
|
1754 |
]. |
|
4574 | 1755 |
super initialize. |
1756 |
||
4286 | 1757 |
! |
1758 |
||
1759 |
postOpen |
|
1760 |
! |
|
1761 |
||
1762 |
postOpenAsSubcanvasWith:aBuilder |
|
1763 |
||
1764 |
self postOpen. |
|
1765 |
^ super postOpenAsSubcanvasWith:aBuilder |
|
1766 |
! |
|
1767 |
||
1768 |
postOpenWith:aBuilder |
|
1769 |
||
1770 |
self postOpen. |
|
1771 |
^ super postOpenWith:aBuilder |
|
1772 |
! ! |
|
1773 |
||
1774 |
!AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'queries'! |
|
1775 |
||
1776 |
hasUnsavedChanges |
|
1777 |
||
1778 |
^ ( |
|
1779 |
self useFixPalette value ~= screen fixColors notNil or:[ |
|
1780 |
self useFixGrayPalette value ~= screen fixGrayColors notNil or:[ |
|
1781 |
self isColorMonitor value ~= screen hasColors or:[ |
|
1782 |
self sizeX value ~= screen widthInMillimeter or:[ |
|
1783 |
self sizeY value ~= screen heightInMillimeter or:[ |
|
1784 |
||
1785 |
self deepIcons value ~= screen supportsDeepIcons or:[ |
|
1786 |
(ditherSyms notNil and:[ |
|
1787 |
self ditherListSelection value ~= (ditherSyms indexOf:(Image ditherAlgorithm) ifAbsent:#threshold). |
|
1788 |
]) or:[ |
|
1789 |
self clipEncodingListSelection value ~= (self class clipEncodingSyms indexOf:screen clipBoardEncoding ifAbsent:1) |
|
1790 |
]]]]]]] |
|
1791 |
) |
|
1792 |
! ! |
|
1793 |
||
4312 | 1794 |
!AbstractSettingsApplication::EditSettingsAppl class methodsFor:'image specs'! |
1795 |
||
1796 |
defaultIcon |
|
1797 |
"This resource specification was automatically generated |
|
1798 |
by the ImageEditor of ST/X." |
|
1799 |
||
1800 |
"Do not manually edit this!! If it is corrupted, |
|
1801 |
the ImageEditor may not be able to read the specification." |
|
1802 |
||
1803 |
" |
|
1804 |
self defaultIcon inspect |
|
1805 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
1806 |
Icon flushCachedIcons |
|
1807 |
" |
|
1808 |
||
1809 |
<resource: #image> |
|
1810 |
||
1811 |
^Icon |
|
1812 |
constantNamed:#'AbstractSettingsApplication::EditSettingsAppl class defaultIcon' |
|
1813 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
1814 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JB (JB (JB (JB (JB (@@@TE@@@@B (IBP$IBPXIBP$IBP$IAPTE@0@@ |
|
1815 |
@@(JBP$IBP$FBP$IBP$IAPTE@0L@@@@JB $IBP$IA $IBP$IBPTEAPLC@@@@B (FA XFA XFA XFA TE@0LC@0@@@@(JBP$IBP$FBP$IAPTE@0LC@0P@@@@J |
|
1816 |
B $IBP$IA $IAPTE@0LC@0PK@@@@B (IBP$IBPXIBPTEAPLC@0LDB0@@@@(JA XFA XFA TH@0LC@0PD@ @@@@@JB $IBP$I@@ HB@LC@0PB@ @@@@@@B (I |
|
1817 |
BP$IBPXHB@ HB@ K@PD@@@@@@@(JA XFA @HB@ HB@ F@@DA@@@@@@@JB XFA X@B@ HB@ FA @A@P@@@@@@B (IBP$I@P HB@XFA (I@PD@@@@@@@(JBP$I |
|
1818 |
@PHKA XJBP$IBPDA@@@@@@@JB @@@@D@@@@@@@@@@@@A@P@@@@@@B (@@@D@@@@@@@@@@@@@@PD@@@@@@@(JBP$IBP$@BP$IBP$IBPDA@@@@@@HA@PDA@PDA |
|
1819 |
@PDA@PDA@PDA@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[160 160 160 0 0 0 48 48 48 255 128 0 192 88 0 255 168 88 195 195 195 88 88 88 255 220 168 255 255 255 220 220 220 64 0 0]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@G??LG??<G??<G??<G??<G??<G??<G??<G??8G??0G??0G??0G??0G??0G??0G??0G??0G??0O??0@@@@') ; yourself); yourself] |
|
1820 |
! ! |
|
1821 |
||
4286 | 1822 |
!AbstractSettingsApplication::EditSettingsAppl class methodsFor:'interface specs'! |
1823 |
||
1824 |
windowSpec |
|
1825 |
"This resource specification was automatically generated |
|
1826 |
by the UIPainter of ST/X." |
|
1827 |
||
1828 |
"Do not manually edit this!! If it is corrupted, |
|
1829 |
the UIPainter may not be able to read the specification." |
|
1830 |
||
1831 |
" |
|
4310 | 1832 |
UIPainter new openOnClass:AbstractSettingsApplication::EditSettingsAppl andSelector:#windowSpec |
1833 |
AbstractSettingsApplication::EditSettingsAppl new openInterface:#windowSpec |
|
1834 |
AbstractSettingsApplication::EditSettingsAppl open |
|
4286 | 1835 |
" |
1836 |
||
1837 |
<resource: #canvas> |
|
1838 |
||
1839 |
^ |
|
1840 |
#(#FullSpec |
|
1841 |
#name: #windowSpec |
|
1842 |
#window: |
|
1843 |
#(#WindowSpec |
|
4405 | 1844 |
#label: 'Editor Settings' |
1845 |
#name: 'Editor Settings' |
|
4286 | 1846 |
#min: #(#Point 10 10) |
1847 |
#max: #(#Point 1024 768) |
|
4310 | 1848 |
#bounds: #(#Rectangle 16 42 616 362) |
4286 | 1849 |
) |
1850 |
#component: |
|
1851 |
#(#SpecCollection |
|
1852 |
#collection: #( |
|
1853 |
#(#VerticalPanelViewSpec |
|
1854 |
#name: 'VerticalPanel2' |
|
4310 | 1855 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
4286 | 1856 |
#horizontalLayout: #fit |
1857 |
#verticalLayout: #center |
|
1858 |
#horizontalSpace: 3 |
|
1859 |
#verticalSpace: 3 |
|
1860 |
#component: |
|
1861 |
#(#SpecCollection |
|
1862 |
#collection: #( |
|
1863 |
#(#VerticalPanelViewSpec |
|
1864 |
#name: 'VerticalPanel1' |
|
1865 |
#horizontalLayout: #fit |
|
1866 |
#verticalLayout: #top |
|
1867 |
#horizontalSpace: 3 |
|
1868 |
#verticalSpace: 3 |
|
1869 |
#component: |
|
1870 |
#(#SpecCollection |
|
1871 |
#collection: #( |
|
1872 |
#(#CheckBoxSpec |
|
1873 |
#label: 'CTRL-Key to Start TextDrag' |
|
1874 |
#name: 'CTRLKeyStTextDragCheckBox' |
|
1875 |
#model: #startTextDragWithControl |
|
1876 |
#translateLabel: true |
|
1877 |
#extent: #(#Point 600 23) |
|
1878 |
) |
|
1879 |
#(#CheckBoxSpec |
|
1880 |
#label: 'SearchBox is Modal' |
|
1881 |
#name: 'SearchBoxModalCheckBox' |
|
1882 |
#model: #searchDialogIsModal |
|
1883 |
#translateLabel: true |
|
1884 |
#extent: #(#Point 600 23) |
|
1885 |
) |
|
1886 |
#(#CheckBoxSpec |
|
1887 |
#label: 'Tab Stops in Multiples of 4' |
|
1888 |
#name: 'TabStopsMultiples4CheckBox' |
|
1889 |
#model: #tabsIs4 |
|
1890 |
#translateLabel: true |
|
1891 |
#extent: #(#Point 600 23) |
|
1892 |
) |
|
1893 |
#(#CheckBoxSpec |
|
1894 |
#label: 'Double Click Select Behavior as in ST80' |
|
1895 |
#name: 'DoubleClickSelectBehaviorST80CheckBox' |
|
1896 |
#model: #st80DoubleClickSelectMode |
|
1897 |
#translateLabel: true |
|
1898 |
#extent: #(#Point 600 23) |
|
1899 |
) |
|
1900 |
#(#CheckBoxSpec |
|
1901 |
#label: 'Cursor has ST80 Line-end Behavior' |
|
1902 |
#name: 'CursorST80LineEndBehaviorCheckBox' |
|
1903 |
#model: #st80EditingMode |
|
1904 |
#translateLabel: true |
|
1905 |
#extent: #(#Point 600 23) |
|
1906 |
) |
|
1907 |
) |
|
1908 |
||
1909 |
) |
|
4310 | 1910 |
#extent: #(#Point 600 127) |
4286 | 1911 |
) |
1912 |
) |
|
1913 |
||
1914 |
) |
|
1915 |
) |
|
1916 |
) |
|
1917 |
||
1918 |
) |
|
1919 |
) |
|
1920 |
! ! |
|
1921 |
||
1922 |
!AbstractSettingsApplication::EditSettingsAppl methodsFor:'actions'! |
|
1923 |
||
4574 | 1924 |
basicSaveSettings |
1925 |
||
1926 |
UserPreferences current st80EditMode:(self st80EditingMode value). |
|
1927 |
TextView st80SelectMode:(self st80DoubleClickSelectMode value). |
|
1928 |
tabsIs4 value ~~ (ListView userDefaultTabPositions = ListView tab4Positions) ifTrue:[ |
|
1929 |
ListView userDefaultTabPositions:(self tabsIs4 value ifTrue:[ListView tab4Positions] ifFalse:[ListView tab8Positions]). |
|
1930 |
ListView allSubInstancesDo:[:eachKindOfListView | |
|
1931 |
self tabsIs4 value ifTrue:[eachKindOfListView setTab4] ifFalse:[eachKindOfListView setTab8] |
|
1932 |
]. |
|
1933 |
]. |
|
1934 |
UserPreferences current searchDialogIsModal:self searchDialogIsModal value. |
|
1935 |
UserPreferences current startTextDragWithControl:self startTextDragWithControl value. |
|
1936 |
! |
|
1937 |
||
4286 | 1938 |
help |
1939 |
||
1940 |
"/ self warn:'no help available here'. |
|
1941 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/editSettings.html']. |
|
1942 |
! |
|
1943 |
||
4574 | 1944 |
readSettings |
1945 |
self st80EditingMode value:UserPreferences current st80EditMode. |
|
1946 |
self st80DoubleClickSelectMode value:TextView st80SelectMode. |
|
1947 |
self tabsIs4 |
|
1948 |
value:(ListView userDefaultTabPositions = ListView tab4Positions). |
|
1949 |
self searchDialogIsModal |
|
1950 |
value:UserPreferences current searchDialogIsModal. |
|
1951 |
self startTextDragWithControl |
|
1952 |
value:UserPreferences current startTextDragWithControl. |
|
1953 |
self modifiedChannel value:false |
|
4286 | 1954 |
! ! |
1955 |
||
1956 |
!AbstractSettingsApplication::EditSettingsAppl methodsFor:'aspects'! |
|
1957 |
||
1958 |
searchDialogIsModal |
|
1959 |
||
1960 |
searchDialogIsModal isNil ifTrue:[ |
|
1961 |
searchDialogIsModal := true asValue. |
|
1962 |
searchDialogIsModal onChangeSend:#evaluateModified to:self. |
|
1963 |
]. |
|
1964 |
^ searchDialogIsModal. |
|
1965 |
! |
|
1966 |
||
1967 |
st80DoubleClickSelectMode |
|
1968 |
||
1969 |
st80DoubleClickSelectMode isNil ifTrue:[ |
|
1970 |
st80DoubleClickSelectMode := true asValue. |
|
1971 |
st80DoubleClickSelectMode onChangeSend:#evaluateModified to:self. |
|
1972 |
]. |
|
1973 |
^ st80DoubleClickSelectMode. |
|
1974 |
! |
|
1975 |
||
1976 |
st80EditingMode |
|
1977 |
||
1978 |
st80EditingMode isNil ifTrue:[ |
|
1979 |
st80EditingMode := true asValue. |
|
1980 |
st80EditingMode onChangeSend:#evaluateModified to:self. |
|
1981 |
]. |
|
1982 |
^ st80EditingMode. |
|
1983 |
! |
|
1984 |
||
1985 |
startTextDragWithControl |
|
1986 |
||
1987 |
startTextDragWithControl isNil ifTrue:[ |
|
1988 |
startTextDragWithControl := true asValue. |
|
1989 |
startTextDragWithControl onChangeSend:#evaluateModified to:self. |
|
1990 |
]. |
|
1991 |
^ startTextDragWithControl. |
|
1992 |
! |
|
1993 |
||
1994 |
tabsIs4 |
|
1995 |
||
1996 |
tabsIs4 isNil ifTrue:[ |
|
1997 |
tabsIs4 := true asValue. |
|
1998 |
tabsIs4 onChangeSend:#evaluateModified to:self. |
|
1999 |
]. |
|
2000 |
^ tabsIs4. |
|
2001 |
! ! |
|
2002 |
||
2003 |
!AbstractSettingsApplication::EditSettingsAppl methodsFor:'initialization & release'! |
|
2004 |
||
2005 |
postOpen |
|
2006 |
! |
|
2007 |
||
2008 |
postOpenAsSubcanvasWith:aBuilder |
|
2009 |
||
2010 |
self postOpen. |
|
2011 |
^ super postOpenAsSubcanvasWith:aBuilder |
|
2012 |
! |
|
2013 |
||
2014 |
postOpenWith:aBuilder |
|
2015 |
||
2016 |
self postOpen. |
|
2017 |
^ super postOpenWith:aBuilder |
|
2018 |
! ! |
|
2019 |
||
2020 |
!AbstractSettingsApplication::EditSettingsAppl methodsFor:'queries'! |
|
2021 |
||
2022 |
hasUnsavedChanges |
|
2023 |
||
2024 |
^ ( |
|
2025 |
UserPreferences current st80EditMode ~= (self st80EditingMode value) or:[ |
|
2026 |
TextView st80SelectMode ~= (self st80DoubleClickSelectMode value) or:[ |
|
2027 |
(tabsIs4 value ~~ (ListView userDefaultTabPositions = ListView tab4Positions) and:[ |
|
2028 |
ListView userDefaultTabPositions ~= (self tabsIs4 value ifTrue:[ListView tab4Positions] ifFalse:[ListView tab8Positions]) or:[ |
|
2029 |
]]) or:[ |
|
2030 |
UserPreferences current searchDialogIsModal ~= self searchDialogIsModal value or:[ |
|
2031 |
UserPreferences current startTextDragWithControl ~= self startTextDragWithControl value ]]]] |
|
2032 |
) |
|
2033 |
! ! |
|
2034 |
||
2035 |
!AbstractSettingsApplication::FontSettingsAppl class methodsFor:'defaults'! |
|
2036 |
||
2037 |
widgetList |
|
2038 |
||
2039 |
^ #( |
|
2040 |
'All' |
|
2041 |
'Labels' |
|
2042 |
'Buttons' |
|
2043 |
'Lists' |
|
2044 |
'Menus' |
|
2045 |
'Edited Text' |
|
2046 |
) |
|
2047 |
! ! |
|
2048 |
||
4398 | 2049 |
!AbstractSettingsApplication::FontSettingsAppl class methodsFor:'image specs'! |
2050 |
||
2051 |
defaultIcon |
|
2052 |
"This resource specification was automatically generated |
|
2053 |
by the ImageEditor of ST/X." |
|
2054 |
||
2055 |
"Do not manually edit this!! If it is corrupted, |
|
2056 |
the ImageEditor may not be able to read the specification." |
|
2057 |
||
2058 |
" |
|
2059 |
self defaultIcon inspect |
|
2060 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
2061 |
Icon flushCachedIcons |
|
2062 |
" |
|
2063 |
||
2064 |
<resource: #image> |
|
2065 |
||
2066 |
^Icon |
|
2067 |
constantNamed:#'AbstractSettingsApplication::FontSettingsAppl class defaultIcon' |
|
2068 |
ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
2069 |
@@@@@@@@@@@@@@@@@@@@@!!X @@@@@@@!!X @@@6H@@@@@@DP6H@@@Y!!H@@@@@QDY"@@@BY"@@@@ADQBY"@@@FX @@@@@DQCX @@@6H@@@@@QEP6H@@@@ @@@@ |
|
2070 |
ADUDP @C@@@@@@@DQSH@@@L @@@@@@QEL @@@2@@@@@@ADT2@@@CH@@@@@@DQSH@@@L @@@@@@QEL @@@2@@@@@@QDT2@@@CH@@@@@QDQSH@@@@ @@@@@DQE |
|
2071 |
P @@@@@@@@@@@DQ@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 150 150 150 213 213 213 215 48 48 134 54 54 240 240 240]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G @OG0@O''<@O7>@O<?@A>? A?? A??@A<?@A<>@A<>@A<>@A=>@C?>@G<>@C<\@@8D@@H@@@@@@@@@@@@@@') ; yourself); yourself] |
|
2072 |
! |
|
2073 |
||
2074 |
defaultIcon2 |
|
2075 |
"This resource specification was automatically generated |
|
2076 |
by the ImageEditor of ST/X." |
|
2077 |
||
2078 |
"Do not manually edit this!! If it is corrupted, |
|
2079 |
the ImageEditor may not be able to read the specification." |
|
2080 |
||
2081 |
" |
|
2082 |
self defaultIcon2 inspect |
|
2083 |
ImageEditor openOnClass:self andSelector:#defaultIcon2 |
|
2084 |
Icon flushCachedIcons |
|
2085 |
" |
|
2086 |
||
2087 |
<resource: #image> |
|
2088 |
||
2089 |
^Icon |
|
2090 |
constantNamed:#'AbstractSettingsApplication::FontSettingsAppl class defaultIcon2' |
|
2091 |
ifAbsentPut:[(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
2092 |
@@@@@@@@@@@@@@@@@@@@@!!X @@@@@@@!!X @@@6H@@@@@@DP6H@@@Y!!H@@@@@QDY"@@@BY"@@@@ADQBY"@@@FX @@@@@DQCX @@@6H@@@@@QEP6H@@@@ @@@@ |
|
2093 |
ADUDP @C@@@@@@@DQSH@@@L @@@@@@QEL @@@2@@@@@@ADT2@@@CH@@@@@@DQSH@@@L @@@@@@QEL @@@2@@@@@@QDT2@@@CH@@@@@QDQSH@@@@ @@@@@DQE |
|
2094 |
P @@@@@@@@@@@DQ@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 150 150 150 213 213 213 215 48 48 134 54 54 240 240 240]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G @OG0@O''<@O7>@O<?@A>? A?? A??@A<?@A<>@A<>@A<>@A=>@C?>@G<>@C<\@@8D@@H@@@@@@@@@@@@@@') ; yourself); yourself] |
|
2095 |
! ! |
|
2096 |
||
4286 | 2097 |
!AbstractSettingsApplication::FontSettingsAppl class methodsFor:'instance creation'! |
2098 |
||
2099 |
fontForEncoding:encodingMatch |
|
2100 |
||
2101 |
| inst | |
|
2102 |
||
2103 |
inst := self new. |
|
2104 |
inst encodingMatch:encodingMatch. |
|
2105 |
self initialize. |
|
2106 |
self open. |
|
2107 |
! ! |
|
2108 |
||
2109 |
!AbstractSettingsApplication::FontSettingsAppl class methodsFor:'interface specs'! |
|
2110 |
||
2111 |
windowSpec |
|
2112 |
"This resource specification was automatically generated |
|
2113 |
by the UIPainter of ST/X." |
|
2114 |
||
2115 |
"Do not manually edit this!! If it is corrupted, |
|
2116 |
the UIPainter may not be able to read the specification." |
|
2117 |
||
2118 |
" |
|
4310 | 2119 |
UIPainter new openOnClass:AbstractSettingsApplication::FontSettingsAppl andSelector:#windowSpec |
2120 |
AbstractSettingsApplication::FontSettingsAppl new openInterface:#windowSpec |
|
2121 |
AbstractSettingsApplication::FontSettingsAppl open |
|
4286 | 2122 |
" |
2123 |
||
2124 |
<resource: #canvas> |
|
2125 |
||
2126 |
^ |
|
2127 |
#(#FullSpec |
|
2128 |
#name: #windowSpec |
|
2129 |
#window: |
|
2130 |
#(#WindowSpec |
|
2131 |
#label: 'Font Settings' |
|
2132 |
#name: 'Font Settings' |
|
2133 |
#min: #(#Point 10 10) |
|
2134 |
#max: #(#Point 1024 768) |
|
4727 | 2135 |
#bounds: #(#Rectangle 16 46 512 658) |
4286 | 2136 |
) |
2137 |
#component: |
|
2138 |
#(#SpecCollection |
|
2139 |
#collection: #( |
|
4310 | 2140 |
#(#VerticalPanelViewSpec |
2141 |
#name: 'VerticalPanel1' |
|
2142 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
2143 |
#horizontalLayout: #fitSpace |
|
4286 | 2144 |
#verticalLayout: #center |
2145 |
#horizontalSpace: 3 |
|
2146 |
#verticalSpace: 3 |
|
2147 |
#component: |
|
2148 |
#(#SpecCollection |
|
2149 |
#collection: #( |
|
4310 | 2150 |
#(#ViewSpec |
2151 |
#name: 'AllBox' |
|
2152 |
#component: |
|
2153 |
#(#SpecCollection |
|
2154 |
#collection: #( |
|
2155 |
#(#LabelSpec |
|
4574 | 2156 |
#label: 'All (Others)' |
4310 | 2157 |
#name: 'All' |
2158 |
#layout: #(#LayoutFrame 0 0.0 0 0 100 0 20 0) |
|
2159 |
#translateLabel: true |
|
2160 |
#adjust: #left |
|
2161 |
) |
|
2162 |
#(#LabelSpec |
|
2163 |
#label: 'Label' |
|
2164 |
#name: 'AllFont' |
|
2165 |
#layout: #(#LayoutFrame 105 0 22 0 -5 1 44 0) |
|
2166 |
#translateLabel: true |
|
2167 |
#labelChannel: #allFontLabelHolder |
|
2168 |
#adjust: #left |
|
2169 |
#postBuildCallback: #postBuildAllFontLabel: |
|
2170 |
) |
|
2171 |
#(#ActionButtonSpec |
|
2172 |
#label: 'Change ...' |
|
2173 |
#name: 'ChangeAll' |
|
2174 |
#layout: #(#LayoutFrame 0 0.0 22 0 105 0 44 0) |
|
2175 |
#translateLabel: true |
|
2176 |
#model: #changeAllFont |
|
2177 |
) |
|
2178 |
#(#DividerSpec |
|
2179 |
#name: 'Separator1' |
|
2180 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
2181 |
) |
|
2182 |
) |
|
2183 |
||
2184 |
) |
|
2185 |
#extent: #(#Point 490 50) |
|
4286 | 2186 |
) |
4310 | 2187 |
#(#ViewSpec |
2188 |
#name: 'LabelsBox' |
|
4286 | 2189 |
#component: |
2190 |
#(#SpecCollection |
|
2191 |
#collection: #( |
|
4310 | 2192 |
#(#LabelSpec |
2193 |
#label: 'Labels' |
|
2194 |
#name: 'Labels' |
|
2195 |
#layout: #(#LayoutFrame 0 0.0 0 0 100 0 20 0) |
|
2196 |
#translateLabel: true |
|
2197 |
#adjust: #left |
|
2198 |
) |
|
2199 |
#(#LabelSpec |
|
2200 |
#label: 'Labels' |
|
2201 |
#name: 'LabelsFont' |
|
2202 |
#layout: #(#LayoutFrame 105 0 22 0 -5 1 44 0) |
|
2203 |
#translateLabel: true |
|
2204 |
#labelChannel: #labelsFontLabelHolder |
|
2205 |
#adjust: #left |
|
2206 |
#postBuildCallback: #postBuildLabelsFontLabel: |
|
2207 |
) |
|
2208 |
#(#ActionButtonSpec |
|
2209 |
#label: 'Change ...' |
|
2210 |
#name: 'ChangeLabels' |
|
2211 |
#layout: #(#LayoutFrame 0 0.0 22 0 105 0 44 0) |
|
2212 |
#translateLabel: true |
|
2213 |
#model: #changeLabelsFont |
|
2214 |
) |
|
2215 |
#(#DividerSpec |
|
2216 |
#name: 'Separator6' |
|
2217 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
2218 |
) |
|
2219 |
) |
|
2220 |
||
2221 |
) |
|
2222 |
#extent: #(#Point 490 50) |
|
2223 |
) |
|
2224 |
#(#ViewSpec |
|
2225 |
#name: 'ButtonsBox' |
|
2226 |
#component: |
|
2227 |
#(#SpecCollection |
|
2228 |
#collection: #( |
|
2229 |
#(#LabelSpec |
|
2230 |
#label: 'Buttons' |
|
2231 |
#name: 'Buttons' |
|
2232 |
#layout: #(#LayoutFrame 0 0.0 0 0 100 0 20 0) |
|
2233 |
#translateLabel: true |
|
2234 |
#adjust: #left |
|
2235 |
) |
|
2236 |
#(#LabelSpec |
|
2237 |
#label: 'Buttons Font' |
|
2238 |
#name: 'ButtonsFont' |
|
2239 |
#layout: #(#LayoutFrame 105 0 22 0 -5 1 44 0) |
|
2240 |
#translateLabel: true |
|
2241 |
#labelChannel: #buttonsFontLabelHolder |
|
2242 |
#adjust: #left |
|
2243 |
#postBuildCallback: #postBuildButtonsFontLabel: |
|
2244 |
) |
|
2245 |
#(#ActionButtonSpec |
|
2246 |
#label: 'Change ...' |
|
2247 |
#name: 'Change Buttons' |
|
2248 |
#layout: #(#LayoutFrame 0 0.0 22 0 105 0 44 0) |
|
2249 |
#translateLabel: true |
|
2250 |
#model: #changeButtonsFont |
|
2251 |
) |
|
2252 |
#(#DividerSpec |
|
2253 |
#name: 'Separator7' |
|
2254 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
4286 | 2255 |
) |
2256 |
) |
|
2257 |
||
2258 |
) |
|
4310 | 2259 |
#extent: #(#Point 490 50) |
2260 |
) |
|
2261 |
#(#ViewSpec |
|
2262 |
#name: 'ListsBox' |
|
2263 |
#component: |
|
2264 |
#(#SpecCollection |
|
2265 |
#collection: #( |
|
2266 |
#(#LabelSpec |
|
2267 |
#label: 'Lists' |
|
2268 |
#name: 'Lists' |
|
2269 |
#layout: #(#LayoutFrame 0 0.0 0 0 100 0 20 0) |
|
2270 |
#translateLabel: true |
|
2271 |
#adjust: #left |
|
2272 |
) |
|
2273 |
#(#LabelSpec |
|
2274 |
#label: 'Lists Font' |
|
2275 |
#name: 'ListsFont' |
|
2276 |
#layout: #(#LayoutFrame 105 0 22 0 -5 1 44 0) |
|
2277 |
#translateLabel: true |
|
2278 |
#labelChannel: #listsFontLabelHolder |
|
2279 |
#adjust: #left |
|
2280 |
#postBuildCallback: #postBuildListsFontLabel: |
|
2281 |
) |
|
2282 |
#(#ActionButtonSpec |
|
2283 |
#label: 'Change ...' |
|
2284 |
#name: 'ChangeLists' |
|
2285 |
#layout: #(#LayoutFrame 0 0.0 22 0 105 0 44 0) |
|
2286 |
#translateLabel: true |
|
2287 |
#model: #changeListsFont |
|
2288 |
) |
|
2289 |
#(#DividerSpec |
|
2290 |
#name: 'Separator8' |
|
2291 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
2292 |
) |
|
2293 |
) |
|
2294 |
||
2295 |
) |
|
2296 |
#extent: #(#Point 490 50) |
|
4286 | 2297 |
) |
4310 | 2298 |
#(#ViewSpec |
2299 |
#name: 'MenusBox' |
|
2300 |
#component: |
|
2301 |
#(#SpecCollection |
|
2302 |
#collection: #( |
|
2303 |
#(#LabelSpec |
|
2304 |
#label: 'Menus' |
|
2305 |
#name: 'Menus' |
|
2306 |
#layout: #(#LayoutFrame 0 0.0 0 0 100 0 20 0) |
|
2307 |
#translateLabel: true |
|
2308 |
#adjust: #left |
|
2309 |
) |
|
2310 |
#(#LabelSpec |
|
2311 |
#label: 'Menus Font' |
|
2312 |
#name: 'MenusFont' |
|
2313 |
#layout: #(#LayoutFrame 105 0 22 0 -5 1 44 0) |
|
2314 |
#translateLabel: true |
|
2315 |
#labelChannel: #menusFontLabelHolder |
|
2316 |
#adjust: #left |
|
2317 |
#postBuildCallback: #postBuildMenuesFontLabel: |
|
2318 |
) |
|
2319 |
#(#ActionButtonSpec |
|
2320 |
#label: 'Change ...' |
|
2321 |
#name: 'ChangeMenus' |
|
2322 |
#layout: #(#LayoutFrame 0 0.0 22 0 105 0 44 0) |
|
2323 |
#translateLabel: true |
|
2324 |
#model: #changeMenusFont |
|
2325 |
) |
|
2326 |
#(#DividerSpec |
|
2327 |
#name: 'Separator9' |
|
2328 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
2329 |
) |
|
2330 |
) |
|
2331 |
||
2332 |
) |
|
2333 |
#extent: #(#Point 490 50) |
|
2334 |
) |
|
2335 |
#(#ViewSpec |
|
2336 |
#name: 'TextBox' |
|
2337 |
#component: |
|
2338 |
#(#SpecCollection |
|
2339 |
#collection: #( |
|
2340 |
#(#LabelSpec |
|
2341 |
#label: 'Text' |
|
2342 |
#name: 'Text' |
|
2343 |
#layout: #(#LayoutFrame 0 0.0 0 0 100 0 20 0) |
|
2344 |
#translateLabel: true |
|
2345 |
#adjust: #left |
|
2346 |
) |
|
2347 |
#(#LabelSpec |
|
2348 |
#label: 'Text Font' |
|
2349 |
#name: 'TextFont' |
|
2350 |
#layout: #(#LayoutFrame 105 0 22 0 -5 1 44 0) |
|
2351 |
#translateLabel: true |
|
2352 |
#labelChannel: #textFontLabelHolder |
|
2353 |
#adjust: #left |
|
2354 |
#postBuildCallback: #postBuildTextFontLabel: |
|
2355 |
) |
|
2356 |
#(#ActionButtonSpec |
|
2357 |
#label: 'Change ...' |
|
2358 |
#name: 'ChangeText' |
|
2359 |
#layout: #(#LayoutFrame 0 0.0 22 0 105 0 44 0) |
|
2360 |
#translateLabel: true |
|
2361 |
#model: #changeTextFont |
|
2362 |
) |
|
2363 |
#(#DividerSpec |
|
2364 |
#name: 'Separator10' |
|
2365 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
2366 |
) |
|
2367 |
) |
|
2368 |
||
2369 |
) |
|
2370 |
#extent: #(#Point 490 50) |
|
4286 | 2371 |
) |
2372 |
) |
|
2373 |
||
2374 |
) |
|
2375 |
) |
|
2376 |
) |
|
2377 |
||
2378 |
) |
|
2379 |
) |
|
2380 |
! ! |
|
2381 |
||
2382 |
!AbstractSettingsApplication::FontSettingsAppl methodsFor:'accessing'! |
|
2383 |
||
2384 |
encodingMatch:aEncodingMatch |
|
2385 |
||
2386 |
aEncodingMatch notNil ifTrue:[ |
|
2387 |
filter := [:f | f encoding notNil |
|
2388 |
and:[aEncodingMatch match:f encoding]]. |
|
2389 |
]. |
|
2390 |
! ! |
|
2391 |
||
2392 |
!AbstractSettingsApplication::FontSettingsAppl methodsFor:'actions'! |
|
2393 |
||
4574 | 2394 |
basicSaveSettings |
2395 |
||
2396 |
Label defaultFont:self labelDef value. |
|
2397 |
Button defaultFont:self buttonDef value. |
|
2398 |
Toggle defaultFont:self buttonDef value. |
|
2399 |
TextView withAllSubclasses do:[:cls | cls defaultFont:self textDef value]. |
|
2400 |
SelectionInListView withAllSubclasses do:[:cls | cls defaultFont:self listDef value]. |
|
2401 |
MenuView defaultFont:self menuDef value. |
|
2402 |
PullDownMenu defaultFont:self menuDef value. |
|
2403 |
! |
|
2404 |
||
4286 | 2405 |
changeAllFont |
2406 |
|f| |
|
2407 |
||
2408 |
f := FontPanel |
|
2409 |
fontFromUserInitial:(self allOfThem value) |
|
2410 |
title:(resources string:'Font for %1' with:'All') |
|
2411 |
filter:filter. |
|
2412 |
f notNil ifTrue:[ |
|
4658 | 2413 |
self allOfThem value:(f onDevice:allLabel device). |
2414 |
self labelDef value:(f onDevice:labelLabel device). |
|
2415 |
self buttonDef value:(f onDevice:buttonsLabel device). |
|
2416 |
self listDef value:(f onDevice:listsLabel device). |
|
2417 |
self menuDef value:(f onDevice:menuLabel device). |
|
2418 |
self textDef value:(f onDevice:textLabel device). |
|
4286 | 2419 |
] |
2420 |
! |
|
2421 |
||
2422 |
changeButtonsFont |
|
2423 |
||
2424 |
|f| |
|
2425 |
||
2426 |
f := FontPanel |
|
4658 | 2427 |
fontFromUserInitial:(self buttonDef value) |
4286 | 2428 |
title:(resources string:'Font for %1' with:'All') |
2429 |
filter:filter. |
|
2430 |
f notNil ifTrue:[ |
|
4658 | 2431 |
self buttonDef value:(f onDevice:buttonsLabel device). |
4286 | 2432 |
] |
2433 |
! |
|
2434 |
||
2435 |
changeLabelsFont |
|
4398 | 2436 |
|f | |
4286 | 2437 |
|
2438 |
f := FontPanel |
|
2439 |
fontFromUserInitial:(self labelDef value) |
|
2440 |
title:(resources string:'Font for %1' with:'Labels') |
|
2441 |
filter:filter. |
|
2442 |
f notNil ifTrue:[ |
|
4658 | 2443 |
self labelDef value:(f onDevice:labelLabel device). |
4398 | 2444 |
]. |
4286 | 2445 |
! |
2446 |
||
2447 |
changeListsFont |
|
2448 |
|f| |
|
2449 |
||
2450 |
f := FontPanel |
|
2451 |
fontFromUserInitial:(self listDef value) |
|
2452 |
title:(resources string:'Font for %1' with:'Lists') |
|
2453 |
filter:filter. |
|
2454 |
f notNil ifTrue:[ |
|
4658 | 2455 |
self listDef value:(f onDevice:listsLabel device). |
4286 | 2456 |
] |
2457 |
! |
|
2458 |
||
2459 |
changeMenusFont |
|
2460 |
|f| |
|
2461 |
||
2462 |
f := FontPanel |
|
2463 |
fontFromUserInitial:(self menuDef value) |
|
2464 |
title:(resources string:'Font for %1' with:'Menus') |
|
2465 |
filter:filter. |
|
2466 |
f notNil ifTrue:[ |
|
4658 | 2467 |
self menuDef value:(f onDevice:menuLabel device). |
4286 | 2468 |
] |
2469 |
! |
|
2470 |
||
2471 |
changeTextFont |
|
2472 |
|f| |
|
2473 |
||
2474 |
f := FontPanel |
|
2475 |
fontFromUserInitial:(self textDef value) |
|
2476 |
title:(resources string:'Font for %1' with:'Edited Text') |
|
2477 |
filter:filter. |
|
2478 |
f notNil ifTrue:[ |
|
4658 | 2479 |
self textDef value:(f onDevice:textLabel device). |
4286 | 2480 |
] |
2481 |
! |
|
2482 |
||
2483 |
help |
|
2484 |
||
2485 |
self warn:'no help available here'. |
|
2486 |
"/ self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/keyboardSetting.html']. |
|
2487 |
! |
|
2488 |
||
4574 | 2489 |
readSettings |
4286 | 2490 |
View readStyleSheetAndUpdateAllStyleCaches. |
2491 |
self labelDef value:Label defaultFont. |
|
2492 |
self buttonDef value:Button defaultFont. |
|
2493 |
self listDef value:SelectionInListView defaultFont. |
|
2494 |
self menuDef value:MenuView defaultFont. |
|
2495 |
self textDef value:TextView defaultFont. |
|
4574 | 2496 |
self modifiedChannel value:false |
4286 | 2497 |
! ! |
2498 |
||
2499 |
!AbstractSettingsApplication::FontSettingsAppl methodsFor:'aspects'! |
|
2500 |
||
2501 |
allFontLabelHolder |
|
2502 |
||
2503 |
allFontLabelHolder isNil ifTrue:[ |
|
2504 |
allFontLabelHolder := '' asValue. |
|
2505 |
]. |
|
2506 |
^ allFontLabelHolder. |
|
2507 |
! |
|
2508 |
||
2509 |
allOfThem |
|
2510 |
"return/create the 'allOfThem' value holder (automatically generated)" |
|
2511 |
||
2512 |
allOfThem isNil ifTrue:[ |
|
2513 |
allOfThem := ValueHolder new. |
|
2514 |
allOfThem addDependent:self. |
|
2515 |
]. |
|
2516 |
^ allOfThem |
|
2517 |
! |
|
2518 |
||
2519 |
buttonDef |
|
2520 |
"return/create the 'buttonDef' value holder (automatically generated)" |
|
2521 |
||
2522 |
buttonDef isNil ifTrue:[ |
|
2523 |
buttonDef := ValueHolder new. |
|
2524 |
buttonDef addDependent:self. |
|
2525 |
]. |
|
2526 |
^ buttonDef |
|
2527 |
! |
|
2528 |
||
2529 |
buttonsFontLabelHolder |
|
2530 |
||
2531 |
buttonsFontLabelHolder isNil ifTrue:[ |
|
4658 | 2532 |
buttonsFontLabelHolder := '' asValue. |
4286 | 2533 |
]. |
2534 |
^ buttonsFontLabelHolder. |
|
2535 |
! |
|
2536 |
||
2537 |
labelDef |
|
2538 |
"return/create the 'labelDef' value holder (automatically generated)" |
|
2539 |
||
2540 |
labelDef isNil ifTrue:[ |
|
2541 |
labelDef := ValueHolder new. |
|
2542 |
labelDef addDependent:self. |
|
2543 |
]. |
|
2544 |
^ labelDef |
|
2545 |
! |
|
2546 |
||
2547 |
labelsFontLabelHolder |
|
2548 |
||
2549 |
labelsFontLabelHolder isNil ifTrue:[ |
|
4658 | 2550 |
labelsFontLabelHolder := '' asValue. |
4286 | 2551 |
]. |
2552 |
^ labelsFontLabelHolder. |
|
2553 |
! |
|
2554 |
||
2555 |
listDef |
|
2556 |
"return/create the 'listDef' value holder (automatically generated)" |
|
2557 |
||
2558 |
listDef isNil ifTrue:[ |
|
2559 |
listDef := ValueHolder new. |
|
2560 |
listDef addDependent:self. |
|
2561 |
]. |
|
2562 |
^ listDef |
|
2563 |
! |
|
2564 |
||
2565 |
listsFontLabelHolder |
|
2566 |
||
2567 |
listsFontLabelHolder isNil ifTrue:[ |
|
4658 | 2568 |
listsFontLabelHolder := '' asValue. |
4286 | 2569 |
]. |
2570 |
^ listsFontLabelHolder. |
|
2571 |
! |
|
2572 |
||
2573 |
menuDef |
|
2574 |
"return/create the 'menuDef' value holder (automatically generated)" |
|
2575 |
||
2576 |
menuDef isNil ifTrue:[ |
|
2577 |
menuDef := ValueHolder new. |
|
2578 |
menuDef addDependent:self. |
|
2579 |
]. |
|
2580 |
^ menuDef |
|
2581 |
! |
|
2582 |
||
2583 |
menusFontLabelHolder |
|
2584 |
||
2585 |
menusFontLabelHolder isNil ifTrue:[ |
|
4658 | 2586 |
menusFontLabelHolder := '' asValue. |
4286 | 2587 |
]. |
2588 |
^ menusFontLabelHolder. |
|
2589 |
! |
|
2590 |
||
2591 |
textDef |
|
2592 |
"return/create the 'textDef' value holder (automatically generated)" |
|
2593 |
||
2594 |
textDef isNil ifTrue:[ |
|
2595 |
textDef := ValueHolder new. |
|
2596 |
textDef addDependent:self. |
|
2597 |
]. |
|
2598 |
^ textDef |
|
2599 |
! |
|
2600 |
||
2601 |
textFontLabelHolder |
|
2602 |
||
2603 |
textFontLabelHolder isNil ifTrue:[ |
|
4658 | 2604 |
textFontLabelHolder := '' asValue. |
4286 | 2605 |
]. |
2606 |
^ textFontLabelHolder. |
|
2607 |
! ! |
|
2608 |
||
2609 |
!AbstractSettingsApplication::FontSettingsAppl methodsFor:'change & update'! |
|
2610 |
||
2611 |
update:something with:aParameter from:changedObject |
|
4574 | 2612 |
builder notNil ifTrue:[ |
2613 |
changedObject == self allOfThem ifTrue:[ |
|
2614 |
self updateFontOfLabel:allLabel andFontNameHolder:(self allFontLabelHolder) from:changedObject. |
|
2615 |
^ self. |
|
2616 |
]. |
|
2617 |
changedObject == self labelDef ifTrue:[ |
|
2618 |
self updateFontOfLabel:labelLabel andFontNameHolder:(self labelsFontLabelHolder) from:changedObject. |
|
2619 |
^ self. |
|
4286 | 2620 |
]. |
4574 | 2621 |
changedObject == self buttonDef ifTrue:[ |
2622 |
self updateFontOfLabel:buttonsLabel andFontNameHolder:(self buttonsFontLabelHolder) from:changedObject. |
|
2623 |
^ self. |
|
2624 |
]. |
|
2625 |
changedObject == self listDef ifTrue:[ |
|
2626 |
self updateFontOfLabel:listsLabel andFontNameHolder:(self listsFontLabelHolder) from:changedObject. |
|
2627 |
^ self. |
|
4286 | 2628 |
]. |
4574 | 2629 |
changedObject == self menuDef ifTrue:[ |
2630 |
self updateFontOfLabel:menuLabel andFontNameHolder:(self menusFontLabelHolder) from:changedObject. |
|
2631 |
^ self. |
|
2632 |
]. |
|
2633 |
changedObject == self textDef ifTrue:[ |
|
2634 |
self updateFontOfLabel:textLabel andFontNameHolder:(self textFontLabelHolder) from:changedObject. |
|
2635 |
^ self. |
|
4286 | 2636 |
]. |
4574 | 2637 |
]. |
4286 | 2638 |
super update:something with:aParameter from:changedObject |
4574 | 2639 |
! |
2640 |
||
2641 |
updateAllFontLabels |
|
2642 |
self update:#value with:nil from:self allOfThem. |
|
2643 |
self update:#value with:nil from:self labelDef. |
|
2644 |
self update:#value with:nil from:self buttonDef. |
|
2645 |
self update:#value with:nil from:self listDef. |
|
2646 |
self update:#value with:nil from:self menuDef. |
|
2647 |
self update:#value with:nil from:self textDef. |
|
2648 |
! |
|
2649 |
||
2650 |
updateFontOfLabel:labelWidget andFontNameHolder:fontNameHolder from:changedObject |
|
2651 |
| f label| |
|
2652 |
||
2653 |
f := changedObject value. |
|
2654 |
||
2655 |
labelWidget font:f. |
|
2656 |
label := f isNil ifTrue:[ |
|
2657 |
'' |
|
2658 |
] ifFalse:[ |
|
2659 |
f userFriendlyName |
|
2660 |
]. |
|
2661 |
fontNameHolder value:label. |
|
2662 |
self evaluateModified. |
|
4286 | 2663 |
! ! |
2664 |
||
2665 |
!AbstractSettingsApplication::FontSettingsAppl methodsFor:'initialization & release'! |
|
2666 |
||
2667 |
postBuildAllFontLabel:aWidget |
|
2668 |
||
2669 |
allLabel := aWidget. |
|
2670 |
! |
|
2671 |
||
2672 |
postBuildButtonsFontLabel:aWidget |
|
2673 |
||
2674 |
buttonsLabel := aWidget. |
|
2675 |
! |
|
2676 |
||
2677 |
postBuildLabelsFontLabel:aWidget |
|
2678 |
||
2679 |
labelLabel := aWidget. |
|
2680 |
! |
|
2681 |
||
2682 |
postBuildListsFontLabel:aWidget |
|
2683 |
||
2684 |
listsLabel := aWidget. |
|
2685 |
! |
|
2686 |
||
2687 |
postBuildMenuesFontLabel:aWidget |
|
2688 |
||
2689 |
menuLabel := aWidget. |
|
2690 |
! |
|
2691 |
||
2692 |
postBuildTextFontLabel:aWidget |
|
2693 |
||
2694 |
textLabel := aWidget. |
|
2695 |
! |
|
2696 |
||
4574 | 2697 |
postBuildWith:aBuilder |
2698 |
"/ self readSettings. |
|
2699 |
self updateAllFontLabels. |
|
4438 | 2700 |
super postBuildWith:aBuilder |
4286 | 2701 |
! ! |
2702 |
||
2703 |
!AbstractSettingsApplication::FontSettingsAppl methodsFor:'queries'! |
|
2704 |
||
2705 |
hasUnsavedChanges |
|
2706 |
||
2707 |
^ (self labelDef value ~= Label defaultFont) or:[ |
|
2708 |
self buttonDef value ~= Button defaultFont or:[ |
|
2709 |
self listDef value ~= SelectionInListView defaultFont or:[ |
|
2710 |
self menuDef value ~= MenuView defaultFont or:[ |
|
2711 |
self textDef value ~= TextView defaultFont ]]]] |
|
2712 |
! ! |
|
2713 |
||
4387 | 2714 |
!AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'defaults'! |
2715 |
||
2716 |
keepSourceOptions |
|
2717 |
||
2718 |
^ #( keep reference absReference sourceReference discard ) |
|
2719 |
! |
|
2720 |
||
2721 |
keepSourceStrings |
|
2722 |
||
2723 |
^ #('Keep as String' 'Reference to Filename' 'Reference to Full Path' 'Append and Ref in `st.src''' 'Discard' ) |
|
2724 |
! ! |
|
2725 |
||
2726 |
!AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'image specs'! |
|
2727 |
||
2728 |
defaultIcon |
|
2729 |
"This resource specification was automatically generated |
|
2730 |
by the ImageEditor of ST/X." |
|
2731 |
||
2732 |
"Do not manually edit this!! If it is corrupted, |
|
2733 |
the ImageEditor may not be able to read the specification." |
|
2734 |
||
2735 |
" |
|
2736 |
self defaultIcon inspect |
|
2737 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
2738 |
Icon flushCachedIcons |
|
2739 |
" |
|
2740 |
||
2741 |
<resource: #image> |
|
2742 |
||
2743 |
^Icon |
|
2744 |
constantNamed:#'AbstractSettingsApplication::GeneralCompilerSettingsAppl class defaultIcon' |
|
2745 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
2746 |
@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@H@ |
|
2747 |
@@DA@PD@@PDA@@DA@PD@@PDA@@@B@@@A@PDA@@DA@P@A@PDA@@DA@P@@@ @@@P@@@P@A@@D@@P@@@P@A@@D@@@H@@@DA@PD@@PDA@@DA@PD@@PDA@@@B@@@@ |
|
4495 | 2748 |
@@@@@@@@@@@@@@@@@@@@@@@@@ @@@PDA@PDA@PDA@PDA@PDA@PD@@@H@@@DA@P@@@@@A@PD@@@@A@PDA@@@B@@@A@PD@@PDA@@D@@PDA@@DA@P@@@ @@@PDA |
2749 |
@@DA@P@A@@DA@PDA@PD@@@H@@@DA@P@@@@@A@P@A@PDA@PDA@@@B@@@A@PD@@PDA@@D@@PDA@PDA@P@@@ @@@PDA@@DA@P@A@@DA@P@A@PD@@@H@@@DA@P@@ |
|
2750 |
@@@A@PD@@@@A@PDA@@@B@@@A@PDA@PDA@PDA@PDA@PDA@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
4387 | 2751 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8@@@@@@@@@@@@') ; yourself); yourself] |
2752 |
! ! |
|
2753 |
||
2754 |
!AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'interface specs'! |
|
2755 |
||
2756 |
windowSpec |
|
2757 |
"This resource specification was automatically generated |
|
2758 |
by the UIPainter of ST/X." |
|
2759 |
||
2760 |
"Do not manually edit this!! If it is corrupted, |
|
2761 |
the UIPainter may not be able to read the specification." |
|
2762 |
||
2763 |
" |
|
2764 |
UIPainter new openOnClass:AbstractSettingsApplication::GeneralCompilerSettingsAppl andSelector:#windowSpec |
|
2765 |
AbstractSettingsApplication::GeneralCompilerSettingsAppl new openInterface:#windowSpec |
|
2766 |
AbstractSettingsApplication::GeneralCompilerSettingsAppl open |
|
2767 |
" |
|
2768 |
||
2769 |
<resource: #canvas> |
|
2770 |
||
2771 |
^ |
|
2772 |
#(#FullSpec |
|
2773 |
#name: #windowSpec |
|
2774 |
#window: |
|
2775 |
#(#WindowSpec |
|
2776 |
#label: 'General Compiler Settings' |
|
2777 |
#name: 'General Compiler Settings' |
|
2778 |
#min: #(#Point 10 10) |
|
2779 |
#max: #(#Point 1024 768) |
|
2780 |
#bounds: #(#Rectangle 16 42 616 362) |
|
2781 |
) |
|
2782 |
#component: |
|
2783 |
#(#SpecCollection |
|
2784 |
#collection: #( |
|
2785 |
#(#VerticalPanelViewSpec |
|
2786 |
#name: 'VerticalPanel2' |
|
2787 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
2788 |
#horizontalLayout: #fit |
|
2789 |
#verticalLayout: #center |
|
2790 |
#horizontalSpace: 3 |
|
2791 |
#verticalSpace: 3 |
|
2792 |
#component: |
|
2793 |
#(#SpecCollection |
|
2794 |
#collection: #( |
|
2795 |
#(#CheckBoxSpec |
|
2796 |
#label: 'Catch Method Redefinitions' |
|
2797 |
#name: 'CatchMethodRedefinitions' |
|
2798 |
#model: #catchMethodRedefs |
|
2799 |
#translateLabel: true |
|
2800 |
#extent: #(#Point 600 25) |
|
2801 |
) |
|
2802 |
#(#CheckBoxSpec |
|
2803 |
#label: 'Catch Class Redefinitions' |
|
2804 |
#name: 'CatchClassRedefinitions' |
|
2805 |
#model: #catchClassRedefs |
|
2806 |
#translateLabel: true |
|
2807 |
#extent: #(#Point 600 25) |
|
2808 |
) |
|
2809 |
#(#CheckBoxSpec |
|
2810 |
#label: 'Keep History Line in Methods' |
|
2811 |
#name: 'KeepHistoryLineinMethods' |
|
2812 |
#model: #historyLines |
|
2813 |
#translateLabel: true |
|
2814 |
#extent: #(#Point 600 25) |
|
2815 |
) |
|
2816 |
#(#CheckBoxSpec |
|
2817 |
#label: 'Keep Full Class History' |
|
2818 |
#name: 'KeepFullClassHistory' |
|
2819 |
#enableChannel: #hasHistoryManager |
|
2820 |
#model: #fullHistoryUpdate |
|
2821 |
#translateLabel: true |
|
2822 |
#extent: #(#Point 600 25) |
|
2823 |
) |
|
2824 |
#(#ViewSpec |
|
2825 |
#name: 'Box1' |
|
2826 |
#component: |
|
2827 |
#(#SpecCollection |
|
2828 |
#collection: #( |
|
2829 |
#(#PopUpListSpec |
|
2830 |
#label: 'PopUp List' |
|
2831 |
#name: 'KeepSourceSelection' |
|
2832 |
#layout: #(#LayoutFrame 200 0 0 0 -5 1 22 0) |
|
2833 |
#tabable: true |
|
2834 |
#model: #keepSourceSelection |
|
2835 |
#menu: #keepSource |
|
2836 |
#useIndex: true |
|
2837 |
) |
|
2838 |
#(#LabelSpec |
|
2839 |
#label: 'FileIn Source Mode:' |
|
2840 |
#name: 'FileInSourceModeLabel' |
|
2841 |
#layout: #(#LayoutFrame 0 0 0 0 200 0 22 0) |
|
2842 |
#translateLabel: true |
|
2843 |
#adjust: #right |
|
2844 |
) |
|
2845 |
) |
|
2846 |
||
2847 |
) |
|
2848 |
#extent: #(#Point 600 30) |
|
2849 |
) |
|
2850 |
#(#DividerSpec |
|
2851 |
#name: 'Separator1' |
|
2852 |
#extent: #(#Point 600 3) |
|
2853 |
) |
|
2854 |
#(#CheckBoxSpec |
|
2855 |
#label: 'If Present, Load Binary Objects when Autoloading' |
|
2856 |
#name: 'LoadBinaryObjectsWhenAutoloading' |
|
2857 |
#enableChannel: #canLoadBinaries |
|
2858 |
#model: #loadBinaries |
|
2859 |
#translateLabel: true |
|
2860 |
#extent: #(#Point 600 25) |
|
2861 |
) |
|
2862 |
) |
|
2863 |
||
2864 |
) |
|
2865 |
) |
|
2866 |
) |
|
2867 |
||
2868 |
) |
|
2869 |
) |
|
2870 |
! ! |
|
2871 |
||
2872 |
!AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'actions'! |
|
2873 |
||
4574 | 2874 |
basicSaveSettings |
2875 |
||
2876 |
ClassCategoryReader sourceMode:(self class keepSourceOptions at:self keepSourceSelection value). |
|
2877 |
Class catchClassRedefinitions:self catchClassRedefs value. |
|
2878 |
Class catchMethodRedefinitions:self catchMethodRedefs value. |
|
2879 |
HistoryManager notNil ifTrue:[ |
|
2880 |
HistoryManager fullHistoryUpdate:self fullHistoryUpdate value. |
|
2881 |
self historyLines value ifTrue:[ |
|
2882 |
HistoryManager activate |
|
2883 |
] ifFalse:[ |
|
2884 |
HistoryManager deactivate |
|
2885 |
]. |
|
2886 |
]. |
|
2887 |
Smalltalk loadBinaries:self loadBinaries value. |
|
2888 |
! |
|
2889 |
||
4387 | 2890 |
help |
2891 |
||
2892 |
"/ self warn:'no help available here'. |
|
2893 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/compilerSettings.html']. |
|
2894 |
! |
|
2895 |
||
4574 | 2896 |
readSettings |
2897 |
self keepSourceSelection value:(self class keepSourceOptions |
|
2898 |
indexOf:ClassCategoryReader sourceMode |
|
2899 |
ifAbsent:1). |
|
4387 | 2900 |
self catchClassRedefs value:(Class catchClassRedefinitions ? false). |
2901 |
self catchMethodRedefs value:(Class catchMethodRedefinitions ? false). |
|
4574 | 2902 |
self canLoadBinaries ifTrue:[ |
2903 |
self loadBinaries value:Smalltalk loadBinaries |
|
4387 | 2904 |
] ifFalse:[ |
2905 |
self loadBinaries value:false |
|
2906 |
]. |
|
2907 |
self hasHistoryManager ifTrue:[ |
|
4574 | 2908 |
self fullHistoryUpdate value:(HistoryManager fullHistoryUpdate ? false) |
4387 | 2909 |
] ifFalse:[ |
4574 | 2910 |
self fullHistoryUpdate value:false |
4387 | 2911 |
]. |
2912 |
self historyLines value:self hasHistoryManager. |
|
4574 | 2913 |
self modifiedChannel value:false |
4387 | 2914 |
! ! |
2915 |
||
2916 |
!AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'aspects'! |
|
2917 |
||
2918 |
canLoadBinaries |
|
2919 |
||
2920 |
canLoadBinaries isNil ifTrue:[ |
|
2921 |
canLoadBinaries := (ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]) asValue. |
|
2922 |
]. |
|
2923 |
^ canLoadBinaries. |
|
2924 |
! |
|
2925 |
||
2926 |
catchClassRedefs |
|
2927 |
||
2928 |
catchClassRedefs isNil ifTrue:[ |
|
2929 |
catchClassRedefs := (Class catchClassRedefinitions ? false) asValue. |
|
2930 |
catchClassRedefs onChangeSend:#evaluateModified to:self. |
|
2931 |
]. |
|
2932 |
^ catchClassRedefs. |
|
2933 |
! |
|
2934 |
||
2935 |
catchMethodRedefs |
|
2936 |
||
2937 |
catchMethodRedefs isNil ifTrue:[ |
|
2938 |
catchMethodRedefs := (Class catchMethodRedefinitions ? false) asValue. |
|
2939 |
catchMethodRedefs onChangeSend:#evaluateModified to:self. |
|
2940 |
]. |
|
2941 |
^ catchMethodRedefs. |
|
2942 |
! |
|
2943 |
||
2944 |
fullHistoryUpdate |
|
2945 |
||
2946 |
fullHistoryUpdate isNil ifTrue:[ |
|
2947 |
self hasHistoryManager ifTrue:[ |
|
2948 |
fullHistoryUpdate := (HistoryManager fullHistoryUpdate ? false) asValue. |
|
2949 |
] ifFalse:[ |
|
2950 |
fullHistoryUpdate := false asValue. |
|
2951 |
]. |
|
2952 |
fullHistoryUpdate onChangeSend:#evaluateModified to:self. |
|
2953 |
]. |
|
2954 |
^ fullHistoryUpdate. |
|
2955 |
! |
|
2956 |
||
2957 |
hasHistoryManager |
|
2958 |
||
2959 |
^ HistoryManager notNil and:[HistoryManager isLoaded and:[HistoryManager isActive]] |
|
2960 |
! |
|
2961 |
||
2962 |
historyLines |
|
2963 |
||
2964 |
historyLines isNil ifTrue:[ |
|
2965 |
historyLines := self hasHistoryManager asValue. |
|
2966 |
historyLines onChangeSend:#evaluateModified to:self. |
|
2967 |
]. |
|
2968 |
^ historyLines. |
|
2969 |
! |
|
2970 |
||
2971 |
keepSource |
|
2972 |
||
2973 |
keepSource isNil ifTrue:[ |
|
2974 |
keepSource := (resources array:(self class keepSourceStrings)) asList. |
|
2975 |
]. |
|
2976 |
^ keepSource. |
|
2977 |
! |
|
2978 |
||
2979 |
keepSourceSelection |
|
2980 |
||
2981 |
keepSourceSelection isNil ifTrue:[ |
|
2982 |
keepSourceSelection := (self class keepSourceOptions indexOf:ClassCategoryReader sourceMode ifAbsent:1) asValue. |
|
2983 |
keepSourceSelection onChangeSend:#evaluateModified to:self. |
|
2984 |
]. |
|
2985 |
^ keepSourceSelection. |
|
2986 |
! |
|
2987 |
||
2988 |
loadBinaries |
|
2989 |
||
2990 |
loadBinaries isNil ifTrue:[ |
|
2991 |
self canLoadBinaries ifTrue:[ |
|
2992 |
loadBinaries:= Smalltalk loadBinaries asValue |
|
2993 |
] ifFalse:[ |
|
2994 |
loadBinaries:= false asValue |
|
2995 |
]. |
|
2996 |
loadBinaries onChangeSend:#evaluateModified to:self. |
|
2997 |
]. |
|
2998 |
^ loadBinaries. |
|
2999 |
! ! |
|
3000 |
||
3001 |
!AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'queries'! |
|
3002 |
||
3003 |
hasUnsavedChanges |
|
3004 |
||
3005 |
^ ( |
|
3006 |
((HistoryManager fullHistoryUpdate ? false) ~= self fullHistoryUpdate value) or:[ |
|
3007 |
((ClassCategoryReader sourceMode) ~= (self class keepSourceOptions at:self keepSourceSelection value)) or:[ |
|
3008 |
((Class catchMethodRedefinitions ? false) ~= self catchMethodRedefs value) or:[ |
|
3009 |
((Class catchClassRedefinitions ? false) ~= self catchClassRedefs value) or:[ |
|
3010 |
((Smalltalk loadBinaries ? false) ~= self loadBinaries value) or:[ |
|
3011 |
((self hasHistoryManager) ~= self historyLines value) |
|
3012 |
]]]]] |
|
3013 |
) |
|
3014 |
! ! |
|
3015 |
||
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3016 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'documentation'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3017 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3018 |
version |
4851 | 3019 |
^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.59 2003-04-29 10:07:20 penk Exp $' |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3020 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3021 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3022 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'image specs'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3023 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3024 |
defaultIcon |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3025 |
"This resource specification was automatically generated |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3026 |
by the ImageEditor of ST/X." |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3027 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3028 |
"Do not manually edit this!! If it is corrupted, |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3029 |
the ImageEditor may not be able to read the specification." |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3030 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3031 |
" |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3032 |
self defaultIcon inspect |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3033 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3034 |
Icon flushCachedIcons |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3035 |
" |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3036 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3037 |
<resource: #image> |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3038 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3039 |
^Icon |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3040 |
constantNamed:#'HTTPStartServerSettingsApplication class defaultIcon' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3041 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3042 |
@@@@@HQ-M!!T6M&5-\@@@@@@@@@@@@@@@@GT4HB,1DS$9NUQ0@@@@@@@@@@@@@F<3JP\MG X9NSL9RG@@@@@@@@@@@GT2GQ\C@0LIJ%L3O11J\@@@@@@@(XP4 |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3043 |
LA$C@0LCAA<''F"8,F4V3@KT@+0A-JCD]@0LCNT-MSEAPS49V$7L@@@@@MQ@XFPLCNE!!XVE!!XVE!!XVE!!X@@@@@AT$APLC@5"9-K6?1LSD1LFJQ@@@@@@KEBT& |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3044 |
CPMX**R-+Z2+(JZX\DP@@@@@@RL1LR,NVJ8:.K"7-%&I%GAD@@@@@D$OK3D1HU"[%IRT%IRT%I]0Q@@@@@A=@!!L1KQYX*J"(*J"(.8:T\DP@@@@@)THRLQ$C |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3045 |
VJ"(*J"(*IBO%''AD@@@@@@B:P2HL@5"K"8.K"8.K"8M0Q@@@@@@@@J]FB@MX0K0:N#(:N,B2\DP@@@@@@@@@,T\;VJ#B0<OC0<N>&GAD@@@@@@@@@@@@*U"( |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3046 |
0<OC0<OC0I!!0Q@@@@@@@@@@@@@AX*LU<#HVF$,BX\DP@@@@@@@@@@@@@VJ#C@@@@@@CC&GAD@@@@@@@@@@@@@E"(''92\''I2\(9!!0Q@@@@@@@@@@@@@AX*IVO |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3047 |
#8>O#9*X\DP@@@@@@@@@@@@@VJ!!>&Y:B"I:M&GAD@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 80 0 0 159 0 0 255 0 2 253 0 7 248 0 8 235 0 8 247 0 14 223 0 16 239 0 20 55 0 20 60 0 32 223 0 35 220 0 47 207 0 50 205 0 60 195 0 64 175 0 64 181 0 64 191 0 74 181 0 80 0 0 87 167 0 90 164 0 92 163 0 97 157 0 102 142 0 103 133 0 107 112 0 111 143 0 114 140 0 115 139 0 127 79 0 127 127 0 150 76 0 159 95 0 165 89 0 184 71 0 191 64 0 200 33 0 207 0 0 208 45 0 213 0 0 225 30 0 235 20 0 240 15 0 243 0 0 244 11 0 245 8 0 255 0 6 132 42 6 168 6 10 149 10 17 41 72 17 96 17 25 25 25 25 25 232 28 28 227 30 30 30 33 32 152 35 35 35 35 35 133 40 40 40 42 131 42 45 45 45 50 50 50 51 51 111 51 55 105 52 52 52 54 60 76 54 116 54 60 60 88 60 60 103 62 61 141 62 62 125 65 64 193 65 104 153 65 112 145 65 136 121 65 160 97 65 192 65 68 68 68 71 111 71 76 121 76 77 76 205 80 80 80 85 100 85 95 95 95 97 97 97 98 207 98 103 103 103 104 104 104 107 105 186 107 106 235 109 108 236 109 109 109 111 109 147 111 111 111 111 111 255 114 113 162 114 114 210 116 116 116 117 117 117 118 116 165 118 117 245 118 118 118 119 117 158 119 119 119 120 120 120 120 159 120 127 127 127 130 146 130 131 129 131 132 131 191 135 135 135 136 135 136 138 138 246 142 142 142 143 143 143 143 143 255 147 145 147 147 146 174 147 146 227 150 148 230 151 149 151 151 151 151 153 150 153 155 153 155 156 154 156 156 155 240 157 156 157 159 157 86 159 159 159 162 160 162 162 161 162 162 162 242 163 161 163 164 163 164 165 164 165 166 164 76 166 164 166 168 165 168 168 166 168 172 169 172 173 170 173 173 171 222 174 172 174 175 174 175 176 173 176 178 175 178 181 178 181 182 179 182 184 181 184 184 182 184 186 183 186 187 184 187 187 187 251 188 186 188 189 188 189 189 188 237 189 197 189 190 190 190 191 189 191 192 191 220 194 192 194 194 194 194 195 193 195 196 196 196 197 194 197 197 197 197 198 195 198 200 191 194 200 192 195 200 197 200 201 199 201 202 202 202 203 202 203 204 204 204 205 203 205 206 206 206 207 204 207 207 207 207 208 147 148 208 157 158 208 207 208 211 208 211 211 211 211 214 213 214 215 213 224 217 215 217 218 217 218 219 217 219 222 220 222 223 222 223 224 223 229 228 227 236 229 228 229 233 232 233]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C? @G?0@O?8@_?<D??>(???@???@???@???@???@???@???@???@_??@O??@G??@A??@@??@@??@@??@@??@@??@') ; yourself); yourself] |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3048 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3049 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3050 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'interface specs'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3051 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3052 |
windowSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3053 |
"This resource specification was automatically generated |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3054 |
by the UIPainter of ST/X." |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3055 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3056 |
"Do not manually edit this!! If it is corrupted, |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3057 |
the UIPainter may not be able to read the specification." |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3058 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3059 |
" |
4726 | 3060 |
UIPainter new openOnClass:AbstractSettingsApplication::HTTPStartServerSettingsApplication andSelector:#windowSpec |
3061 |
AbstractSettingsApplication::HTTPStartServerSettingsApplication new openInterface:#windowSpec |
|
3062 |
AbstractSettingsApplication::HTTPStartServerSettingsApplication open |
|
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3063 |
" |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3064 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3065 |
<resource: #canvas> |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3066 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3067 |
^ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3068 |
#(#FullSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3069 |
#name: #windowSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3070 |
#window: |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3071 |
#(#WindowSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3072 |
#label: 'HTTP Server Settings' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3073 |
#name: 'HTTP Server Settings' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3074 |
#min: #(#Point 10 10) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3075 |
#max: #(#Point 2048 1024) |
4812 | 3076 |
#bounds: #(#Rectangle 16 42 555 672) |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3077 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3078 |
#component: |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3079 |
#(#SpecCollection |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3080 |
#collection: #( |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3081 |
#(#VerticalPanelViewSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3082 |
#name: 'VerticalPanel1' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3083 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3084 |
#horizontalLayout: #fit |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3085 |
#verticalLayout: #top |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3086 |
#horizontalSpace: 3 |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3087 |
#verticalSpace: 3 |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3088 |
#component: |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3089 |
#(#SpecCollection |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3090 |
#collection: #( |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3091 |
#(#VerticalPanelViewSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3092 |
#name: 'VerticalPanel4' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3093 |
#horizontalLayout: #fit |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3094 |
#verticalLayout: #topSpace |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3095 |
#horizontalSpace: 3 |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3096 |
#verticalSpace: 3 |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3097 |
#component: |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3098 |
#(#SpecCollection |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3099 |
#collection: #( |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3100 |
#(#ViewSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3101 |
#name: 'Box19' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3102 |
#component: |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3103 |
#(#SpecCollection |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3104 |
#collection: #( |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3105 |
#(#LabelSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3106 |
#label: 'Label' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3107 |
#name: 'Label2' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3108 |
#layout: #(#LayoutFrame 5 0.0 0 0.0 -5 1 0 1.0) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3109 |
#translateLabel: true |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3110 |
#labelChannel: #informationLabel |
4812 | 3111 |
#resizeForLabel: false |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3112 |
#adjust: #left |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3113 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3114 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3115 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3116 |
) |
4825 | 3117 |
#extent: #(#Point 539 200) |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3118 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3119 |
#(#ViewSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3120 |
#name: 'Box18' |
4726 | 3121 |
#extent: #(#Point 539 20) |
3122 |
) |
|
3123 |
#(#ViewSpec |
|
3124 |
#name: 'Box17' |
|
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3125 |
#component: |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3126 |
#(#SpecCollection |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3127 |
#collection: #( |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3128 |
#(#LabelSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3129 |
#label: 'Port:' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3130 |
#name: 'Label1' |
4726 | 3131 |
#layout: #(#LayoutFrame 3 0 21 0 40 0 43 0) |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3132 |
#translateLabel: true |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3133 |
#adjust: #right |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3134 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3135 |
#(#InputFieldSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3136 |
#name: 'EntryField1' |
4726 | 3137 |
#layout: #(#LayoutFrame 40 0 20 0 100 0 42 0) |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3138 |
#model: #portNumberChannel |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3139 |
#type: #number |
4825 | 3140 |
#immediateAccept: true |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3141 |
#acceptOnReturn: true |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3142 |
#acceptOnTab: true |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3143 |
#acceptOnLostFocus: true |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3144 |
#acceptOnPointerLeave: false |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3145 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3146 |
#(#ActionButtonSpec |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3147 |
#label: 'Create new HTTP Server' |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3148 |
#name: 'Button4' |
4726 | 3149 |
#layout: #(#LayoutFrame 125 0 20 0 -5 1 42 0) |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3150 |
#translateLabel: true |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3151 |
#model: #createServer |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3152 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3153 |
#(#ActionButtonSpec |
4726 | 3154 |
#label: 'Remove all HTTP Servers' |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3155 |
#name: 'Button5' |
4726 | 3156 |
#layout: #(#LayoutFrame 125 0 51 0 -5 1 73 0) |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3157 |
#translateLabel: true |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3158 |
#model: #removeAllServer |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3159 |
#enableChannel: #hasCreatedServerChannel |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3160 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3161 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3162 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3163 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3164 |
#extent: #(#Point 539 90) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3165 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3166 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3167 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3168 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3169 |
#extent: #(#Point 539 620) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3170 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3171 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3172 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3173 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3174 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3175 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3176 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3177 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3178 |
) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3179 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3180 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3181 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'actions'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3182 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3183 |
basicSaveSettings |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3184 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3185 |
^ self |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3186 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3187 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3188 |
createServer |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3189 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3190 |
| newServer port runningServers| |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3191 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3192 |
port := self portNumberChannel value. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3193 |
runningServers := HTTPServer runningServers. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3194 |
runningServers notEmpty ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3195 |
runningServers do:[:aServer | |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3196 |
aServer port = port asInteger ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3197 |
Dialog warn:'There is already a Server for port ', port asString. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3198 |
^ self |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3199 |
] |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3200 |
] |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3201 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3202 |
self withWaitCursorDo:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3203 |
newServer := HTTPServer new. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3204 |
newServer port:port. |
4830 | 3205 |
newServer setupDefaults. |
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3206 |
self createServerApplication:newServer forDefault:false. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3207 |
] |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3208 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3209 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3210 |
createServerApplication:aServerInstance |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3211 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3212 |
self createServerApplication:aServerInstance forDefault:false. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3213 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3214 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3215 |
createServerApplication:aServerInstance forDefault:isDefaultApplication |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3216 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3217 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3218 |
|settingsApp settingsAppPosition newItem openApps| |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3219 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3220 |
openApps := self requestor getAllChildrenAppsForApplication:self childrenClass:HTTPServerSettingsAppl. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3221 |
((openApps detect:[:app | app httpServerInstance == aServerInstance] ifNone:[nil]) notNil) ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3222 |
" already have an Item for this application " |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3223 |
^ self |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3224 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3225 |
settingsApp := HTTPServerSettingsAppl basicNew. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3226 |
settingsApp requestor:self requestor. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3227 |
isDefaultApplication ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3228 |
settingsApp isDefaultSettingsDialog:isDefaultApplication |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3229 |
] ifFalse:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3230 |
settingsApp httpServerInstance:aServerInstance. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3231 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3232 |
settingsApp basicInitialize. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3233 |
settingsAppPosition := requestor getNameOfApplication:self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3234 |
isDefaultApplication ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3235 |
settingsAppPosition := settingsAppPosition , '/HTTPServer Default Settings'. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3236 |
] ifFalse:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3237 |
settingsAppPosition := settingsAppPosition , '/HTTPServer Port ', aServerInstance port asString. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3238 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3239 |
newItem := requestor addApplClass:#'HTTPServerSettingsAppl' withName:settingsAppPosition. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3240 |
newItem application:settingsApp. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3241 |
self createdServerChanged. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3242 |
requestor expandItemForApplication:self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3243 |
settingsApp initialize. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3244 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3245 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3246 |
createServerSubApplicationsForRunningServer |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3247 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3248 |
|runningServers| |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3249 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3250 |
self createServerApplication:nil forDefault:true. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3251 |
runningServers := HTTPServer runningServers asOrderedCollection. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3252 |
runningServers isEmpty ifTrue:[ ^ self]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3253 |
runningServers sort:[:a :b | a port < b port]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3254 |
runningServers do:[:aHttpServerInstance | |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3255 |
self createServerApplication:aHttpServerInstance forDefault:false. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3256 |
] |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3257 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3258 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3259 |
readSettings |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3260 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3261 |
HTTPServer runningServers removeDependent:self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3262 |
HTTPServer runningServers addDependent:self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3263 |
self createServerSubApplicationsForRunningServer. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3264 |
self createdServerChanged. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3265 |
self modifiedChannel value:false. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3266 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3267 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3268 |
removeAllServer |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3269 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3270 |
HTTPServer terminateAllServers. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3271 |
self removeAllServerSubApplications. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3272 |
self createdServerChanged. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3273 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3274 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3275 |
removeAllServerSubApplications |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3276 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3277 |
|apps| |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3278 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3279 |
apps := requestor getApplicationsByClass:HTTPServerSettingsAppl. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3280 |
apps do:[:aApp | |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3281 |
aApp isDefaultSettingsDialog ifFalse:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3282 |
requestor removeByApplication:aApp. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3283 |
] |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3284 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3285 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3286 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3287 |
setPortOnFreePort |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3288 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3289 |
| createdServer | |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3290 |
createdServer := (self requestor getAllChildrenAppsForApplication:self childrenClass:HTTPServerSettingsAppl) collect:[:setApp | |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3291 |
setApp httpServerInstance. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3292 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3293 |
createdServer size = 1 ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3294 |
self portNumberChannel value:(HTTPServer defaultPort). |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3295 |
^ self |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3296 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3297 |
self portNumberChannel value:0. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3298 |
createdServer do:[:aHttpServer | |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3299 |
(aHttpServer notNil and:[aHttpServer port >= (self portNumberChannel value asInteger)]) ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3300 |
self portNumberChannel value:(aHttpServer port + 1). |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3301 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3302 |
] |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3303 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3304 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3305 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'aspects'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3306 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3307 |
hasCreatedServerChannel |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3308 |
"automatically generated by UIPainter ..." |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3309 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3310 |
"*** the code below creates a default model when invoked." |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3311 |
"*** (which may not be the one you wanted)" |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3312 |
"*** Please change as required and accept it in the browser." |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3313 |
"*** (and replace this comment by something more useful ;-)" |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3314 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3315 |
hasCreatedServerChannel isNil ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3316 |
hasCreatedServerChannel := true asValue. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3317 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3318 |
"/ hasCreatedServerChannel addDependent:self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3319 |
"/ hasCreatedServerChannel onChangeSend:#hasCreatedServerChannelChanged to:self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3320 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3321 |
^ hasCreatedServerChannel. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3322 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3323 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3324 |
informationLabel |
4726 | 3325 |
^ resources |
3326 |
string:'HTTPSTARTINFO' |
|
3327 |
default: |
|
4843 | 3328 |
'These dialogs provides two things |
4812 | 3329 |
1. Setup the default server settings |
3330 |
2. control individual running servers (if you want to handle |
|
3331 |
multiple servers on multiple ports). |
|
4726 | 3332 |
The default servers settings are specified in the |
4825 | 3333 |
"HTTPServer Default Settings" entry. |
4843 | 3334 |
The settings for a new created server are taken from |
3335 |
the default server or from the http server instance |
|
3336 |
settings file' |
|
4724
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3337 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3338 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3339 |
portNumberChannel |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3340 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3341 |
portNumberChannel isNil ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3342 |
portNumberChannel := ValueHolder new. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3343 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3344 |
^ portNumberChannel. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3345 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3346 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3347 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'change & update'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3348 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3349 |
createdServerChanged |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3350 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3351 |
self hasCreatedServerChannel value:self hasCreatedServer. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3352 |
self setPortOnFreePort. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3353 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3354 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3355 |
runningServersChanged |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3356 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3357 |
|runningServers| |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3358 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3359 |
runningServers := HTTPServer runningServers. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3360 |
self createServerSubApplicationsForRunningServer. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3361 |
self setPortOnFreePort. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3362 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3363 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3364 |
update:something with:aParameter from:changedObject |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3365 |
changedObject == HTTPServer runningServers ifTrue:[ |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3366 |
self runningServersChanged. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3367 |
^ self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3368 |
]. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3369 |
super update:something with:aParameter from:changedObject |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3370 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3371 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3372 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'initialization & release'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3373 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3374 |
release |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3375 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3376 |
HTTPServer runningServers removeDependent:self. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3377 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3378 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3379 |
!AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'queries'! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3380 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3381 |
hasCreatedServer |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3382 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3383 |
^ ((self requestor getAllChildrenAppsForApplication:self childrenClass:HTTPServerSettingsAppl) size > 1) |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3384 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3385 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3386 |
hasUnsavedChanges |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3387 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3388 |
^ false |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3389 |
! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3390 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3391 |
help |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3392 |
|
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3393 |
self warn:'no help available here'. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3394 |
"/ self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/compilerSettings.html']. |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3395 |
! ! |
57b61d7d19ad
HTTPStartServerApp must be included
Claus Gittinger <cg@exept.de>
parents:
4718
diff
changeset
|
3396 |
|
4312 | 3397 |
!AbstractSettingsApplication::KbdMappingSettingsAppl class methodsFor:'image specs'! |
3398 |
||
3399 |
defaultIcon |
|
3400 |
"This resource specification was automatically generated |
|
3401 |
by the ImageEditor of ST/X." |
|
3402 |
||
3403 |
"Do not manually edit this!! If it is corrupted, |
|
3404 |
the ImageEditor may not be able to read the specification." |
|
3405 |
||
3406 |
" |
|
3407 |
self defaultIcon inspect |
|
3408 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
3409 |
Icon flushCachedIcons |
|
3410 |
" |
|
3411 |
||
3412 |
<resource: #image> |
|
3413 |
||
3414 |
^Icon |
|
3415 |
constantNamed:#'AbstractSettingsApplication::KbdMappingSettingsAppl class defaultIcon' |
|
3416 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
3417 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
3418 |
@@@@@@@@@@HB@ @@@@@@@@@@@@@@@@@@@@@@@@HBA@PD@@@@@@@@@@@@@@@@@@@@@@HBA@PDA@P@@@@@@@@@@@@@@@@@@@HBA@PD@@@DA@@@@@@@@@@@@@@@ |
|
3419 |
@@HDA@PDA@@D@@PD@@@@@@@@@@@@@@PDA@P@A@P@A@@DA@L@@@@@@@@@@@@B@ PD@@PD@@PDA@LC@0@@@@@@@@@@@ HBA@@@@@@DA@LC@0@@@@@@@@@@@@@B |
|
3420 |
@ HDA@PDA@LC@0@@@@@@@@@@@@@@@@HB@ PDA@LC@0@@@@@@@@@@@@@@@@@@@ HBA@LC@0@@@@@@@@@@@@@@@@@@@@@B@ PC@0@@@@@@@@@@@@@@@@@@@@@@ |
|
3421 |
@@HD@0@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
3422 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 128 128 128 192 192 192 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@G@@@O @@_0@@?8@A?<@C?>@G??@G?? G??@C?>@A?<@@?8@@_0@@O @@G@@@B@@@@@@@@@@@@@@') ; yourself); yourself] |
|
3423 |
! ! |
|
3424 |
||
4286 | 3425 |
!AbstractSettingsApplication::KbdMappingSettingsAppl class methodsFor:'interface specs'! |
3426 |
||
3427 |
windowSpec |
|
3428 |
"This resource specification was automatically generated |
|
3429 |
by the UIPainter of ST/X." |
|
3430 |
||
3431 |
"Do not manually edit this!! If it is corrupted, |
|
3432 |
the UIPainter may not be able to read the specification." |
|
3433 |
||
3434 |
" |
|
4310 | 3435 |
UIPainter new openOnClass:AbstractSettingsApplication::KbdMappingSettingsAppl andSelector:#windowSpec |
3436 |
AbstractSettingsApplication::KbdMappingSettingsAppl new openInterface:#windowSpec |
|
3437 |
AbstractSettingsApplication::KbdMappingSettingsAppl open |
|
4286 | 3438 |
" |
3439 |
||
3440 |
<resource: #canvas> |
|
3441 |
||
3442 |
^ |
|
3443 |
#(#FullSpec |
|
3444 |
#name: #windowSpec |
|
3445 |
#window: |
|
3446 |
#(#WindowSpec |
|
4405 | 3447 |
#label: 'Keyboard Mapping Settings' |
3448 |
#name: 'Keyboard Mapping Settings' |
|
4286 | 3449 |
#min: #(#Point 10 10) |
3450 |
#max: #(#Point 1024 768) |
|
4310 | 3451 |
#bounds: #(#Rectangle 16 42 491 650) |
4286 | 3452 |
) |
3453 |
#component: |
|
3454 |
#(#SpecCollection |
|
3455 |
#collection: #( |
|
3456 |
#(#VariableVerticalPanelSpec |
|
3457 |
#name: 'VariableVerticalPanel1' |
|
4310 | 3458 |
#layout: #(#LayoutFrame 0 0.0 60 0 0 1.0 0 1.0) |
4286 | 3459 |
#component: |
3460 |
#(#SpecCollection |
|
3461 |
#collection: #( |
|
3462 |
#(#VariableHorizontalPanelSpec |
|
3463 |
#name: 'VariableHorizontalPanel1' |
|
3464 |
#component: |
|
3465 |
#(#SpecCollection |
|
3466 |
#collection: #( |
|
3467 |
#(#SequenceViewSpec |
|
3468 |
#name: 'RawKeyList' |
|
3469 |
#model: #selectedRawKey |
|
3470 |
#hasHorizontalScrollBar: true |
|
3471 |
#hasVerticalScrollBar: true |
|
3472 |
#useIndex: false |
|
3473 |
#sequenceList: #rawKeyList |
|
3474 |
) |
|
3475 |
#(#SequenceViewSpec |
|
3476 |
#name: 'FunctionKeyList' |
|
3477 |
#model: #selectedFunctionKey |
|
3478 |
#hasHorizontalScrollBar: true |
|
3479 |
#hasVerticalScrollBar: true |
|
3480 |
#useIndex: false |
|
3481 |
#sequenceList: #functionKeyList |
|
3482 |
) |
|
3483 |
) |
|
3484 |
||
3485 |
) |
|
3486 |
#handles: #(#Any 0.5 1.0) |
|
3487 |
) |
|
3488 |
#(#ViewSpec |
|
3489 |
#name: 'Box1' |
|
3490 |
#component: |
|
3491 |
#(#SpecCollection |
|
3492 |
#collection: #( |
|
3493 |
#(#TextEditorSpec |
|
3494 |
#name: 'MacroText' |
|
3495 |
#layout: #(#LayoutFrame 0 0.0 20 0 0 1.0 0 1.0) |
|
3496 |
#model: #macroTextHolder |
|
3497 |
#hasHorizontalScrollBar: true |
|
3498 |
#hasVerticalScrollBar: true |
|
3499 |
#isReadOnly: true |
|
3500 |
) |
|
3501 |
#(#LabelSpec |
|
3502 |
#label: 'Macro text (if any):' |
|
3503 |
#name: 'MacroTextLabel' |
|
3504 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 20 0) |
|
3505 |
#translateLabel: true |
|
3506 |
#adjust: #left |
|
3507 |
) |
|
3508 |
) |
|
3509 |
||
3510 |
) |
|
3511 |
) |
|
3512 |
) |
|
3513 |
||
3514 |
) |
|
3515 |
#handles: #(#Any 0.5 1.0) |
|
3516 |
) |
|
3517 |
#(#LabelSpec |
|
3518 |
#label: 'NoticeText' |
|
3519 |
#name: 'Text' |
|
3520 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 60 0) |
|
3521 |
#translateLabel: true |
|
3522 |
#labelChannel: #labelTextHolder |
|
3523 |
#resizeForLabel: true |
|
3524 |
#adjust: #left |
|
3525 |
) |
|
3526 |
) |
|
3527 |
||
3528 |
) |
|
3529 |
) |
|
3530 |
! ! |
|
3531 |
||
3532 |
!AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'actions'! |
|
3533 |
||
4574 | 3534 |
basicSaveSettings |
3535 |
! |
|
3536 |
||
4286 | 3537 |
help |
3538 |
||
3539 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/keyboardSetting.html']. |
|
3540 |
! |
|
3541 |
||
4574 | 3542 |
readSettings |
3543 |
self modifiedChannel value:false |
|
4286 | 3544 |
! ! |
3545 |
||
3546 |
!AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'aspects'! |
|
3547 |
||
3548 |
functionKeyList |
|
3549 |
"automatically generated by UIPainter ..." |
|
3550 |
||
3551 |
"*** the code below creates a default model when invoked." |
|
3552 |
"*** (which may not be the one you wanted)" |
|
3553 |
"*** Please change as required and accept it in the browser." |
|
3554 |
"*** (and replace this comment by something more useful ;-)" |
|
3555 |
||
3556 |
functionKeyList isNil ifTrue:[ |
|
3557 |
functionKeyList := ValueHolder new. |
|
3558 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
3559 |
"/ functionKeyList addDependent:self. |
|
3560 |
"/ functionKeyList onChangeSend:#functionKeyListChanged to:self. |
|
3561 |
]. |
|
3562 |
^ functionKeyList. |
|
3563 |
! |
|
3564 |
||
3565 |
labelTextHolder |
|
3566 |
"automatically generated by UIPainter ..." |
|
3567 |
||
3568 |
"*** the code below creates a default model when invoked." |
|
3569 |
"*** (which may not be the one you wanted)" |
|
3570 |
"*** Please change as required and accept it in the browser." |
|
3571 |
"*** (and replace this comment by something more useful ;-)" |
|
3572 |
||
3573 |
labelTextHolder isNil ifTrue:[ |
|
3574 |
labelTextHolder := ValueHolder new. |
|
3575 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
3576 |
"/ labelTextHolder addDependent:self. |
|
3577 |
"/ labelTextHolder onChangeSend:#labelTextHolderChanged to:self. |
|
3578 |
]. |
|
3579 |
^ labelTextHolder. |
|
3580 |
! |
|
3581 |
||
3582 |
macroTextHolder |
|
3583 |
"automatically generated by UIPainter ..." |
|
3584 |
||
3585 |
"*** the code below creates a default model when invoked." |
|
3586 |
"*** (which may not be the one you wanted)" |
|
3587 |
"*** Please change as required and accept it in the browser." |
|
3588 |
"*** (and replace this comment by something more useful ;-)" |
|
3589 |
||
3590 |
macroTextHolder isNil ifTrue:[ |
|
3591 |
macroTextHolder := ValueHolder new. |
|
3592 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
3593 |
"/ macroTextHolder addDependent:self. |
|
3594 |
"/ macroTextHolder onChangeSend:#macroTextHolderChanged to:self. |
|
3595 |
]. |
|
3596 |
^ macroTextHolder. |
|
3597 |
! |
|
3598 |
||
3599 |
rawKeyList |
|
3600 |
||
3601 |
rawKeyList isNil ifTrue:[ |
|
3602 |
rawKeyList := List new. |
|
3603 |
]. |
|
3604 |
^ rawKeyList. |
|
3605 |
! |
|
3606 |
||
3607 |
selectedFunctionKey |
|
3608 |
||
3609 |
selectedFunctionKey isNil ifTrue:[ |
|
3610 |
selectedFunctionKey := ValueHolder new. |
|
3611 |
selectedFunctionKey addDependent:self. |
|
3612 |
]. |
|
3613 |
^ selectedFunctionKey. |
|
3614 |
! |
|
3615 |
||
3616 |
selectedRawKey |
|
3617 |
||
3618 |
selectedRawKey isNil ifTrue:[ |
|
3619 |
selectedRawKey := ValueHolder new. |
|
3620 |
selectedRawKey addDependent:self. |
|
3621 |
]. |
|
3622 |
^ selectedRawKey. |
|
3623 |
! ! |
|
3624 |
||
3625 |
!AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'change & update'! |
|
3626 |
||
3627 |
changeFunctionKeySelection |
|
3628 |
||
3629 |
|raw| |
|
3630 |
raw := self selectedRawKey value. |
|
3631 |
self selectedFunctionKey value:(mappings at:raw asSymbol) asString. |
|
3632 |
! |
|
3633 |
||
3634 |
changeMacroText |
|
3635 |
||
3636 |
|f macro indent| |
|
3637 |
||
3638 |
f := self selectedFunctionKey value. |
|
3639 |
(f startsWith:'Cmd') ifTrue:[ |
|
3640 |
f := f copyFrom:4 |
|
3641 |
]. |
|
3642 |
macro := UserPreferences current functionKeySequences |
|
3643 |
at:(f asSymbol) ifAbsent:nil. |
|
3644 |
macro notNil ifTrue:[ |
|
3645 |
macro := macro asStringCollection. |
|
3646 |
indent := macro |
|
3647 |
inject:99999 into:[:min :element | |
|
3648 |
|stripped| |
|
3649 |
||
3650 |
stripped := element withoutLeadingSeparators. |
|
3651 |
stripped size == 0 ifTrue:[ |
|
3652 |
min |
|
3653 |
] ifFalse:[ |
|
3654 |
min min:(element size - stripped size) |
|
3655 |
] |
|
3656 |
]. |
|
3657 |
indent ~~ 0 ifTrue:[ |
|
3658 |
macro := macro collect:[:line | |
|
3659 |
line size > indent ifTrue:[ |
|
3660 |
line copyFrom:indent+1 |
|
3661 |
] ifFalse:[ |
|
3662 |
line |
|
3663 |
]. |
|
3664 |
] |
|
3665 |
]. |
|
3666 |
]. |
|
3667 |
macroTextHolder value:macro. |
|
3668 |
! |
|
3669 |
||
3670 |
changeRawKeySelection |
|
3671 |
|f raw| |
|
3672 |
||
3673 |
f := self selectedFunctionKey value. |
|
3674 |
raw := mappings keyAtValue:f asString. |
|
3675 |
raw isNil ifTrue:[ |
|
3676 |
raw := mappings keyAtValue:f first. |
|
3677 |
raw isNil ifTrue:[ |
|
3678 |
raw := mappings keyAtValue:f asSymbol. |
|
3679 |
] |
|
3680 |
]. |
|
3681 |
self selectedRawKey value:raw. |
|
3682 |
! |
|
3683 |
||
3684 |
update:something with:aParameter from:changedObject |
|
3685 |
changedObject == self selectedFunctionKey ifTrue:[ |
|
3686 |
self changeRawKeySelection. |
|
3687 |
self changeMacroText. |
|
3688 |
^ self |
|
3689 |
]. |
|
3690 |
changedObject == self selectedRawKey ifTrue:[ |
|
3691 |
self changeFunctionKeySelection. |
|
3692 |
^ self |
|
3693 |
]. |
|
3694 |
super update:something with:aParameter from:changedObject |
|
3695 |
! ! |
|
3696 |
||
3697 |
!AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'initialization & release'! |
|
3698 |
||
3699 |
closeDownViews |
|
3700 |
"This is a hook method generated by the Browser. |
|
3701 |
It will be invoked when your app/dialog-window is really closed. |
|
3702 |
See also #closeDownViews, which is invoked before and may suppress the close |
|
3703 |
or ask the user for confirmation." |
|
3704 |
||
3705 |
"/ change the code below as required ... |
|
3706 |
"/ This should cleanup any leftover resources |
|
3707 |
"/ (for example, temporary files) |
|
3708 |
"/ super closeRequest will initiate the closeDown |
|
3709 |
||
3710 |
"/ add your code here |
|
3711 |
||
3712 |
"/ do not remove the one below ... |
|
3713 |
^ super closeDownViews |
|
3714 |
! |
|
3715 |
||
3716 |
initialize |
|
3717 |
||
4574 | 3718 |
super initialize. |
4286 | 3719 |
|
3720 |
mappings := Screen current keyboardMap. |
|
3721 |
||
3722 |
rawKeyList := (mappings keys asArray collect:[:key | key asString]) sort. |
|
3723 |
functionKeyList := (mappings values asSet asArray collect:[:key | key asString]) sort. |
|
3724 |
||
3725 |
self labelTextHolder value:(resources at:'KEY_MSG2' default:'keyboard mapping:') withCRs. |
|
3726 |
! ! |
|
3727 |
||
3728 |
!AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'queries'! |
|
3729 |
||
3730 |
hasUnsavedChanges |
|
3731 |
||
3732 |
^ false |
|
3733 |
! ! |
|
3734 |
||
4312 | 3735 |
!AbstractSettingsApplication::LanguageSettingsAppl class methodsFor:'image specs'! |
3736 |
||
3737 |
defaultIcon |
|
3738 |
"This resource specification was automatically generated |
|
3739 |
by the ImageEditor of ST/X." |
|
3740 |
||
3741 |
"Do not manually edit this!! If it is corrupted, |
|
3742 |
the ImageEditor may not be able to read the specification." |
|
3743 |
||
3744 |
" |
|
3745 |
self defaultIcon inspect |
|
3746 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
3747 |
Icon flushCachedIcons |
|
3748 |
" |
|
3749 |
||
3750 |
<resource: #image> |
|
3751 |
||
3752 |
^Icon |
|
3753 |
constantNamed:#'AbstractSettingsApplication::LanguageSettingsAppl class defaultIcon' |
|
3754 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
3755 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PDA@PD@@@@@@@@A@PD@@@@@@@@A@R,+J2,+@PDA@PDAF1@P@P@@@@@@@PD[J2,+GQ4]GQ4+J2,WE0D@@@@@@@DA |
|
3756 |
F2,+J14]GQ4]GR,+E1\A@@@@@@@A@Q,+J14]GQ4]GQ4]J1,[@P@@@@@@@PD[J2,]GQ4]GQ4]GR,+J0DA@PD@@@DAF2,+@PX]GPXAGQ4+J2,B@PDA@@@A@Q,+ |
|
3757 |
J0DFB0,F@P(J@P(J@ DA@P@@@PD[J2,A@PXFB0XA@PTEAPTE@PDA@@DAF2,+@QPFA!!8T@0LBAPTEB@DA@P@A@QXA@PD^IBP$G <OD!!PTHBDXF@$@@PDV@PDA |
|
3758 |
G"@ HB@OC1HTEB@ FA I@@DAA@@@@QP^G"PTD1LNGA0 HB@ BP@A@P@@@@DTF!!(*JR (EQPTH"T_G0$@@PD@@@@AEA(#H2L(JATTEBH%G2LI@@DA@@@@@QT# |
|
3759 |
H2$#H2L#H2L#H2L#A0@A@P@@@@DQFQ$LA2L#CBL#JR(#H00@@@@@@@@AC@0L@@@GA00GA00LA0\@@@@@@@@@@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@ |
|
3760 |
@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 32 32 32 48 48 48 49 48 49 54 54 54 69 69 69 75 67 22 82 82 82 85 14 14 89 89 89 105 105 105 106 88 25 107 107 107 110 19 19 113 19 19 131 129 131 134 122 39 149 25 25 149 26 26 158 27 27 158 140 45 164 161 164 164 161 172 165 43 43 177 161 52 196 175 0 197 194 197 204 36 36 204 75 75 205 36 36 205 113 38 212 66 66 216 81 81 223 72 72 227 202 66 231 120 120 231 123 123 233 135 135 235 146 146 255 129 0 255 238 162 255 251 229 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@O \@??>@??>@??>@??>@???0???0???0???8???8???8???89??81??81??81??81??8A9?0A@@@A@@@A@@@') ; yourself); yourself] |
|
3761 |
! ! |
|
3762 |
||
4286 | 3763 |
!AbstractSettingsApplication::LanguageSettingsAppl class methodsFor:'interface specs'! |
3764 |
||
3765 |
windowSpec |
|
3766 |
"This resource specification was automatically generated |
|
3767 |
by the UIPainter of ST/X." |
|
3768 |
||
3769 |
"Do not manually edit this!! If it is corrupted, |
|
3770 |
the UIPainter may not be able to read the specification." |
|
3771 |
||
3772 |
" |
|
4310 | 3773 |
UIPainter new openOnClass:AbstractSettingsApplication::LanguageSettingsAppl andSelector:#windowSpec |
3774 |
AbstractSettingsApplication::LanguageSettingsAppl new openInterface:#windowSpec |
|
3775 |
AbstractSettingsApplication::LanguageSettingsAppl open |
|
4286 | 3776 |
" |
3777 |
||
3778 |
<resource: #canvas> |
|
3779 |
||
3780 |
^ |
|
3781 |
#(#FullSpec |
|
3782 |
#name: #windowSpec |
|
3783 |
#window: |
|
3784 |
#(#WindowSpec |
|
3785 |
#label: 'Language Settings' |
|
3786 |
#name: 'Language Settings' |
|
3787 |
#min: #(#Point 10 10) |
|
3788 |
#max: #(#Point 1024 768) |
|
4574 | 3789 |
#bounds: #(#Rectangle 16 46 491 717) |
4286 | 3790 |
) |
3791 |
#component: |
|
3792 |
#(#SpecCollection |
|
3793 |
#collection: #( |
|
3794 |
#(#InputFieldSpec |
|
3795 |
#name: 'EntryField1' |
|
4574 | 3796 |
#layout: #(#LayoutFrame 2 0.0 105 0 -2 1.0 125 0) |
4286 | 3797 |
#model: #languageHolder |
3798 |
#acceptOnReturn: true |
|
3799 |
#acceptOnTab: true |
|
3800 |
#acceptOnLostFocus: true |
|
4658 | 3801 |
#acceptOnPointerLeave: true |
4286 | 3802 |
) |
3803 |
#(#SequenceViewSpec |
|
3804 |
#name: 'List1' |
|
4574 | 3805 |
#layout: #(#LayoutFrame 2 0.0 125 0 -2 1.0 -30 1.0) |
4286 | 3806 |
#model: #languageHolder |
3807 |
#hasHorizontalScrollBar: true |
|
3808 |
#hasVerticalScrollBar: true |
|
3809 |
#doubleClickSelector: #doubleClick: |
|
3810 |
#useIndex: false |
|
3811 |
#sequenceList: #languageList |
|
3812 |
) |
|
3813 |
#(#LabelSpec |
|
3814 |
#label: 'Notice:' |
|
3815 |
#name: 'Notice' |
|
3816 |
#layout: #(#LayoutFrame 0 0 0 0 0 1.0 105 0) |
|
3817 |
#translateLabel: true |
|
3818 |
#labelChannel: #noticeLabelHolder |
|
3819 |
#adjust: #left |
|
3820 |
) |
|
3821 |
#(#LabelSpec |
|
3822 |
#label: 'Label' |
|
3823 |
#name: 'CurrentLang' |
|
3824 |
#layout: #(#LayoutFrame -150 1 0 0 0 1 20 0) |
|
3825 |
#style: #(#FontDescription #helvetica #bold #roman 12) |
|
3826 |
#translateLabel: true |
|
3827 |
#labelChannel: #currentLanguageChannel |
|
3828 |
#adjust: #left |
|
3829 |
) |
|
3830 |
#(#LabelSpec |
|
3831 |
#label: 'Current Language:' |
|
3832 |
#name: 'Label1' |
|
3833 |
#layout: #(#LayoutFrame 190 0 0 0 -150 1 20 0) |
|
3834 |
#translateLabel: true |
|
3835 |
#labelChannel: #currentLanguageLabel |
|
3836 |
#adjust: #right |
|
3837 |
) |
|
4574 | 3838 |
#(#HorizontalPanelViewSpec |
3839 |
#name: 'HorizontalPanel1' |
|
3840 |
#layout: #(#LayoutFrame 0 0 -30 1 0 1 0 1) |
|
3841 |
#horizontalLayout: #center |
|
3842 |
#verticalLayout: #center |
|
3843 |
#horizontalSpace: 3 |
|
3844 |
#verticalSpace: 3 |
|
3845 |
#component: |
|
3846 |
#(#SpecCollection |
|
3847 |
#collection: #( |
|
3848 |
#(#ActionButtonSpec |
|
3849 |
#label: 'Reread Language Resources' |
|
3850 |
#name: 'RereadResourcesButton' |
|
3851 |
#translateLabel: true |
|
3852 |
#model: #rereadResourceFiles |
|
4737 | 3853 |
#extent: #(#Point 228 22) |
4574 | 3854 |
) |
3855 |
) |
|
3856 |
||
3857 |
) |
|
3858 |
) |
|
4286 | 3859 |
) |
3860 |
||
3861 |
) |
|
3862 |
) |
|
3863 |
! ! |
|
3864 |
||
3865 |
!AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'accessing'! |
|
3866 |
||
3867 |
languageList |
|
3868 |
"return the value of the instance variable 'languageList' (automatically generated)" |
|
3869 |
||
3870 |
^ languageList |
|
3871 |
! ! |
|
3872 |
||
3873 |
!AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'actions'! |
|
3874 |
||
4574 | 3875 |
basicSaveSettings |
4286 | 3876 |
|
3877 |
|fontPref idx language oldLanguage territory enc |
|
3878 |
answer matchingFonts l screen newLanguage switch| |
|
3879 |
||
3880 |
newLanguage := self languageHolder value. |
|
3881 |
self withWaitCursorDo:[ |
|
3882 |
idx := translatedLanguages indexOf:newLanguage. |
|
3883 |
idx ~~ 0 ifTrue:[ |
|
3884 |
language := listOfLanguages at:idx |
|
3885 |
] ifFalse:[ |
|
3886 |
language := newLanguage |
|
3887 |
]. |
|
3888 |
(language includes:$-) ifTrue:[ |
|
3889 |
l := language asCollectionOfSubstringsSeparatedBy:$-. |
|
3890 |
language := l at:1. |
|
3891 |
territory := l at:2. |
|
3892 |
]. |
|
3893 |
territory isNil ifTrue:[ |
|
3894 |
territory := language copyTo:2 |
|
3895 |
]. |
|
3896 |
||
3897 |
"/ check if the new language needs a differently encoded font; |
|
3898 |
"/ ask user to switch font and allow cancellation. |
|
3899 |
"/ Otherwise, you are left with unreadable menu & button items ... |
|
3900 |
||
3901 |
oldLanguage := Smalltalk language. |
|
3902 |
Smalltalk language:language asSymbol. |
|
3903 |
ResourcePack flushCachedResourcePacks. |
|
3904 |
"/ refetch resources ... |
|
3905 |
resources := AbstractLauncherApplication classResources. |
|
3906 |
fontPref := resources at:'PREFERRED_FONT_ENCODING' default:'iso8859*'. |
|
3907 |
fontPref := fontPref asLowercase. |
|
3908 |
Smalltalk language:oldLanguage. |
|
3909 |
||
3910 |
switch := true. |
|
3911 |
enc := MenuView defaultFont encoding. |
|
3912 |
(fontPref match:enc asLowercase) ifFalse:[ |
|
3913 |
"/ look if there is one at all. |
|
3914 |
screen := Screen current. |
|
3915 |
matchingFonts := screen listOfAvailableFonts select:[:f | fontPref match:f encoding asLowercase]. |
|
3916 |
matchingFonts size == 0 ifTrue:[ |
|
3917 |
"/ flush and try again - just in case, the font path has changed. |
|
3918 |
screen flushListOfAvailableFonts. |
|
3919 |
matchingFonts := screen listOfAvailableFonts select:[:f | fontPref match:f encoding asLowercase]. |
|
3920 |
]. |
|
3921 |
matchingFonts size == 0 ifTrue:[ |
|
3922 |
(Dialog |
|
3923 |
confirm:(resources |
|
3924 |
string:'Your display does not offer any %1-encoded font.\\Change the language anyway ?\ (texts will probably be unreadable then)' |
|
3925 |
with:fontPref) withCRs) |
|
3926 |
ifFalse:[ |
|
3927 |
switch := false |
|
3928 |
] |
|
3929 |
] ifFalse:[ |
|
3930 |
answer := Dialog |
|
3931 |
confirmWithCancel:(resources |
|
3932 |
string:'menu font is not %1-encoded.\\Change it ?' |
|
3933 |
with:fontPref) withCRs |
|
3934 |
labels:(resources |
|
3935 |
array:#('cancel' 'no' 'yes')) |
|
3936 |
default:3. |
|
3937 |
answer isNil ifTrue:[ |
|
3938 |
switch := false |
|
3939 |
] ifFalse:[ |
|
3940 |
answer ifTrue:[ |
|
3941 |
switch := ( self requestor fontBoxForEncoding:fontPref) |
|
3942 |
] |
|
3943 |
]. |
|
3944 |
]. |
|
3945 |
]. |
|
3946 |
||
3947 |
switch ifTrue:[ |
|
3948 |
Transcript showCR:'change language to ' , newLanguage , ' ...'. |
|
3949 |
Smalltalk language:language asSymbol. |
|
3950 |
Smalltalk languageTerritory:territory asSymbol. |
|
3951 |
"/ ResourcePack flushCachedResourcePacks - already done by language-change |
|
3952 |
]. |
|
3953 |
]. |
|
4327 | 3954 |
switch ifTrue:[ |
4286 | 3955 |
self requestor notNil ifTrue:[ |
3956 |
self requestor reopenLauncher. |
|
4327 | 3957 |
] ifFalse:[ |
3958 |
NewLauncher current reopenLauncher. |
|
4286 | 3959 |
]. |
3960 |
DebugView newDebugger. |
|
3961 |
]. |
|
3962 |
self currentLanguageChannel value:self currentLanguage. |
|
4574 | 3963 |
! |
3964 |
||
3965 |
doubleClick:aEntry |
|
3966 |
||
3967 |
self saveSettingsIfUnsavedChangesArePresent. |
|
3968 |
! |
|
3969 |
||
3970 |
help |
|
3971 |
||
3972 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/languageSetting.html']. |
|
3973 |
! |
|
3974 |
||
3975 |
readSettings |
|
3976 |
self languageHolder value:self currentLanguage. |
|
3977 |
self currentLanguageChannel value:self currentLanguage. |
|
3978 |
self modifiedChannel value:false |
|
3979 |
! |
|
3980 |
||
3981 |
rereadResourceFiles |
|
3982 |
ResourcePack flushCachedResourcePacks. |
|
3983 |
||
3984 |
"/ Smalltalk language:(Smalltalk language). |
|
3985 |
"/ Smalltalk languageTerritory:(Smalltalk languageTerritory). |
|
3986 |
||
3987 |
Smalltalk changed:#Language. |
|
3988 |
Smalltalk changed:#LanguageTerritory. |
|
4286 | 3989 |
! ! |
3990 |
||
3991 |
!AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'aspects'! |
|
3992 |
||
3993 |
currentLanguageChannel |
|
3994 |
||
3995 |
currentLanguageChannel isNil ifTrue:[ |
|
3996 |
currentLanguageChannel := self currentLanguage asValue. |
|
3997 |
]. |
|
3998 |
^ currentLanguageChannel. |
|
3999 |
! |
|
4000 |
||
4001 |
currentLanguageLabel |
|
4002 |
||
4003 |
currentLanguageLabel isNil ifTrue:[ |
|
4004 |
currentLanguageLabel := (resources string:'Current Language:') asValue. |
|
4005 |
]. |
|
4006 |
^ currentLanguageLabel. |
|
4007 |
! |
|
4008 |
||
4009 |
languageHolder |
|
4010 |
||
4011 |
languageHolder isNil ifTrue:[ |
|
4012 |
languageHolder := self currentLanguage asValue. |
|
4013 |
languageHolder onChangeSend:#evaluateModified to:self. |
|
4014 |
]. |
|
4015 |
^ languageHolder. |
|
4016 |
! |
|
4017 |
||
4018 |
noticeLabelHolder |
|
4019 |
||
4020 |
noticeLabelHolder isNil ifTrue:[ |
|
4021 |
noticeLabelHolder := ((resources at:'LANG_MSG' default:'Select a Language') withCRs) asValue. |
|
4022 |
]. |
|
4023 |
^ noticeLabelHolder. |
|
4024 |
! ! |
|
4025 |
||
4026 |
!AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'initialization & release'! |
|
4027 |
||
4028 |
closeDownViews |
|
4029 |
"This is a hook method generated by the Browser. |
|
4030 |
It will be invoked when your app/dialog-window is really closed. |
|
4031 |
See also #closeDownViews, which is invoked before and may suppress the close |
|
4032 |
or ask the user for confirmation." |
|
4033 |
||
4034 |
"/ change the code below as required ... |
|
4035 |
"/ This should cleanup any leftover resources |
|
4036 |
"/ (for example, temporary files) |
|
4037 |
"/ super closeRequest will initiate the closeDown |
|
4038 |
||
4039 |
"/ add your code here |
|
4040 |
||
4041 |
"/ do not remove the one below ... |
|
4042 |
^ super closeDownViews |
|
4043 |
! |
|
4044 |
||
4045 |
initialize |
|
4046 |
||
4047 |
|flags| |
|
4048 |
||
4574 | 4049 |
listOfLanguages := self class classResources at:'LIST_OF_OFFERED_LANGUAGES' default:#('default'). |
4286 | 4050 |
listOfLanguages := listOfLanguages asOrderedCollection. |
4051 |
translatedLanguages := listOfLanguages collect:[:lang | |item| |
|
4052 |
item := resources at:lang. |
|
4053 |
item isString ifTrue:[ |
|
4054 |
item |
|
4055 |
] ifFalse:[ |
|
4056 |
item at:1 |
|
4057 |
] |
|
4058 |
]. |
|
4059 |
flags := listOfLanguages collect:[:lang | |item| |
|
4060 |
item := resources at:lang. |
|
4061 |
item isArray ifTrue:[ |
|
4062 |
item at:2 |
|
4063 |
] ifFalse:[ |
|
4064 |
nil |
|
4065 |
] |
|
4066 |
]. |
|
4067 |
flags := flags collect:[:nm | |img d| nm notNil ifTrue:[ |
|
4068 |
img := Image fromFile:nm. |
|
4069 |
img isNil ifTrue:[ |
|
4070 |
d := Smalltalk getPackageDirectoryForPackage:'stx:goodies'. |
|
4071 |
img := Image fromFile:(d construct:nm). |
|
4072 |
]. |
|
4073 |
] ifFalse:[ |
|
4074 |
nil |
|
4075 |
] |
|
4076 |
]. |
|
4077 |
listOfLanguages := listOfLanguages collect:[:nm | nm copyFrom:'LANG_' size + 1]. |
|
4078 |
languageList := translatedLanguages with:flags collect:[:lang :flag | LabelAndIcon icon:flag string:lang.]. |
|
4574 | 4079 |
|
4080 |
super initialize. |
|
4286 | 4081 |
! ! |
4082 |
||
4083 |
!AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'queries'! |
|
4084 |
||
4085 |
currentLanguage |
|
4086 |
||
4087 |
| lang | |
|
4088 |
||
4089 |
lang := Language ~= LanguageTerritory ifTrue:[ |
|
4090 |
Language , '-' , LanguageTerritory |
|
4091 |
] ifFalse:[ |
|
4092 |
Language |
|
4093 |
]. |
|
4094 |
^ languageList at:(listOfLanguages indexOf:lang) |
|
4095 |
! |
|
4096 |
||
4097 |
hasUnsavedChanges |
|
4098 |
||
4099 |
^ (self languageHolder value) ~= (self currentLanguage) |
|
4100 |
! ! |
|
4101 |
||
4312 | 4102 |
!AbstractSettingsApplication::MemorySettingsAppl class methodsFor:'image specs'! |
4103 |
||
4104 |
defaultIcon |
|
4105 |
"This resource specification was automatically generated |
|
4106 |
by the ImageEditor of ST/X." |
|
4107 |
||
4108 |
"Do not manually edit this!! If it is corrupted, |
|
4109 |
the ImageEditor may not be able to read the specification." |
|
4110 |
||
4111 |
" |
|
4112 |
self defaultIcon inspect |
|
4113 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
4114 |
Icon flushCachedIcons |
|
4115 |
" |
|
4116 |
||
4117 |
<resource: #image> |
|
4118 |
||
4119 |
^Icon |
|
4120 |
constantNamed:#'AbstractSettingsApplication::MemorySettingsAppl class defaultIcon' |
|
4121 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
4122 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RD\@@@@@@@@@@@@@@@@@@@@@@@ARIT(*IRL]R0@@@@@@@@@@@@@@@@@@M2-VUQ<UD4QV@@@@@@@@ |
|
4123 |
@@@@@@AURQ<WI!!<UEQTVS%@@@@@@@@@@@@AXI3=CH!!4QDA!!DJAT[SP@@@@@@@@AXRDQSI1,OC <QE1TRHQ @@@@@@@AUR2XWGQ MCP<OC <QHATEN0@@@@@@ |
|
4124 |
RC-VGQ\JB0,MCP0NGQPEUQ4@@@ARM14>IA\HB $JB0,MF!!TGO%,6T0@@RSMAF!!TGA0 HB $JFQL@AR9ZRTX@RDAWHALEAPTGA0 HE1HGPA<;FC@@@B$&I1LA |
|
4125 |
@ LEA@TGE1L@NU1EOQ=M@@@''L LXB@@A@ LEEQDHB1!!ERC!!U@@@@P#,@AQ\G@@@AEA@@OB5FGT!!T@@@@@@AYF0@EE0\AD1D@G5D4S%UG@@@@@@@@@C(F@@PW |
|
4126 |
E1@@GQYHH"1ET @@@@@@@@@@M0\@B!!$GMTP8S"EO@@@@@@@@@@@@@@@:B@@UET$1H$D/@@@@@@@@@@@@@@@@@C OD14\G$9ST@@@@@@@@@@@@@@@@@@@@@@@ |
|
4127 |
SAMM@@@@@@@@@@@@@@@@@@@@@@@@@@@V@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 1 1 1 3 3 3 5 5 5 9 9 9 10 10 10 14 14 14 15 15 15 20 20 20 23 23 23 25 25 25 30 30 30 34 34 34 35 35 35 39 39 39 40 40 40 44 44 44 45 45 45 49 49 49 50 50 50 57 57 57 60 60 60 69 69 69 70 70 70 80 80 80 82 82 82 83 83 83 84 84 84 89 89 89 90 90 90 93 93 93 94 94 94 95 95 95 98 98 98 99 99 99 101 101 101 106 106 106 109 109 109 113 113 113 114 114 114 119 119 120 128 128 128 134 134 134 137 137 137 137 137 139 139 139 139 143 143 143 144 144 144 145 145 145 146 146 146 147 147 147 147 147 148 148 148 148 149 149 149 150 150 150 155 155 155 156 156 156 157 157 157 158 158 158 160 160 160 162 162 162 163 163 164 165 165 165 166 166 168 167 167 167 168 168 168 172 172 172 173 173 173 175 175 175 177 177 177 178 178 178 179 179 179 180 180 180 182 182 182 182 182 184 192 192 192 193 193 196 198 198 198 200 200 200 200 200 201 201 201 201 202 202 202 203 203 203 204 204 204 204 204 206 205 205 205 206 206 206 207 207 207 209 209 209 213 213 213 225 225 225 247 247 247 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@A @@G>@@G?@@_? @??0A??0C??8C??8O??<O??<_??8_??8_??0_?? O??@G??@C?<@A?8@@?8@@C @@A@@') ; yourself); yourself] |
|
4128 |
! ! |
|
4129 |
||
4286 | 4130 |
!AbstractSettingsApplication::MemorySettingsAppl class methodsFor:'interface specs'! |
4131 |
||
4132 |
windowSpec |
|
4133 |
"This resource specification was automatically generated |
|
4134 |
by the UIPainter of ST/X." |
|
4135 |
||
4136 |
"Do not manually edit this!! If it is corrupted, |
|
4137 |
the UIPainter may not be able to read the specification." |
|
4138 |
||
4139 |
" |
|
4310 | 4140 |
UIPainter new openOnClass:AbstractSettingsApplication::MemorySettingsAppl andSelector:#windowSpec |
4141 |
AbstractSettingsApplication::MemorySettingsAppl new openInterface:#windowSpec |
|
4142 |
AbstractSettingsApplication::MemorySettingsAppl open |
|
4286 | 4143 |
" |
4144 |
||
4145 |
<resource: #canvas> |
|
4146 |
||
4147 |
^ |
|
4148 |
#(#FullSpec |
|
4149 |
#name: #windowSpec |
|
4150 |
#window: |
|
4151 |
#(#WindowSpec |
|
4152 |
#label: 'Memory Manager Settings' |
|
4153 |
#name: 'Memory Manager Settings' |
|
4154 |
#min: #(#Point 10 10) |
|
4155 |
#max: #(#Point 1024 768) |
|
4156 |
#bounds: #(#Rectangle 16 42 616 592) |
|
4157 |
) |
|
4158 |
#component: |
|
4159 |
#(#SpecCollection |
|
4160 |
#collection: #( |
|
4161 |
#(#LabelSpec |
|
4162 |
#label: 'Label' |
|
4163 |
#name: 'Label1' |
|
4164 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 50 0) |
|
4165 |
#translateLabel: true |
|
4166 |
#labelChannel: #warningLabelHolder |
|
4167 |
#adjust: #left |
|
4168 |
) |
|
4310 | 4169 |
#(#VerticalPanelViewSpec |
4170 |
#name: 'VerticalPanel1' |
|
4171 |
#layout: #(#LayoutFrame 0 0.0 50 0 0 1.0 0 1.0) |
|
4172 |
#horizontalLayout: #fit |
|
4286 | 4173 |
#verticalLayout: #center |
4174 |
#horizontalSpace: 3 |
|
4175 |
#verticalSpace: 3 |
|
4176 |
#component: |
|
4177 |
#(#SpecCollection |
|
4178 |
#collection: #( |
|
4310 | 4179 |
#(#ViewSpec |
4180 |
#name: 'NewSpaceSizeBox' |
|
4181 |
#component: |
|
4182 |
#(#SpecCollection |
|
4183 |
#collection: #( |
|
4184 |
#(#InputFieldSpec |
|
4185 |
#name: 'EntryField23' |
|
4186 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4187 |
#model: #newSpaceSize |
|
4188 |
#type: #number |
|
4189 |
#acceptOnReturn: true |
|
4190 |
#acceptOnTab: true |
|
4191 |
#acceptOnLostFocus: true |
|
4658 | 4192 |
#acceptOnPointerLeave: true |
4310 | 4193 |
) |
4194 |
#(#LabelSpec |
|
4195 |
#label: 'Size of NewSpace:' |
|
4196 |
#name: 'Label44' |
|
4197 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4198 |
#translateLabel: true |
|
4199 |
#adjust: #right |
|
4200 |
) |
|
4201 |
#(#LabelSpec |
|
4202 |
#label: 'Size of newSpace where objects are created' |
|
4203 |
#name: 'Label45' |
|
4204 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4205 |
#translateLabel: true |
|
4206 |
#adjust: #left |
|
4207 |
) |
|
4208 |
#(#DividerSpec |
|
4209 |
#name: 'Separator24' |
|
4210 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4211 |
) |
|
4212 |
) |
|
4213 |
||
4214 |
) |
|
4215 |
#extent: #(#Point 600 49) |
|
4216 |
) |
|
4217 |
#(#ViewSpec |
|
4218 |
#name: 'MaximumMemoryLimitBox' |
|
4219 |
#component: |
|
4220 |
#(#SpecCollection |
|
4221 |
#collection: #( |
|
4222 |
#(#InputFieldSpec |
|
4223 |
#name: 'EntryField24' |
|
4224 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4225 |
#model: #maxOldSpace |
|
4226 |
#type: #number |
|
4227 |
#acceptOnReturn: true |
|
4228 |
#acceptOnTab: true |
|
4229 |
#acceptOnLostFocus: true |
|
4658 | 4230 |
#acceptOnPointerLeave: true |
4310 | 4231 |
) |
4232 |
#(#LabelSpec |
|
4233 |
#label: 'Maximum Memory Limit:' |
|
4234 |
#name: 'Label46' |
|
4235 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4236 |
#translateLabel: true |
|
4237 |
#adjust: #right |
|
4238 |
) |
|
4239 |
#(#LabelSpec |
|
4240 |
#label: 'Never allocate more than this amount of memory' |
|
4241 |
#name: 'Label47' |
|
4242 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4243 |
#translateLabel: true |
|
4244 |
#adjust: #left |
|
4245 |
) |
|
4246 |
#(#DividerSpec |
|
4247 |
#name: 'Separator25' |
|
4248 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4249 |
) |
|
4250 |
) |
|
4251 |
||
4252 |
) |
|
4253 |
#extent: #(#Point 600 49) |
|
4254 |
) |
|
4255 |
#(#ViewSpec |
|
4256 |
#name: 'QuickAllocationLimitBox' |
|
4257 |
#component: |
|
4258 |
#(#SpecCollection |
|
4259 |
#collection: #( |
|
4260 |
#(#InputFieldSpec |
|
4261 |
#name: 'EntryField14' |
|
4262 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4263 |
#model: #fastMoreLimit |
|
4264 |
#type: #number |
|
4265 |
#acceptOnReturn: true |
|
4266 |
#acceptOnTab: true |
|
4267 |
#acceptOnLostFocus: true |
|
4658 | 4268 |
#acceptOnPointerLeave: true |
4310 | 4269 |
) |
4270 |
#(#LabelSpec |
|
4271 |
#label: 'Quick Allocation Limit:' |
|
4272 |
#name: 'Label26' |
|
4273 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4274 |
#translateLabel: true |
|
4275 |
#adjust: #right |
|
4276 |
) |
|
4277 |
#(#LabelSpec |
|
4278 |
#label: 'Quickly allocate more memory (suppress GC) up to this limit' |
|
4279 |
#name: 'Label27' |
|
4280 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4281 |
#translateLabel: true |
|
4282 |
#adjust: #left |
|
4283 |
) |
|
4284 |
#(#DividerSpec |
|
4285 |
#name: 'Separator15' |
|
4286 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4287 |
) |
|
4288 |
) |
|
4289 |
||
4290 |
) |
|
4291 |
#extent: #(#Point 600 50) |
|
4292 |
) |
|
4293 |
#(#ViewSpec |
|
4294 |
#name: 'IncrementalGCAllocationTriggerBox' |
|
4295 |
#component: |
|
4296 |
#(#SpecCollection |
|
4297 |
#collection: #( |
|
4298 |
#(#InputFieldSpec |
|
4299 |
#name: 'EntryField25' |
|
4300 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4301 |
#model: #igcLimit |
|
4302 |
#type: #number |
|
4303 |
#acceptOnReturn: true |
|
4304 |
#acceptOnTab: true |
|
4305 |
#acceptOnLostFocus: true |
|
4658 | 4306 |
#acceptOnPointerLeave: true |
4310 | 4307 |
) |
4308 |
#(#LabelSpec |
|
4309 |
#label: 'Incremental GC Allocation Trigger:' |
|
4310 |
#name: 'Label48' |
|
4311 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4312 |
#translateLabel: true |
|
4313 |
#adjust: #right |
|
4314 |
) |
|
4315 |
#(#LabelSpec |
|
4316 |
#label: 'Start IGC whenever this amount has been allocated' |
|
4317 |
#name: 'Label49' |
|
4318 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4319 |
#translateLabel: true |
|
4320 |
#adjust: #left |
|
4321 |
) |
|
4322 |
#(#DividerSpec |
|
4323 |
#name: 'Separator26' |
|
4324 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4325 |
) |
|
4326 |
) |
|
4327 |
||
4328 |
) |
|
4329 |
#extent: #(#Point 600 49) |
|
4330 |
) |
|
4331 |
#(#ViewSpec |
|
4332 |
#name: 'IncrementalGCFreespaceTriggerBox' |
|
4333 |
#component: |
|
4334 |
#(#SpecCollection |
|
4335 |
#collection: #( |
|
4336 |
#(#InputFieldSpec |
|
4337 |
#name: 'EntryField26' |
|
4338 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4339 |
#model: #igcFreeLimit |
|
4340 |
#type: #number |
|
4341 |
#acceptOnReturn: true |
|
4342 |
#acceptOnTab: true |
|
4343 |
#acceptOnLostFocus: true |
|
4658 | 4344 |
#acceptOnPointerLeave: true |
4310 | 4345 |
) |
4346 |
#(#LabelSpec |
|
4347 |
#label: 'Incremental GC Freespace Trigger:' |
|
4348 |
#name: 'Label50' |
|
4349 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4350 |
#translateLabel: true |
|
4351 |
#adjust: #right |
|
4352 |
) |
|
4353 |
#(#LabelSpec |
|
4354 |
#label: 'Start IGC whenever freespace drops below this' |
|
4355 |
#name: 'Label51' |
|
4356 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4357 |
#translateLabel: true |
|
4358 |
#adjust: #left |
|
4359 |
) |
|
4360 |
#(#DividerSpec |
|
4361 |
#name: 'Separator27' |
|
4362 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4363 |
) |
|
4364 |
) |
|
4365 |
||
4366 |
) |
|
4367 |
#extent: #(#Point 600 48) |
|
4286 | 4368 |
) |
4310 | 4369 |
#(#ViewSpec |
4370 |
#name: 'GCAmountBox' |
|
4371 |
#component: |
|
4372 |
#(#SpecCollection |
|
4373 |
#collection: #( |
|
4374 |
#(#InputFieldSpec |
|
4375 |
#name: 'EntryField17' |
|
4376 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4377 |
#model: #igcFreeAmount |
|
4378 |
#type: #number |
|
4379 |
#acceptOnReturn: true |
|
4380 |
#acceptOnTab: true |
|
4381 |
#acceptOnLostFocus: true |
|
4658 | 4382 |
#acceptOnPointerLeave: true |
4310 | 4383 |
) |
4384 |
#(#LabelSpec |
|
4385 |
#label: 'Incremental GC Amount:' |
|
4386 |
#name: 'Label32' |
|
4387 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4388 |
#translateLabel: true |
|
4389 |
#adjust: #right |
|
4390 |
) |
|
4391 |
#(#LabelSpec |
|
4392 |
#label: 'Try to keep this amount for peak requests' |
|
4393 |
#name: 'Label33' |
|
4394 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4395 |
#translateLabel: true |
|
4396 |
#adjust: #left |
|
4397 |
) |
|
4398 |
#(#DividerSpec |
|
4399 |
#name: 'Separator18' |
|
4400 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4401 |
) |
|
4402 |
) |
|
4403 |
||
4404 |
) |
|
4405 |
#extent: #(#Point 600 50) |
|
4406 |
) |
|
4407 |
#(#ViewSpec |
|
4408 |
#name: 'OldspaceIncrementBox' |
|
4409 |
#component: |
|
4410 |
#(#SpecCollection |
|
4411 |
#collection: #( |
|
4412 |
#(#InputFieldSpec |
|
4413 |
#name: 'EntryField18' |
|
4414 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1.0 25 0) |
|
4415 |
#model: #oldIncr |
|
4416 |
#type: #number |
|
4417 |
#acceptOnReturn: true |
|
4418 |
#acceptOnTab: true |
|
4419 |
#acceptOnLostFocus: true |
|
4658 | 4420 |
#acceptOnPointerLeave: true |
4310 | 4421 |
) |
4422 |
#(#LabelSpec |
|
4423 |
#label: 'Oldspace Increment:' |
|
4424 |
#name: 'Label34' |
|
4425 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4426 |
#translateLabel: true |
|
4427 |
#adjust: #right |
|
4428 |
) |
|
4429 |
#(#LabelSpec |
|
4430 |
#label: 'Increase oldSpace in chunks of this size' |
|
4431 |
#name: 'Label35' |
|
4432 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4433 |
#translateLabel: true |
|
4434 |
#adjust: #left |
|
4435 |
) |
|
4436 |
#(#DividerSpec |
|
4437 |
#name: 'Separator19' |
|
4438 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4439 |
) |
|
4440 |
) |
|
4441 |
||
4442 |
) |
|
4443 |
#extent: #(#Point 600 50) |
|
4444 |
) |
|
4445 |
#(#ViewSpec |
|
4446 |
#name: 'OldSpaceCompressLimitBox' |
|
4447 |
#component: |
|
4448 |
#(#SpecCollection |
|
4449 |
#collection: #( |
|
4450 |
#(#InputFieldSpec |
|
4451 |
#name: 'EntryField19' |
|
4452 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4453 |
#model: #compressLimit |
|
4454 |
#type: #number |
|
4455 |
#acceptOnReturn: true |
|
4456 |
#acceptOnTab: true |
|
4457 |
#acceptOnLostFocus: true |
|
4658 | 4458 |
#acceptOnPointerLeave: true |
4310 | 4459 |
) |
4460 |
#(#LabelSpec |
|
4461 |
#label: 'Oldspace Compress Limit:' |
|
4462 |
#name: 'Label36' |
|
4463 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4464 |
#translateLabel: true |
|
4465 |
#adjust: #right |
|
4466 |
) |
|
4467 |
#(#LabelSpec |
|
4468 |
#label: 'Use 2-pass compressing GC if > 0 and more memory is in use' |
|
4469 |
#name: 'Label37' |
|
4470 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4471 |
#translateLabel: true |
|
4472 |
#adjust: #left |
|
4473 |
) |
|
4474 |
#(#DividerSpec |
|
4475 |
#name: 'Separator20' |
|
4476 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4477 |
) |
|
4478 |
) |
|
4479 |
||
4480 |
) |
|
4481 |
#extent: #(#Point 600 50) |
|
4286 | 4482 |
) |
4310 | 4483 |
#(#ViewSpec |
4484 |
#name: 'StackLimitBox' |
|
4485 |
#component: |
|
4486 |
#(#SpecCollection |
|
4487 |
#collection: #( |
|
4488 |
#(#InputFieldSpec |
|
4489 |
#name: 'EntryField20' |
|
4490 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4491 |
#enableChannel: #supportsJustInTimeCompilation |
|
4492 |
#model: #stackLimit |
|
4493 |
#type: #number |
|
4494 |
#acceptOnReturn: true |
|
4495 |
#acceptOnTab: true |
|
4496 |
#acceptOnLostFocus: true |
|
4658 | 4497 |
#acceptOnPointerLeave: true |
4310 | 4498 |
) |
4499 |
#(#LabelSpec |
|
4500 |
#label: 'Stack Limit:' |
|
4501 |
#name: 'Label38' |
|
4502 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4503 |
#translateLabel: true |
|
4504 |
#adjust: #right |
|
4505 |
) |
|
4506 |
#(#LabelSpec |
|
4507 |
#label: 'Trigger recursionInterrupt if more stack is used by a process' |
|
4508 |
#name: 'Label39' |
|
4509 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4510 |
#translateLabel: true |
|
4511 |
#adjust: #left |
|
4512 |
) |
|
4513 |
#(#DividerSpec |
|
4514 |
#name: 'Separator21' |
|
4515 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4516 |
) |
|
4517 |
) |
|
4518 |
||
4519 |
) |
|
4520 |
#extent: #(#Point 600 550) |
|
4521 |
) |
|
4522 |
#(#ViewSpec |
|
4523 |
#name: 'CodeLimitBox' |
|
4524 |
#component: |
|
4525 |
#(#SpecCollection |
|
4526 |
#collection: #( |
|
4527 |
#(#InputFieldSpec |
|
4528 |
#name: 'EntryField21' |
|
4529 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4530 |
#enableChannel: #supportsJustInTimeCompilation |
|
4531 |
#model: #codeLimit |
|
4532 |
#type: #numberOrNil |
|
4533 |
#acceptOnReturn: true |
|
4534 |
#acceptOnTab: true |
|
4535 |
#acceptOnLostFocus: true |
|
4658 | 4536 |
#acceptOnPointerLeave: true |
4310 | 4537 |
) |
4538 |
#(#LabelSpec |
|
4539 |
#label: 'Dynamic code Limit:' |
|
4540 |
#name: 'Label40' |
|
4541 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4542 |
#translateLabel: true |
|
4543 |
#adjust: #right |
|
4544 |
) |
|
4545 |
#(#LabelSpec |
|
4546 |
#label: 'Flush dynamic compiled code to stay within this limit' |
|
4547 |
#name: 'Label41' |
|
4548 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4549 |
#translateLabel: true |
|
4550 |
#adjust: #left |
|
4551 |
) |
|
4552 |
#(#DividerSpec |
|
4553 |
#name: 'Separator22' |
|
4554 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4555 |
) |
|
4556 |
) |
|
4557 |
||
4558 |
) |
|
4559 |
#extent: #(#Point 600 50) |
|
4560 |
) |
|
4561 |
#(#ViewSpec |
|
4562 |
#name: 'CodeTriggerBox' |
|
4563 |
#component: |
|
4564 |
#(#SpecCollection |
|
4565 |
#collection: #( |
|
4566 |
#(#InputFieldSpec |
|
4567 |
#name: 'EntryField22' |
|
4568 |
#layout: #(#LayoutFrame -95 1 3 0 -5 1 25 0) |
|
4569 |
#model: #codeTrigger |
|
4570 |
#type: #number |
|
4571 |
#acceptOnReturn: true |
|
4572 |
#acceptOnTab: true |
|
4573 |
#acceptOnLostFocus: true |
|
4658 | 4574 |
#acceptOnPointerLeave: true |
4310 | 4575 |
) |
4576 |
#(#LabelSpec |
|
4577 |
#label: 'Dynamic code Limit:' |
|
4578 |
#name: 'Label42' |
|
4579 |
#layout: #(#LayoutFrame 0 0 3 0 -95 1 25 0) |
|
4580 |
#translateLabel: true |
|
4581 |
#adjust: #right |
|
4582 |
) |
|
4583 |
#(#LabelSpec |
|
4584 |
#label: 'Start incremental GC whenever this amount of code has been allocated' |
|
4585 |
#name: 'Label43' |
|
4586 |
#layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 47 0) |
|
4587 |
#translateLabel: true |
|
4588 |
#adjust: #left |
|
4589 |
) |
|
4590 |
#(#DividerSpec |
|
4591 |
#name: 'Separator23' |
|
4592 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 3 0) |
|
4593 |
) |
|
4594 |
) |
|
4595 |
||
4596 |
) |
|
4597 |
#extent: #(#Point 600 50) |
|
4286 | 4598 |
) |
4599 |
) |
|
4600 |
||
4601 |
) |
|
4602 |
) |
|
4603 |
) |
|
4604 |
||
4605 |
) |
|
4606 |
) |
|
4607 |
! ! |
|
4608 |
||
4609 |
!AbstractSettingsApplication::MemorySettingsAppl methodsFor:'actions'! |
|
4610 |
||
4574 | 4611 |
basicSaveSettings |
4612 |
||
4613 |
ObjectMemory freeSpaceGCAmount:self igcFreeAmount value. |
|
4614 |
ObjectMemory freeSpaceGCLimit:self igcFreeLimit value. |
|
4615 |
ObjectMemory incrementalGCLimit:self igcLimit value. |
|
4616 |
ObjectMemory newSpaceSize:self newSpaceSize value. |
|
4617 |
ObjectMemory oldSpaceIncrement:self oldIncr value. |
|
4618 |
Process defaultMaximumStackSize:self stackLimit value. |
|
4619 |
ObjectMemory fastMoreOldSpaceLimit:self fastMoreLimit value. |
|
4620 |
ObjectMemory maxOldSpace:self maxOldSpace value. |
|
4621 |
ObjectMemory oldSpaceCompressLimit:self compressLimit value. |
|
4622 |
ObjectMemory dynamicCodeLimit:self codeLimit value. |
|
4623 |
ObjectMemory dynamicCodeGCTrigger:self codeTrigger value. |
|
4624 |
! |
|
4625 |
||
4286 | 4626 |
help |
4627 |
||
4628 |
"/ self warn:'no help available here'. |
|
4629 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/memorySettings.html']. |
|
4630 |
! |
|
4631 |
||
4574 | 4632 |
readSettings |
4286 | 4633 |
self igcLimit value:ObjectMemory incrementalGCLimit. |
4634 |
self igcFreeLimit value:ObjectMemory freeSpaceGCLimit. |
|
4635 |
self igcFreeAmount value:ObjectMemory freeSpaceGCAmount. |
|
4636 |
self newSpaceSize value:ObjectMemory newSpaceSize. |
|
4637 |
self oldIncr value:ObjectMemory oldSpaceIncrement. |
|
4638 |
self compressLimit value:ObjectMemory oldSpaceCompressLimit. |
|
4639 |
self codeLimit value:ObjectMemory dynamicCodeLimit. |
|
4640 |
self codeTrigger value:ObjectMemory dynamicCodeGCTrigger. |
|
4641 |
self stackLimit value:Process defaultMaximumStackSize. |
|
4642 |
self fastMoreLimit value:(ObjectMemory fastMoreOldSpaceLimit:-1). |
|
4643 |
self maxOldSpace value:ObjectMemory maxOldSpace. |
|
4574 | 4644 |
self modifiedChannel value:false |
4286 | 4645 |
! ! |
4646 |
||
4647 |
!AbstractSettingsApplication::MemorySettingsAppl methodsFor:'aspects'! |
|
4648 |
||
4649 |
codeLimit |
|
4650 |
||
4651 |
codeLimit isNil ifTrue:[ |
|
4652 |
codeLimit := ObjectMemory dynamicCodeLimit asValue. |
|
4653 |
codeLimit onChangeSend:#evaluateModified to:self |
|
4654 |
]. |
|
4655 |
^ codeLimit. |
|
4656 |
! |
|
4657 |
||
4658 |
codeTrigger |
|
4659 |
||
4660 |
codeTrigger isNil ifTrue:[ |
|
4661 |
codeTrigger := ObjectMemory dynamicCodeGCTrigger asValue. |
|
4662 |
codeTrigger onChangeSend:#evaluateModified to:self |
|
4663 |
]. |
|
4664 |
^ codeTrigger. |
|
4665 |
! |
|
4666 |
||
4667 |
compressLimit |
|
4668 |
||
4669 |
compressLimit isNil ifTrue:[ |
|
4670 |
compressLimit := ObjectMemory oldSpaceCompressLimit asValue. |
|
4671 |
compressLimit onChangeSend:#evaluateModified to:self |
|
4672 |
]. |
|
4673 |
^ compressLimit. |
|
4674 |
! |
|
4675 |
||
4676 |
fastMoreLimit |
|
4677 |
||
4678 |
fastMoreLimit isNil ifTrue:[ |
|
4679 |
fastMoreLimit := (ObjectMemory fastMoreOldSpaceLimit:-1) asValue. |
|
4680 |
fastMoreLimit onChangeSend:#evaluateModified to:self |
|
4681 |
]. |
|
4682 |
^ fastMoreLimit. |
|
4683 |
! |
|
4684 |
||
4685 |
igcFreeAmount |
|
4686 |
||
4687 |
igcFreeAmount isNil ifTrue:[ |
|
4688 |
igcFreeAmount := ObjectMemory freeSpaceGCAmount asValue. |
|
4689 |
igcFreeAmount onChangeSend:#evaluateModified to:self |
|
4690 |
]. |
|
4691 |
^ igcFreeAmount. |
|
4692 |
! |
|
4693 |
||
4694 |
igcFreeLimit |
|
4695 |
||
4696 |
igcFreeLimit isNil ifTrue:[ |
|
4697 |
igcFreeLimit := ObjectMemory freeSpaceGCLimit asValue. |
|
4698 |
igcFreeLimit onChangeSend:#evaluateModified to:self |
|
4699 |
]. |
|
4700 |
^ igcFreeLimit. |
|
4701 |
! |
|
4702 |
||
4703 |
igcLimit |
|
4704 |
||
4705 |
igcLimit isNil ifTrue:[ |
|
4706 |
igcLimit := ObjectMemory incrementalGCLimit asValue. |
|
4707 |
igcLimit onChangeSend:#evaluateModified to:self |
|
4708 |
]. |
|
4709 |
^ igcLimit. |
|
4710 |
! |
|
4711 |
||
4712 |
maxOldSpace |
|
4713 |
||
4714 |
maxOldSpace isNil ifTrue:[ |
|
4715 |
maxOldSpace := ObjectMemory maxOldSpace asValue. |
|
4716 |
maxOldSpace onChangeSend:#evaluateModified to:self |
|
4717 |
]. |
|
4718 |
^ maxOldSpace. |
|
4719 |
! |
|
4720 |
||
4721 |
newSpaceSize |
|
4722 |
||
4723 |
newSpaceSize isNil ifTrue:[ |
|
4724 |
newSpaceSize := ObjectMemory newSpaceSize asValue. |
|
4725 |
newSpaceSize onChangeSend:#evaluateModified to:self |
|
4726 |
]. |
|
4727 |
^ newSpaceSize. |
|
4728 |
! |
|
4729 |
||
4730 |
oldIncr |
|
4731 |
||
4732 |
oldIncr isNil ifTrue:[ |
|
4733 |
oldIncr := ObjectMemory oldSpaceIncrement asValue. |
|
4734 |
oldIncr onChangeSend:#evaluateModified to:self |
|
4735 |
]. |
|
4736 |
^ oldIncr. |
|
4737 |
! |
|
4738 |
||
4739 |
stackLimit |
|
4740 |
||
4741 |
stackLimit isNil ifTrue:[ |
|
4742 |
stackLimit := Process defaultMaximumStackSize asValue. |
|
4743 |
stackLimit onChangeSend:#evaluateModified to:self |
|
4744 |
]. |
|
4745 |
^ stackLimit. |
|
4746 |
! |
|
4747 |
||
4748 |
supportsJustInTimeCompilation |
|
4749 |
||
4750 |
^ ObjectMemory supportsJustInTimeCompilation. |
|
4751 |
! |
|
4752 |
||
4753 |
warningLabelHolder |
|
4754 |
||
4755 |
warningLabelHolder isNil ifTrue:[ |
|
4756 |
warningLabelHolder := ValueHolder new. |
|
4757 |
]. |
|
4758 |
^ warningLabelHolder. |
|
4759 |
! ! |
|
4760 |
||
4761 |
!AbstractSettingsApplication::MemorySettingsAppl methodsFor:'initialization & release'! |
|
4762 |
||
4763 |
initialize |
|
4764 |
||
4574 | 4765 |
super initialize. |
4286 | 4766 |
self warningLabelHolder value:'Warning - invalid settings may result in failures or poor performance |
4767 |
' , 'You have been warned' allBold , '.'. |
|
4768 |
! ! |
|
4769 |
||
4770 |
!AbstractSettingsApplication::MemorySettingsAppl methodsFor:'queries'! |
|
4771 |
||
4772 |
hasUnsavedChanges |
|
4773 |
||
4774 |
^ ( |
|
4775 |
ObjectMemory freeSpaceGCAmount ~= self igcFreeAmount value or:[ |
|
4776 |
ObjectMemory freeSpaceGCLimit ~= self igcFreeLimit value or:[ |
|
4777 |
ObjectMemory incrementalGCLimit ~= self igcLimit value or:[ |
|
4778 |
ObjectMemory newSpaceSize ~= self newSpaceSize value or:[ |
|
4779 |
ObjectMemory oldSpaceIncrement ~= self oldIncr value or:[ |
|
4780 |
Process defaultMaximumStackSize ~= self stackLimit value or:[ |
|
4781 |
(ObjectMemory fastMoreOldSpaceLimit:-1) ~= self fastMoreLimit value or:[ |
|
4782 |
ObjectMemory maxOldSpace ~= self maxOldSpace value or:[ |
|
4783 |
ObjectMemory oldSpaceCompressLimit ~= self compressLimit value or:[ |
|
4784 |
ObjectMemory dynamicCodeLimit ~= self codeLimit value or:[ |
|
4785 |
ObjectMemory dynamicCodeGCTrigger ~= self codeTrigger value ]]]]]]]]]] |
|
4786 |
) |
|
4787 |
! ! |
|
4788 |
||
4312 | 4789 |
!AbstractSettingsApplication::MiscCommunicationSettingsAppl class methodsFor:'image specs'! |
4790 |
||
4791 |
defaultIcon |
|
4792 |
"This resource specification was automatically generated |
|
4793 |
by the ImageEditor of ST/X." |
|
4794 |
||
4795 |
"Do not manually edit this!! If it is corrupted, |
|
4796 |
the ImageEditor may not be able to read the specification." |
|
4797 |
||
4798 |
" |
|
4799 |
self defaultIcon inspect |
|
4800 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
4801 |
Icon flushCachedIcons |
|
4802 |
" |
|
4803 |
||
4804 |
<resource: #image> |
|
4805 |
||
4806 |
^Icon |
|
4807 |
constantNamed:#'AbstractSettingsApplication::MiscCommunicationSettingsAppl class defaultIcon' |
|
4808 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
4809 |
@@@@_$RA@@@@@@@@@@@@@HED_ @@@@@@ U2+UX\@@@@@@@@@@H]U*52A@@@@ U*9^S-A @@@@@@@HIT.HD4O8D@_%29^#6JZE"B@@@@@HIX-(@9!!&-\_"Z+ |
|
4810 |
.+QKZ(0@J @@@@@*@K*5SV2B*2XDQ+":,XR5WP8@@@@@BDJ5.+V@.E4KEA46-+*5U9TVHRD!!HP<+JKV:-%*SG1@Y@R8@WYV)I@A/@@@SH D$@E>K*BP-$PUH |
|
4811 |
QH60)2U0[$:]KYPJN$RK,JX''[TFW]BB*)*4Z\K)[Q''L6''GD *JZ.HF4UV;H_**U6\+)%T7,WDUB3G:^%_E<@WB%RG*)8\+*BL(=Q#@(!!R!!2-_P5-@@AUNA!!4 |
|
4812 |
BGV:.(IQ)I<LQS@R^VE([P@@(E9OZQT/[[*:-9=YO8M''S6B ZF4@@@@@[0@[M0I5.)!!!!(4NE@F<@&$&C@@@@@@@@G&PCBGYV&;@<!!P@@#$^P@@@@@@@@@FN@ |
|
4813 |
[R<#+J2,PHT@%$2E@@@@@@@@@@BEA7>"I;B/''$*H%$"I@@@@@@@@@@@@$#D]^RF''*F]5$D2I@@@@@@@@@@@@@@BIKB<F(VHIHSNE@@@@@@@@@@@@@@@@@I$> |
|
4814 |
MVY7@@@@@@@@@@@@@@@@@@@@@@@@!!3Y9@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 7 7 7 12 12 12 20 20 20 23 23 23 24 24 24 28 28 28 30 30 30 32 32 32 35 35 35 40 40 40 41 41 41 43 43 43 45 45 45 48 47 48 50 49 50 51 50 51 52 52 52 54 53 54 55 54 55 56 56 56 58 57 58 58 58 58 59 59 59 60 59 60 60 60 60 61 61 61 62 62 62 66 65 66 66 66 66 67 66 67 68 67 68 69 69 69 70 69 70 70 70 70 71 71 71 72 71 72 73 73 73 74 73 74 75 75 75 76 75 76 76 76 76 77 76 77 78 78 78 79 79 79 80 80 80 85 84 85 86 84 86 86 85 86 87 86 87 87 87 87 88 87 88 89 88 89 89 89 89 90 88 90 90 89 90 93 91 93 93 93 93 94 92 94 94 93 94 96 94 96 97 96 97 98 97 98 99 98 99 99 99 99 100 99 100 100 100 100 102 102 102 103 103 103 104 103 104 104 104 104 105 105 105 106 106 106 108 107 108 109 109 109 110 110 110 111 110 111 113 113 113 114 113 114 114 114 114 115 115 115 116 116 116 117 115 117 118 118 118 120 120 120 121 121 121 122 121 122 122 122 122 123 122 123 123 123 123 124 124 124 125 125 125 127 127 127 128 128 128 129 129 129 130 130 130 131 131 131 132 131 132 132 132 132 133 132 133 134 134 134 135 135 135 136 136 136 137 137 137 138 138 138 140 139 140 142 142 142 147 147 147 151 151 151 153 153 153 154 154 154 155 155 155 156 155 156 156 156 156 159 159 159 164 163 164 165 165 165 167 167 167 168 168 168 170 170 170 172 172 172 174 174 174 175 174 175 177 177 177 178 178 178 181 181 181 182 182 182 183 183 183 185 185 185 189 189 189 190 190 190 191 191 191 192 192 192 194 192 194 194 194 194 195 195 195 196 196 196 198 196 198 199 198 199 200 200 200 201 200 201 201 201 201 202 201 202 202 202 202 203 203 203 204 204 204 205 204 205 205 205 205 206 205 206 206 206 206 209 209 209 210 210 210 211 211 211 212 212 212 213 212 213 213 213 213 214 214 214 215 213 215 215 215 215 216 216 216 217 216 217 217 217 217 218 217 218 219 219 219 221 219 221 222 221 222 224 222 224 224 223 224 225 223 225 225 224 225 225 225 225 226 224 226 226 225 226 227 226 227 228 226 228 229 228 229 231 231 231 232 231 232 235 234 235 237 237 237 239 239 239 241 241 241 244 244 244 247 247 247 248 248 248 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'G@C O G0_0O8?8_<?(W<?8_<???<=:^<???<???<???<_??<O??<O??<B?=\@?<8@?=0@?? @??@@_>@@O @@G@@') ; yourself); yourself] |
|
4815 |
! ! |
|
4816 |
||
4310 | 4817 |
!AbstractSettingsApplication::MiscCommunicationSettingsAppl class methodsFor:'interface specs'! |
4818 |
||
4819 |
windowSpec |
|
4820 |
"This resource specification was automatically generated |
|
4821 |
by the UIPainter of ST/X." |
|
4822 |
||
4823 |
"Do not manually edit this!! If it is corrupted, |
|
4824 |
the UIPainter may not be able to read the specification." |
|
4825 |
||
4826 |
" |
|
4434 | 4827 |
UIPainter new openOnClass:AbstractSettingsApplication::MiscCommunicationSettingsAppl andSelector:#windowSpec |
4828 |
AbstractSettingsApplication::MiscCommunicationSettingsAppl new openInterface:#windowSpec |
|
4829 |
AbstractSettingsApplication::MiscCommunicationSettingsAppl open |
|
4310 | 4830 |
" |
4831 |
||
4832 |
<resource: #canvas> |
|
4833 |
||
4834 |
^ |
|
4835 |
#(#FullSpec |
|
4836 |
#name: #windowSpec |
|
4837 |
#window: |
|
4838 |
#(#WindowSpec |
|
4839 |
#label: 'Communication Settings' |
|
4840 |
#name: 'Communication Settings' |
|
4841 |
#min: #(#Point 10 10) |
|
4842 |
#max: #(#Point 1024 768) |
|
4434 | 4843 |
#bounds: #(#Rectangle 16 46 616 560) |
4310 | 4844 |
) |
4845 |
#component: |
|
4846 |
#(#SpecCollection |
|
4847 |
#collection: #( |
|
4848 |
#(#VerticalPanelViewSpec |
|
4849 |
#name: 'VerticalPanel2' |
|
4850 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
4851 |
#horizontalLayout: #fit |
|
4852 |
#verticalLayout: #center |
|
4853 |
#horizontalSpace: 3 |
|
4854 |
#verticalSpace: 3 |
|
4855 |
#component: |
|
4856 |
#(#SpecCollection |
|
4857 |
#collection: #( |
|
4858 |
#(#VerticalPanelViewSpec |
|
4859 |
#name: 'VerticalPanel1' |
|
4860 |
#horizontalLayout: #fit |
|
4861 |
#verticalLayout: #center |
|
4862 |
#horizontalSpace: 3 |
|
4863 |
#verticalSpace: 3 |
|
4864 |
#component: |
|
4865 |
#(#SpecCollection |
|
4866 |
#collection: #( |
|
4867 |
#(#LabelSpec |
|
4868 |
#label: 'Remote browsing' |
|
4869 |
#name: 'Label1' |
|
4870 |
#translateLabel: true |
|
4871 |
#extent: #(#Point 600 22) |
|
4872 |
) |
|
4873 |
#(#ViewSpec |
|
4874 |
#name: 'Box1' |
|
4875 |
#component: |
|
4876 |
#(#SpecCollection |
|
4877 |
#collection: #( |
|
4878 |
#(#CheckBoxSpec |
|
4879 |
#label: 'Remote browsing enabled' |
|
4880 |
#name: 'CheckBox1' |
|
4881 |
#layout: #(#LayoutFrame 5 0 0 0 600 0 22 0) |
|
4882 |
#enableChannel: #hasRemoteBrowsingSupport |
|
4883 |
#model: #remoteBrowsingEnabled |
|
4884 |
#translateLabel: true |
|
4885 |
) |
|
4886 |
) |
|
4887 |
||
4888 |
) |
|
4889 |
#extent: #(#Point 600 23) |
|
4890 |
) |
|
4891 |
#(#DividerSpec |
|
4892 |
#name: 'Separator1' |
|
4893 |
#extent: #(#Point 600 4) |
|
4894 |
) |
|
4895 |
#(#LabelSpec |
|
4896 |
#label: 'Window migration' |
|
4897 |
#name: 'Label2' |
|
4898 |
#translateLabel: true |
|
4899 |
#extent: #(#Point 600 22) |
|
4900 |
) |
|
4901 |
#(#ViewSpec |
|
4902 |
#name: 'Box2' |
|
4903 |
#component: |
|
4904 |
#(#SpecCollection |
|
4905 |
#collection: #( |
|
4906 |
#(#CheckBoxSpec |
|
4907 |
#label: 'Window migration enabled' |
|
4908 |
#name: 'CheckBox2' |
|
4909 |
#layout: #(#LayoutFrame 5 0 0 0 600 0 22 0) |
|
4910 |
#enableChannel: #hasWindowMigrationServer |
|
4911 |
#model: #windowMigrationEnabled |
|
4912 |
#translateLabel: true |
|
4913 |
) |
|
4914 |
) |
|
4915 |
||
4916 |
) |
|
4917 |
#extent: #(#Point 600 23) |
|
4918 |
) |
|
4919 |
#(#ViewSpec |
|
4920 |
#name: 'Box3' |
|
4921 |
#component: |
|
4922 |
#(#SpecCollection |
|
4923 |
#collection: #( |
|
4924 |
#(#CheckBoxSpec |
|
4925 |
#label: 'Password check' |
|
4926 |
#name: 'CheckBox3' |
|
4927 |
#layout: #(#LayoutFrame 5 0 0 0 600 0 22 0) |
|
4928 |
#enableChannel: #enablePasswordCheck |
|
4929 |
#model: #windowMigrationAuthenticate |
|
4930 |
#translateLabel: true |
|
4931 |
) |
|
4932 |
) |
|
4933 |
||
4934 |
) |
|
4935 |
#extent: #(#Point 600 22) |
|
4936 |
) |
|
4937 |
#(#ViewSpec |
|
4938 |
#name: 'Box4' |
|
4939 |
#component: |
|
4940 |
#(#SpecCollection |
|
4941 |
#collection: #( |
|
4942 |
#(#LabelSpec |
|
4943 |
#label: 'Password:' |
|
4944 |
#name: 'Label3' |
|
4945 |
#layout: #(#LayoutFrame 0 0 0 0 150 0 22 0) |
|
4946 |
#translateLabel: true |
|
4947 |
#adjust: #right |
|
4948 |
) |
|
4949 |
#(#InputFieldSpec |
|
4950 |
#name: 'EntryField1' |
|
4951 |
#layout: #(#LayoutFrame 150 0 0 0 -5 1 22 0) |
|
4952 |
#enableChannel: #windowMigrationAuthenticate |
|
4953 |
#model: #windowMigrationPassword |
|
4954 |
#type: #password |
|
4955 |
#acceptOnReturn: true |
|
4956 |
#acceptOnTab: true |
|
4957 |
#acceptOnLostFocus: true |
|
4658 | 4958 |
#acceptOnPointerLeave: true |
4310 | 4959 |
) |
4960 |
) |
|
4961 |
||
4962 |
) |
|
4963 |
#extent: #(#Point 600 22) |
|
4964 |
) |
|
4965 |
) |
|
4966 |
||
4967 |
) |
|
4968 |
#extent: #(#Point 600 250) |
|
4969 |
) |
|
4970 |
) |
|
4971 |
||
4972 |
) |
|
4973 |
) |
|
4974 |
) |
|
4975 |
||
4976 |
) |
|
4977 |
) |
|
4978 |
! ! |
|
4979 |
||
4980 |
!AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'actions'! |
|
4981 |
||
4574 | 4982 |
basicSaveSettings |
4983 |
||
4984 |
self hasRemoteBrowsingSupport ifTrue:[ |
|
4985 |
self remoteBrowsingEnabled value ifTrue:[ |
|
4986 |
SmalltalkShareServer serverRunning ifTrue:[ |
|
4987 |
SmalltalkShareServer killAll |
|
4988 |
]. |
|
4989 |
] ifFalse:[ |
|
4990 |
SmalltalkShareServer serverRunning not ifTrue:[ |
|
4991 |
SmalltalkShareServer start. |
|
4992 |
"/ must wait a bit; give it a chance to |
|
4993 |
"/ really start (before checking) |
|
4994 |
Delay waitForSeconds:0.5. |
|
4995 |
SmalltalkShareServer serverRunning ifFalse:[ |
|
4996 |
self warn:'SmalltalkShareServer startup failed (see stderr).' |
|
4997 |
] |
|
4998 |
]. |
|
4999 |
]. |
|
5000 |
]. |
|
5001 |
self hasWindowMigrationServer ifTrue:[ |
|
5002 |
self windowMigrationAuthenticate value ifTrue:[ |
|
5003 |
WindowMigrationServer password:self windowMigrationPassword value. |
|
5004 |
] ifFalse:[ |
|
5005 |
WindowMigrationServer password:nil |
|
5006 |
]. |
|
5007 |
self windowMigrationEnabled value ifTrue:[ |
|
5008 |
WindowMigrationServer serverRunning ifTrue:[ |
|
5009 |
WindowMigrationServer stop |
|
5010 |
]. |
|
5011 |
] ifFalse:[ |
|
5012 |
WindowMigrationServer serverRunning not ifTrue:[ |
|
5013 |
WindowMigrationServer start. |
|
5014 |
"/ must wait a bit; give it a chance to |
|
5015 |
"/ really start (before checking) |
|
5016 |
Delay waitForSeconds:0.5. |
|
5017 |
WindowMigrationServer serverRunning ifFalse:[ |
|
5018 |
self warn:'WindowMigrationServer startup failed (see stderr).' |
|
5019 |
] |
|
5020 |
]. |
|
5021 |
]. |
|
5022 |
]. |
|
5023 |
! |
|
5024 |
||
4310 | 5025 |
help |
5026 |
||
5027 |
"/ self warn:'no help available here'. |
|
5028 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/communicationsSettings.html']. |
|
5029 |
! |
|
5030 |
||
4574 | 5031 |
readSettings |
5032 |
self remoteBrowsingEnabled value:(self hasRemoteBrowsingSupport |
|
5033 |
and:[SmalltalkShareServer isLoaded and:[SmalltalkShareServer serverRunning]]). |
|
5034 |
self windowMigrationEnabled value:(self hasWindowMigrationServer |
|
5035 |
and:[ |
|
5036 |
WindowMigrationServer isLoaded and:[WindowMigrationServer serverRunning] |
|
5037 |
]). |
|
4310 | 5038 |
(self hasWindowMigrationServer and:[WindowMigrationServer isLoaded]) ifTrue:[ |
5039 |
self windowMigrationPassword value:WindowMigrationServer password. |
|
4574 | 5040 |
self windowMigrationAuthenticate |
5041 |
value:self windowMigrationPassword value notNil |
|
4310 | 5042 |
] ifFalse:[ |
5043 |
self windowMigrationPassword value:nil. |
|
4574 | 5044 |
self windowMigrationAuthenticate value:false |
5045 |
]. |
|
5046 |
self modifiedChannel value:false |
|
4310 | 5047 |
! ! |
5048 |
||
5049 |
!AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'aspects'! |
|
5050 |
||
5051 |
enablePasswordCheck |
|
5052 |
||
5053 |
enablePasswordCheck isNil ifTrue:[ |
|
5054 |
self hasWindowMigrationServer not ifTrue:[ |
|
5055 |
enablePasswordCheck := false asValue. |
|
5056 |
] ifFalse:[ |
|
5057 |
enablePasswordCheck := self windowMigrationEnabled. |
|
5058 |
]. |
|
5059 |
]. |
|
5060 |
^ enablePasswordCheck. |
|
5061 |
! |
|
5062 |
||
5063 |
remoteBrowsingEnabled |
|
5064 |
||
5065 |
remoteBrowsingEnabled isNil ifTrue:[ |
|
5066 |
remoteBrowsingEnabled := true asValue. |
|
5067 |
remoteBrowsingEnabled onChangeSend:#evaluateModified to:self. |
|
5068 |
]. |
|
5069 |
^ remoteBrowsingEnabled. |
|
5070 |
! |
|
5071 |
||
5072 |
windowMigrationAuthenticate |
|
5073 |
||
5074 |
windowMigrationAuthenticate isNil ifTrue:[ |
|
5075 |
windowMigrationAuthenticate := true asValue. |
|
5076 |
windowMigrationAuthenticate onChangeSend:#evaluateModified to:self. |
|
5077 |
]. |
|
5078 |
^ windowMigrationAuthenticate. |
|
5079 |
! |
|
5080 |
||
5081 |
windowMigrationEnabled |
|
5082 |
||
5083 |
windowMigrationEnabled isNil ifTrue:[ |
|
5084 |
windowMigrationEnabled := true asValue. |
|
5085 |
windowMigrationEnabled onChangeSend:#evaluateModified to:self. |
|
5086 |
]. |
|
5087 |
^ windowMigrationEnabled. |
|
5088 |
! |
|
5089 |
||
5090 |
windowMigrationPassword |
|
5091 |
||
5092 |
windowMigrationPassword isNil ifTrue:[ |
|
5093 |
windowMigrationPassword := ValueHolder new. |
|
5094 |
windowMigrationPassword onChangeSend:#evaluateModified to:self. |
|
5095 |
]. |
|
5096 |
^ windowMigrationPassword. |
|
5097 |
! ! |
|
5098 |
||
5099 |
!AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'change & update'! |
|
5100 |
||
5101 |
update:something with:aParameter from:changedObject |
|
5102 |
"Invoked when an object that I depend upon sends a change notification." |
|
5103 |
||
5104 |
"stub code automatically generated - please change as required" |
|
5105 |
||
5106 |
"/ changedObject == self allOfThem ifTrue:[ |
|
5107 |
"/ ^ self. |
|
5108 |
"/ ]. |
|
5109 |
||
5110 |
super update:something with:aParameter from:changedObject |
|
5111 |
! ! |
|
5112 |
||
5113 |
!AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'initialization & release'! |
|
5114 |
||
5115 |
initialize |
|
4574 | 5116 |
super initialize. |
5117 |
self readSettings. |
|
4310 | 5118 |
! ! |
5119 |
||
5120 |
!AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'queries'! |
|
5121 |
||
5122 |
hasRemoteBrowsingSupport |
|
5123 |
||
5124 |
^ SmalltalkShareServer notNil |
|
5125 |
! |
|
5126 |
||
5127 |
hasUnsavedChanges |
|
5128 |
||
5129 |
^ ( |
|
5130 |
self remoteBrowsingEnabled value ~= (self hasRemoteBrowsingSupport and:[SmalltalkShareServer isLoaded and:[SmalltalkShareServer serverRunning]]) or:[ |
|
5131 |
self windowMigrationEnabled value ~= (self hasWindowMigrationServer and:[WindowMigrationServer isLoaded and:[WindowMigrationServer serverRunning]]) or:[ |
|
5132 |
self windowMigrationPassword value ~= WindowMigrationServer password or:[ |
|
5133 |
self windowMigrationAuthenticate value ~= self windowMigrationPassword value notNil ]]] |
|
5134 |
) |
|
5135 |
! |
|
5136 |
||
5137 |
hasWindowMigrationServer |
|
5138 |
||
5139 |
^ WindowMigrationServer notNil |
|
5140 |
! ! |
|
5141 |
||
4398 | 5142 |
!AbstractSettingsApplication::MiscDisplaySettingsAppl class methodsFor:'image specs'! |
5143 |
||
5144 |
defaultIcon |
|
5145 |
"This resource specification was automatically generated |
|
5146 |
by the ImageEditor of ST/X." |
|
5147 |
||
5148 |
"Do not manually edit this!! If it is corrupted, |
|
5149 |
the ImageEditor may not be able to read the specification." |
|
5150 |
||
5151 |
" |
|
5152 |
self defaultIcon inspect |
|
5153 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
5154 |
Icon flushCachedIcons |
|
5155 |
" |
|
5156 |
||
5157 |
<resource: #image> |
|
5158 |
||
5159 |
^Icon |
|
5160 |
constantNamed:#'AbstractSettingsApplication::MiscDisplaySettingsAppl class defaultIcon' |
|
5161 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
5162 |
@@@@@@@@@@@@@@DA@@@@@@@@@@@@@@@@@@@@@@@@@@DBAPD@@@@@@@@@@@@@@@@@@@@@@@DBAPTF@P@@@@@@@@@@@@@@@@@@@@DBAPTFA DA@@@@@@@@@@@@ |
|
5163 |
@@@@@@LB@ HFA \G@PD@@@@@@@@@@@@@@@LB@ HB@ GA0(J@P@@@@@@@@@@@@LB@ HB@ HBB \IB ,A@@@@@@@@@@LB@ HB@ HB@ 4NB ,OC0DE@@@@@@LB |
|
5164 |
@ HB@ HB@ HB@ 8OC0TE@P@@@@@@@0HB@ HB@ HBCQDQC0TEAPHP@AHRD!!HRD!!HRD!!HRD!!HRD!!HAA@HC@@@RD HED1LTEQXVE1 BAPTR@ DC@@@@D!!HBAQLS |
|
5165 |
EATVE!!\X@ TED HC@@@@@AHRAPPYFQ([GA0]G TDAAHC@@@@@@@C@0HB@ HB@ HB@!!<MDQDC@@@@@@@@@0LB@ HB@ HB@ H_CQDQ@0@@@@@@@@LC@ HB@ HB |
|
5166 |
@ HBCP4QDPL@@@@@@@@C@0HB@ HB@ HB@ 4MDQDC@@@@@@@@@0LB@ HB@ HB@!!<MDQDQ@0@@@@@@@@LC@ HB@ HB@ H_CQDQDPL@@@@@@@@C@0HB@ HB@ HB |
|
5167 |
CP4QDQDC@@@@@@@@@0LC@0LC@0LC@0LC@0LC@0@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 96 88 248 248 248 80 80 80 128 128 128 192 192 192 64 144 136 48 120 112 56 136 128 56 128 120 40 104 96 40 104 104 32 96 96 232 232 232 32 88 88 32 88 80 64 104 104 224 224 224 0 88 128 24 152 192 16 136 184 16 128 168 8 120 160 8 112 152 8 104 144 16 120 152 16 112 144 8 104 136 8 96 128 8 88 120 0 80 112 240 240 240]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C@@@G @@O0@@_8@@?<@A?>@C??@G??0O??0G??8???0??? ???@??>@??<@??<@??<@??<@??<@??<@??<@??<@') ; yourself); yourself] |
|
5168 |
! ! |
|
5169 |
||
5170 |
!AbstractSettingsApplication::MiscDisplaySettingsAppl class methodsFor:'interface specs'! |
|
4286 | 5171 |
|
5172 |
windowSpec |
|
5173 |
"This resource specification was automatically generated |
|
5174 |
by the UIPainter of ST/X." |
|
5175 |
||
5176 |
"Do not manually edit this!! If it is corrupted, |
|
5177 |
the UIPainter may not be able to read the specification." |
|
5178 |
||
5179 |
" |
|
4398 | 5180 |
UIPainter new openOnClass:AbstractSettingsApplication::MiscDisplaySettingsAppl andSelector:#windowSpec |
5181 |
AbstractSettingsApplication::MiscDisplaySettingsAppl new openInterface:#windowSpec |
|
5182 |
AbstractSettingsApplication::MiscDisplaySettingsAppl open |
|
4286 | 5183 |
" |
5184 |
||
5185 |
<resource: #canvas> |
|
5186 |
||
5187 |
^ |
|
5188 |
#(#FullSpec |
|
5189 |
#name: #windowSpec |
|
5190 |
#window: |
|
5191 |
#(#WindowSpec |
|
4405 | 5192 |
#label: 'Display settings' |
5193 |
#name: 'Display settings' |
|
4286 | 5194 |
#min: #(#Point 10 10) |
5195 |
#max: #(#Point 1024 768) |
|
4574 | 5196 |
#bounds: #(#Rectangle 16 46 526 612) |
4286 | 5197 |
) |
5198 |
#component: |
|
5199 |
#(#SpecCollection |
|
5200 |
#collection: #( |
|
4310 | 5201 |
#(#VerticalPanelViewSpec |
4398 | 5202 |
#name: 'VerticalPanel2' |
4310 | 5203 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
5204 |
#horizontalLayout: #fit |
|
4286 | 5205 |
#verticalLayout: #center |
5206 |
#horizontalSpace: 3 |
|
5207 |
#verticalSpace: 3 |
|
5208 |
#component: |
|
5209 |
#(#SpecCollection |
|
5210 |
#collection: #( |
|
4398 | 5211 |
#(#VerticalPanelViewSpec |
5212 |
#name: 'VerticalPanel1' |
|
5213 |
#horizontalLayout: #fitSpace |
|
5214 |
#verticalLayout: #topSpace |
|
5215 |
#horizontalSpace: 5 |
|
5216 |
#verticalSpace: 3 |
|
4310 | 5217 |
#component: |
5218 |
#(#SpecCollection |
|
5219 |
#collection: #( |
|
5220 |
#(#CheckBoxSpec |
|
4398 | 5221 |
#label: 'Shadows under PopUp Views' |
5222 |
#name: 'CheckBox1' |
|
5223 |
#model: #shadows |
|
5224 |
#translateLabel: true |
|
5225 |
#extent: #(#Point 500 22) |
|
5226 |
) |
|
5227 |
#(#CheckBoxSpec |
|
5228 |
#label: 'Beeper enabled' |
|
5229 |
#name: 'CheckBox2' |
|
5230 |
#model: #beepEnabled |
|
5231 |
#translateLabel: true |
|
5232 |
#extent: #(#Point 500 22) |
|
5233 |
) |
|
5234 |
#(#CheckBoxSpec |
|
5235 |
#label: 'Boxes Return Focus to Previously Active View' |
|
5236 |
#name: 'CheckBox3' |
|
5237 |
#model: #returnFocus |
|
5238 |
#translateLabel: true |
|
5239 |
#extent: #(#Point 500 22) |
|
5240 |
) |
|
5241 |
#(#CheckBoxSpec |
|
5242 |
#label: 'Views Catch Focus when Mapped' |
|
5243 |
#name: 'CheckBox4' |
|
5244 |
#model: #takeFocus |
|
5245 |
#translateLabel: true |
|
5246 |
#extent: #(#Point 500 22) |
|
5247 |
) |
|
5248 |
#(#CheckBoxSpec |
|
5249 |
#label: 'Show Accelerator Keys in Menus' |
|
5250 |
#name: 'CheckBox6' |
|
5251 |
#model: #showAccelerators |
|
5252 |
#translateLabel: true |
|
5253 |
#extent: #(#Point 500 22) |
|
5254 |
) |
|
5255 |
#(#CheckBoxSpec |
|
5256 |
#label: 'Raise & Activate Windows on Click' |
|
5257 |
#name: 'CheckBox7' |
|
5258 |
#model: #activateOnClick |
|
5259 |
#translateLabel: true |
|
5260 |
#extent: #(#Point 500 22) |
|
5261 |
) |
|
5262 |
#(#CheckBoxSpec |
|
5263 |
#label: 'Focus Follows Mouse' |
|
5264 |
#name: 'CheckBox8' |
|
5265 |
#model: #focusFollowsMouse |
|
4310 | 5266 |
#translateLabel: true |
4398 | 5267 |
#extent: #(#Point 500 22) |
5268 |
) |
|
5269 |
#(#CheckBoxSpec |
|
5270 |
#label: 'Opaque Variable Panel Resizing' |
|
5271 |
#name: 'CheckBox9' |
|
5272 |
#model: #opaqueVariablePanelResize |
|
5273 |
#translateLabel: true |
|
5274 |
#extent: #(#Point 500 22) |
|
5275 |
) |
|
5276 |
#(#CheckBoxSpec |
|
5277 |
#label: 'Opaque Table Column Resizing' |
|
5278 |
#name: 'CheckBox10' |
|
5279 |
#model: #opaqueTableColumnResize |
|
5280 |
#translateLabel: true |
|
5281 |
#extent: #(#Point 500 22) |
|
5282 |
) |
|
5283 |
#(#ViewSpec |
|
5284 |
#name: 'Box1' |
|
5285 |
#component: |
|
5286 |
#(#SpecCollection |
|
5287 |
#collection: #( |
|
5288 |
#(#LabelSpec |
|
5289 |
#label: 'Label' |
|
5290 |
#name: 'Label1' |
|
5291 |
#layout: #(#LayoutFrame 0 0.0 0 0 0 1.0 -22 1) |
|
5292 |
#translateLabel: true |
|
5293 |
#labelChannel: #formatHostNameWindowLabel |
|
5294 |
#adjust: #leftRight |
|
5295 |
) |
|
5296 |
#(#CheckBoxSpec |
|
5297 |
#label: 'Hostname in Window Labels' |
|
5298 |
#name: 'CheckBox5' |
|
4574 | 5299 |
#layout: #(#LayoutFrame 0 0 -22 1 216 0 0 1) |
4398 | 5300 |
#model: #hostNameInLabelHolder |
5301 |
#translateLabel: true |
|
5302 |
) |
|
5303 |
#(#InputFieldSpec |
|
5304 |
#name: 'EntryField1' |
|
4574 | 5305 |
#layout: #(#LayoutFrame 218 0 -22 1 -5 1 0 1) |
4398 | 5306 |
#enableChannel: #hostNameInLabelHolder |
5307 |
#model: #newWindowLabelFormat |
|
5308 |
#immediateAccept: true |
|
5309 |
#acceptOnReturn: true |
|
5310 |
#acceptOnTab: true |
|
5311 |
#acceptOnLostFocus: true |
|
4658 | 5312 |
#acceptOnPointerLeave: true |
4398 | 5313 |
) |
5314 |
) |
|
5315 |
||
5316 |
) |
|
5317 |
#extent: #(#Point 500 120) |
|
4310 | 5318 |
) |
5319 |
) |
|
5320 |
||
5321 |
) |
|
4398 | 5322 |
#extent: #(#Point 510 550) |
4387 | 5323 |
) |
4286 | 5324 |
) |
5325 |
||
5326 |
) |
|
5327 |
) |
|
5328 |
) |
|
5329 |
||
5330 |
) |
|
5331 |
) |
|
4398 | 5332 |
! ! |
5333 |
||
5334 |
!AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'actions'! |
|
4286 | 5335 |
|
4574 | 5336 |
basicSaveSettings |
5337 |
||
5338 |
PopUpView shadows:self shadows value. |
|
5339 |
(self hostNameInLabelHolder value ~= StandardSystemView includeHostNameInLabel |
|
5340 |
or:[self newWindowLabelFormat value ~= StandardSystemView windowLabelFormat]) ifTrue:[ |
|
5341 |
StandardSystemView includeHostNameInLabel:self hostNameInLabelHolder value. |
|
5342 |
self newWindowLabelFormat value notNil ifTrue:[ |
|
5343 |
StandardSystemView windowLabelFormat:self newWindowLabelFormat value |
|
5344 |
]. |
|
5345 |
||
5346 |
Screen allScreens do:[:aDisplay | |
|
5347 |
aDisplay allViewsDo:[:aView | |
|
5348 |
|l| |
|
5349 |
||
5350 |
aView isTopView ifTrue:[ |
|
5351 |
l := aView label. |
|
5352 |
l notNil ifTrue:[ |
|
5353 |
aView label:(l , ' '); label:l. "/ force a change |
|
5354 |
] |
|
5355 |
] |
|
5356 |
] |
|
5357 |
] |
|
5358 |
]. |
|
5359 |
||
5360 |
currentUserPrefs opaqueVariablePanelResizing:self opaqueVariablePanelResize value. |
|
5361 |
currentUserPrefs opaqueTableColumnResizing:self opaqueTableColumnResize value. |
|
5362 |
||
5363 |
currentUserPrefs beepEnabled:self beepEnabled value. |
|
5364 |
||
5365 |
StandardSystemView returnFocusWhenClosingModalBoxes:self returnFocus value. |
|
5366 |
StandardSystemView takeFocusWhenMapped:self takeFocus value. |
|
5367 |
currentUserPrefs focusFollowsMouse:self focusFollowsMouse value. |
|
5368 |
Screen current activateOnClick:self activateOnClick value. |
|
5369 |
||
5370 |
MenuView showAcceleratorKeys:self showAccelerators value. |
|
5371 |
||
5372 |
"Modified: / 16.12.2002 / 18:06:31 / penk" |
|
5373 |
! |
|
5374 |
||
4286 | 5375 |
formatHostNameinWindowLabels |
5376 |
|newFormat| |
|
5377 |
||
5378 |
newFormat := Dialog request: |
|
5379 |
'Define the Format of Window Labels:\\ %1 - Label\ %2 - Hostname\ %3 - Username\ %4 - ProcessId\' |
|
5380 |
withCRs initialAnswer:newWindowLabelFormat. |
|
5381 |
||
5382 |
newFormat size > 0 ifTrue:[ |
|
5383 |
newWindowLabelFormat := newFormat. |
|
5384 |
self evaluateModified. |
|
5385 |
]. |
|
5386 |
! |
|
5387 |
||
5388 |
help |
|
5389 |
||
5390 |
"/ self warn:'no help available here'. |
|
5391 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/miscSettings.html']. |
|
5392 |
! |
|
5393 |
||
4574 | 5394 |
readSettings |
4286 | 5395 |
self shadows value:PopUpView shadows. |
5396 |
self beepEnabled value:currentUserPrefs beepEnabled. |
|
4387 | 5397 |
self newWindowLabelFormat value:StandardSystemView windowLabelFormat. |
4574 | 5398 |
self hostNameInLabelHolder |
5399 |
value:StandardSystemView includeHostNameInLabel. |
|
5400 |
self returnFocus |
|
5401 |
value:StandardSystemView returnFocusWhenClosingModalBoxes. |
|
5402 |
self takeFocus value:StandardSystemView takeFocusWhenMapped. |
|
5403 |
self focusFollowsMouse value:(currentUserPrefs focusFollowsMouse ? true). |
|
4286 | 5404 |
self activateOnClick value:(Display activateOnClick:nil). |
4574 | 5405 |
self opaqueVariablePanelResize |
5406 |
value:currentUserPrefs opaqueVariablePanelResizing. |
|
5407 |
self opaqueTableColumnResize |
|
5408 |
value:currentUserPrefs opaqueTableColumnResizing. |
|
4286 | 5409 |
self showAccelerators value:MenuView showAcceleratorKeys. |
4574 | 5410 |
self modifiedChannel value:false |
4286 | 5411 |
! ! |
5412 |
||
4398 | 5413 |
!AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'aspects'! |
4286 | 5414 |
|
5415 |
activateOnClick |
|
5416 |
||
5417 |
activateOnClick isNil ifTrue:[ |
|
5418 |
activateOnClick := true asValue. |
|
5419 |
activateOnClick onChangeSend:#evaluateModified to:self |
|
5420 |
]. |
|
5421 |
^ activateOnClick. |
|
5422 |
! |
|
5423 |
||
5424 |
beepEnabled |
|
5425 |
||
5426 |
beepEnabled isNil ifTrue:[ |
|
5427 |
beepEnabled := true asValue. |
|
5428 |
beepEnabled onChangeSend:#evaluateModified to:self |
|
5429 |
]. |
|
5430 |
^ beepEnabled. |
|
5431 |
! |
|
5432 |
||
5433 |
focusFollowsMouse |
|
5434 |
||
5435 |
focusFollowsMouse isNil ifTrue:[ |
|
5436 |
focusFollowsMouse := true asValue. |
|
5437 |
focusFollowsMouse onChangeSend:#evaluateModified to:self |
|
5438 |
]. |
|
5439 |
^ focusFollowsMouse. |
|
5440 |
! |
|
5441 |
||
4387 | 5442 |
formatHostNameWindowLabel |
5443 |
||
5444 |
formatHostNameWindowLabel isNil ifTrue:[ |
|
5445 |
formatHostNameWindowLabel := |
|
5446 |
('Define the Format of Window Labels:\\ %1 - Label\ %2 - Hostname\ %3 - Username\ %4 - ProcessId\' withCRs) |
|
5447 |
asValue. |
|
5448 |
]. |
|
5449 |
^ formatHostNameWindowLabel. |
|
5450 |
||
5451 |
"Created: / 16.12.2002 / 17:50:49 / penk" |
|
5452 |
"Modified: / 16.12.2002 / 17:55:18 / penk" |
|
5453 |
! |
|
5454 |
||
4286 | 5455 |
hostNameInLabelHolder |
5456 |
||
5457 |
hostNameInLabelHolder isNil ifTrue:[ |
|
5458 |
hostNameInLabelHolder := true asValue. |
|
5459 |
hostNameInLabelHolder onChangeSend:#evaluateModified to:self |
|
5460 |
]. |
|
5461 |
^ hostNameInLabelHolder. |
|
5462 |
! |
|
5463 |
||
4387 | 5464 |
newWindowLabelFormat |
5465 |
||
5466 |
newWindowLabelFormat isNil ifTrue:[ |
|
5467 |
newWindowLabelFormat := true asValue. |
|
5468 |
newWindowLabelFormat onChangeSend:#evaluateModified to:self |
|
5469 |
]. |
|
5470 |
^ newWindowLabelFormat. |
|
5471 |
||
5472 |
"Created: / 16.12.2002 / 17:50:49 / penk" |
|
5473 |
! |
|
5474 |
||
4286 | 5475 |
opaqueTableColumnResize |
5476 |
||
5477 |
opaqueTableColumnResize isNil ifTrue:[ |
|
5478 |
opaqueTableColumnResize := true asValue. |
|
5479 |
opaqueTableColumnResize onChangeSend:#evaluateModified to:self |
|
5480 |
]. |
|
5481 |
^ opaqueTableColumnResize. |
|
5482 |
! |
|
5483 |
||
5484 |
opaqueVariablePanelResize |
|
5485 |
||
5486 |
opaqueVariablePanelResize isNil ifTrue:[ |
|
5487 |
opaqueVariablePanelResize := true asValue. |
|
5488 |
opaqueVariablePanelResize onChangeSend:#evaluateModified to:self |
|
5489 |
]. |
|
5490 |
^ opaqueVariablePanelResize. |
|
5491 |
! |
|
5492 |
||
5493 |
returnFocus |
|
5494 |
||
5495 |
returnFocus isNil ifTrue:[ |
|
5496 |
returnFocus := true asValue. |
|
5497 |
returnFocus onChangeSend:#evaluateModified to:self |
|
5498 |
]. |
|
5499 |
^ returnFocus. |
|
5500 |
! |
|
5501 |
||
5502 |
shadows |
|
5503 |
||
5504 |
shadows isNil ifTrue:[ |
|
5505 |
shadows := true asValue. |
|
5506 |
shadows onChangeSend:#evaluateModified to:self |
|
5507 |
]. |
|
5508 |
^ shadows. |
|
5509 |
! |
|
5510 |
||
5511 |
showAccelerators |
|
5512 |
||
5513 |
showAccelerators isNil ifTrue:[ |
|
5514 |
showAccelerators := true asValue. |
|
5515 |
showAccelerators onChangeSend:#evaluateModified to:self |
|
5516 |
]. |
|
5517 |
^ showAccelerators. |
|
5518 |
! |
|
5519 |
||
5520 |
takeFocus |
|
5521 |
||
5522 |
takeFocus isNil ifTrue:[ |
|
5523 |
takeFocus := true asValue. |
|
5524 |
takeFocus onChangeSend:#evaluateModified to:self |
|
5525 |
]. |
|
5526 |
^ takeFocus. |
|
5527 |
! ! |
|
5528 |
||
4398 | 5529 |
!AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'initialization & release'! |
4286 | 5530 |
|
5531 |
postOpen |
|
5532 |
! |
|
5533 |
||
5534 |
postOpenAsSubcanvasWith:aBuilder |
|
5535 |
||
5536 |
self postOpen. |
|
5537 |
^ super postOpenAsSubcanvasWith:aBuilder |
|
5538 |
! |
|
5539 |
||
5540 |
postOpenWith:aBuilder |
|
5541 |
||
5542 |
self postOpen. |
|
5543 |
^ super postOpenWith:aBuilder |
|
5544 |
! ! |
|
5545 |
||
4398 | 5546 |
!AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'queries'! |
4286 | 5547 |
|
5548 |
hasUnsavedChanges |
|
5549 |
||
5550 |
^ ( |
|
4387 | 5551 |
self newWindowLabelFormat value ~= StandardSystemView windowLabelFormat or:[ |
4286 | 5552 |
self shadows value ~= PopUpView shadows or:[ |
5553 |
self beepEnabled value ~= currentUserPrefs beepEnabled or:[ |
|
4387 | 5554 |
self hostNameInLabelHolder value ~= StandardSystemView includeHostNameInLabel or:[ |
4286 | 5555 |
self returnFocus value ~= StandardSystemView returnFocusWhenClosingModalBoxes or:[ |
5556 |
self takeFocus value ~= StandardSystemView takeFocusWhenMapped or:[ |
|
5557 |
self focusFollowsMouse value ~= (currentUserPrefs focusFollowsMouse ? true) or:[ |
|
5558 |
self activateOnClick value ~= (Display activateOnClick:nil) or:[ |
|
5559 |
self opaqueVariablePanelResize value ~= currentUserPrefs opaqueVariablePanelResizing or:[ |
|
5560 |
self opaqueTableColumnResize value ~= currentUserPrefs opaqueTableColumnResizing or:[ |
|
4398 | 5561 |
self showAccelerators value ~= MenuView showAcceleratorKeys |
5562 |
]]]]]]]]]] |
|
4286 | 5563 |
) |
4387 | 5564 |
|
5565 |
"Modified: / 16.12.2002 / 18:09:42 / penk" |
|
4286 | 5566 |
! ! |
5567 |
||
4312 | 5568 |
!AbstractSettingsApplication::OsiSettingsAppl class methodsFor:'image specs'! |
5569 |
||
5570 |
defaultIcon |
|
5571 |
"This resource specification was automatically generated |
|
5572 |
by the ImageEditor of ST/X." |
|
5573 |
||
5574 |
"Do not manually edit this!! If it is corrupted, |
|
5575 |
the ImageEditor may not be able to read the specification." |
|
5576 |
||
5577 |
" |
|
5578 |
self defaultIcon inspect |
|
5579 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
5580 |
Icon flushCachedIcons |
|
5581 |
" |
|
5582 |
||
5583 |
<resource: #image> |
|
5584 |
||
5585 |
^Icon |
|
5586 |
constantNamed:#'AbstractSettingsApplication::OsiSettingsAppl class defaultIcon' |
|
5587 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
5588 |
@@@@_$RA@@@@@@@@@@@@@HED_ @@@@@@ U2+UX\@@@@@@@@@@H]U*52A@@@@ U*9^S-A @@@@@@@HIT.HD4O8D@_%29^#6JZE"B@@@@@HIX-(@9!!&-\_"Z+ |
|
5589 |
.+QKZ(0@J @@@@@*@K*5SV2B*2XDQ+":,XR5WP8@@@@@BDJ5.+V@.E4KEA46-+*5U9TVHRD!!HP<+JKV:-%*SG1@Y@R8@WYV)I@A/@@@SH D$@E>K*BP-$PUH |
|
5590 |
QH60)2U0[$:]KYPJN$RK,JX''[TFW]BB*)*4Z\K)[Q''L6''GD *JZ.HF4UV;H_**U6\+)%T7,WDUB3G:^%_E<@WB%RG*)8\+*BL(=Q#@(!!R!!2-_P5-@@AUNA!!4 |
|
5591 |
BGV:.(IQ)I<LQS@R^VE([P@@(E9OZQT/[[*:-9=YO8M''S6B ZF4@@@@@[0@[M0I5.)!!!!(4NE@F<@&$&C@@@@@@@@G&PCBGYV&;@<!!P@@#$^P@@@@@@@@@FN@ |
|
5592 |
[R<#+J2,PHT@%$2E@@@@@@@@@@BEA7>"I;B/''$*H%$"I@@@@@@@@@@@@$#D]^RF''*F]5$D2I@@@@@@@@@@@@@@BIKB<F(VHIHSNE@@@@@@@@@@@@@@@@@I$> |
|
5593 |
MVY7@@@@@@@@@@@@@@@@@@@@@@@@!!3Y9@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 7 7 7 12 12 12 20 20 20 23 23 23 24 24 24 28 28 28 30 30 30 32 32 32 35 35 35 40 40 40 41 41 41 43 43 43 45 45 45 48 47 48 50 49 50 51 50 51 52 52 52 54 53 54 55 54 55 56 56 56 58 57 58 58 58 58 59 59 59 60 59 60 60 60 60 61 61 61 62 62 62 66 65 66 66 66 66 67 66 67 68 67 68 69 69 69 70 69 70 70 70 70 71 71 71 72 71 72 73 73 73 74 73 74 75 75 75 76 75 76 76 76 76 77 76 77 78 78 78 79 79 79 80 80 80 85 84 85 86 84 86 86 85 86 87 86 87 87 87 87 88 87 88 89 88 89 89 89 89 90 88 90 90 89 90 93 91 93 93 93 93 94 92 94 94 93 94 96 94 96 97 96 97 98 97 98 99 98 99 99 99 99 100 99 100 100 100 100 102 102 102 103 103 103 104 103 104 104 104 104 105 105 105 106 106 106 108 107 108 109 109 109 110 110 110 111 110 111 113 113 113 114 113 114 114 114 114 115 115 115 116 116 116 117 115 117 118 118 118 120 120 120 121 121 121 122 121 122 122 122 122 123 122 123 123 123 123 124 124 124 125 125 125 127 127 127 128 128 128 129 129 129 130 130 130 131 131 131 132 131 132 132 132 132 133 132 133 134 134 134 135 135 135 136 136 136 137 137 137 138 138 138 140 139 140 142 142 142 147 147 147 151 151 151 153 153 153 154 154 154 155 155 155 156 155 156 156 156 156 159 159 159 164 163 164 165 165 165 167 167 167 168 168 168 170 170 170 172 172 172 174 174 174 175 174 175 177 177 177 178 178 178 181 181 181 182 182 182 183 183 183 185 185 185 189 189 189 190 190 190 191 191 191 192 192 192 194 192 194 194 194 194 195 195 195 196 196 196 198 196 198 199 198 199 200 200 200 201 200 201 201 201 201 202 201 202 202 202 202 203 203 203 204 204 204 205 204 205 205 205 205 206 205 206 206 206 206 209 209 209 210 210 210 211 211 211 212 212 212 213 212 213 213 213 213 214 214 214 215 213 215 215 215 215 216 216 216 217 216 217 217 217 217 218 217 218 219 219 219 221 219 221 222 221 222 224 222 224 224 223 224 225 223 225 225 224 225 225 225 225 226 224 226 226 225 226 227 226 227 228 226 228 229 228 229 231 231 231 232 231 232 235 234 235 237 237 237 239 239 239 241 241 241 244 244 244 247 247 247 248 248 248 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'G@C O G0_0O8?8_<?(W<?8_<???<=:^<???<???<???<_??<O??<O??<B?=\@?<8@?=0@?? @??@@_>@@O @@G@@') ; yourself); yourself] |
|
5594 |
! ! |
|
5595 |
||
4310 | 5596 |
!AbstractSettingsApplication::OsiSettingsAppl class methodsFor:'interface specs'! |
5597 |
||
5598 |
windowSpec |
|
5599 |
"This resource specification was automatically generated |
|
5600 |
by the UIPainter of ST/X." |
|
5601 |
||
5602 |
"Do not manually edit this!! If it is corrupted, |
|
5603 |
the UIPainter may not be able to read the specification." |
|
5604 |
||
5605 |
" |
|
5606 |
UIPainter new openOnClass:AbstractSettingsApplication::OsiSettingsAppl andSelector:#windowSpec |
|
5607 |
AbstractSettingsApplication::OsiSettingsAppl new openInterface:#windowSpec |
|
5608 |
AbstractSettingsApplication::OsiSettingsAppl open |
|
5609 |
" |
|
5610 |
||
5611 |
<resource: #canvas> |
|
5612 |
||
5613 |
^ |
|
5614 |
#(#FullSpec |
|
5615 |
#name: #windowSpec |
|
5616 |
#window: |
|
5617 |
#(#WindowSpec |
|
5618 |
#label: 'OSI Protocols Settings' |
|
5619 |
#name: 'OSI Protocols Settings' |
|
5620 |
#min: #(#Point 10 10) |
|
5621 |
#max: #(#Point 1024 768) |
|
4434 | 5622 |
#bounds: #(#Rectangle 16 46 616 596) |
4310 | 5623 |
) |
5624 |
#component: |
|
5625 |
#(#SpecCollection |
|
5626 |
#collection: #( |
|
5627 |
#(#VerticalPanelViewSpec |
|
5628 |
#name: 'VerticalPanel1' |
|
5629 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
5630 |
#horizontalLayout: #fit |
|
5631 |
#verticalLayout: #center |
|
5632 |
#horizontalSpace: 3 |
|
5633 |
#verticalSpace: 3 |
|
5634 |
#component: |
|
5635 |
#(#SpecCollection |
|
5636 |
#collection: #( |
|
5637 |
#(#VerticalPanelViewSpec |
|
5638 |
#name: 'VerticalPanel2' |
|
5639 |
#horizontalLayout: #fit |
|
5640 |
#verticalLayout: #center |
|
5641 |
#horizontalSpace: 3 |
|
5642 |
#verticalSpace: 3 |
|
5643 |
#component: |
|
5644 |
#(#SpecCollection |
|
5645 |
#collection: #( |
|
4434 | 5646 |
#(#LabelSpec |
5647 |
#label: 'ACSE' |
|
5648 |
#name: 'Label1' |
|
5649 |
#translateLabel: true |
|
5650 |
#extent: #(#Point 600 22) |
|
5651 |
) |
|
4310 | 5652 |
#(#ViewSpec |
5653 |
#name: 'Box1' |
|
5654 |
#component: |
|
5655 |
#(#SpecCollection |
|
5656 |
#collection: #( |
|
5657 |
#(#CheckBoxSpec |
|
4434 | 5658 |
#label: 'Log Errors' |
4310 | 5659 |
#name: 'CheckBox1' |
4434 | 5660 |
#layout: #(#LayoutFrame 5 0 0 0 -2 0.33 22 0) |
4310 | 5661 |
#enableChannel: #osiACSEPresent |
5662 |
#model: #osiACSEErrorLogging |
|
5663 |
#translateLabel: true |
|
5664 |
) |
|
5665 |
#(#CheckBoxSpec |
|
4434 | 5666 |
#label: 'Log Connections' |
4310 | 5667 |
#name: 'CheckBox2' |
4434 | 5668 |
#layout: #(#LayoutFrame 2 0.33 0 0 -2 0.66 22 0) |
4310 | 5669 |
#enableChannel: #osiACSEPresent |
5670 |
#model: #osiACSEConnectionLogging |
|
5671 |
#translateLabel: true |
|
5672 |
) |
|
4434 | 5673 |
#(#CheckBoxSpec |
5674 |
#label: 'Log Data Xfer' |
|
5675 |
#name: 'CheckBox3' |
|
5676 |
#layout: #(#LayoutFrame 2 0.66 0 0 -2 1 22 0) |
|
5677 |
#enableChannel: #osiACSEPresent |
|
5678 |
#model: #osiACSEDataLogging |
|
5679 |
#translateLabel: true |
|
5680 |
) |
|
4310 | 5681 |
) |
5682 |
||
5683 |
) |
|
5684 |
#extent: #(#Point 600 27) |
|
5685 |
) |
|
5686 |
#(#ViewSpec |
|
4434 | 5687 |
#name: 'Box9' |
5688 |
#extent: #(#Point 600 22) |
|
5689 |
) |
|
5690 |
#(#LabelSpec |
|
5691 |
#label: 'ROSE' |
|
5692 |
#name: 'Label2' |
|
5693 |
#translateLabel: true |
|
5694 |
#extent: #(#Point 600 22) |
|
4310 | 5695 |
) |
5696 |
#(#ViewSpec |
|
5697 |
#name: 'Box4' |
|
5698 |
#component: |
|
5699 |
#(#SpecCollection |
|
5700 |
#collection: #( |
|
5701 |
#(#CheckBoxSpec |
|
4434 | 5702 |
#label: 'Log Errors' |
4310 | 5703 |
#name: 'CheckBox4' |
4434 | 5704 |
#layout: #(#LayoutFrame 5 0 0 0 -2 0.33 22 0) |
4310 | 5705 |
#enableChannel: #osiROSEPresent |
5706 |
#model: #osiROSEErrorLogging |
|
5707 |
#translateLabel: true |
|
5708 |
) |
|
4434 | 5709 |
#(#CheckBoxSpec |
5710 |
#label: 'Log Invoactions' |
|
5711 |
#name: 'CheckBox5' |
|
5712 |
#layout: #(#LayoutFrame 2 0.33 0 0 -2 0.66 22 0) |
|
5713 |
#enableChannel: #osiROSEPresent |
|
5714 |
#model: #osiROSEInvokationLogging |
|
5715 |
#translateLabel: true |
|
5716 |
) |
|
5717 |
#(#CheckBoxSpec |
|
5718 |
#label: 'Log Responses' |
|
5719 |
#name: 'CheckBox6' |
|
5720 |
#layout: #(#LayoutFrame 0 0.66 0 0 -2 1 22 0) |
|
5721 |
#enableChannel: #osiROSEPresent |
|
5722 |
#model: #osiROSEResponseLogging |
|
5723 |
#translateLabel: true |
|
5724 |
) |
|
4310 | 5725 |
) |
5726 |
||
5727 |
) |
|
5728 |
#extent: #(#Point 600 25) |
|
5729 |
) |
|
5730 |
#(#ViewSpec |
|
5731 |
#name: 'Box6' |
|
5732 |
#extent: #(#Point 600 23) |
|
5733 |
) |
|
4434 | 5734 |
#(#LabelSpec |
5735 |
#label: 'CMISE' |
|
5736 |
#name: 'Label3' |
|
5737 |
#translateLabel: true |
|
5738 |
#extent: #(#Point 600 22) |
|
5739 |
) |
|
4310 | 5740 |
#(#ViewSpec |
5741 |
#name: 'Box7' |
|
5742 |
#component: |
|
5743 |
#(#SpecCollection |
|
5744 |
#collection: #( |
|
5745 |
#(#CheckBoxSpec |
|
4434 | 5746 |
#label: 'Log Errors' |
4310 | 5747 |
#name: 'CheckBox7' |
4434 | 5748 |
#layout: #(#LayoutFrame 2 0 0 0 -2 0.33 22 0) |
4310 | 5749 |
#enableChannel: #osiCMISEPresent |
5750 |
#model: #osiCMISEErrorLogging |
|
5751 |
#translateLabel: true |
|
5752 |
) |
|
5753 |
#(#CheckBoxSpec |
|
4434 | 5754 |
#label: 'Log Messages' |
4310 | 5755 |
#name: 'CheckBox8' |
4434 | 5756 |
#layout: #(#LayoutFrame 2 0.33 0 0 -2 0.66 22 0) |
4310 | 5757 |
#enableChannel: #osiCMISEPresent |
5758 |
#model: #osiCMISEMessageLogging |
|
5759 |
#translateLabel: true |
|
5760 |
) |
|
5761 |
) |
|
5762 |
||
5763 |
) |
|
4434 | 5764 |
#extent: #(#Point 600 22) |
4310 | 5765 |
) |
5766 |
) |
|
5767 |
||
5768 |
) |
|
5769 |
#extent: #(#Point 600 250) |
|
5770 |
) |
|
5771 |
) |
|
5772 |
||
5773 |
) |
|
5774 |
) |
|
5775 |
) |
|
5776 |
||
5777 |
) |
|
5778 |
) |
|
5779 |
! ! |
|
5780 |
||
5781 |
!AbstractSettingsApplication::OsiSettingsAppl methodsFor:'actions'! |
|
5782 |
||
4574 | 5783 |
basicSaveSettings |
5784 |
||
5785 |
self osiACSEPresent value ifTrue:[ |
|
5786 |
OSI::ACSE errorLogging:self osiACSEErrorLogging value. |
|
5787 |
OSI::ACSE connectionLogging:self osiACSEConnectionLogging value. |
|
5788 |
OSI::ACSE dataLogging:self osiACSEDataLogging value. |
|
5789 |
]. |
|
5790 |
self osiROSEPresent value ifTrue:[ |
|
5791 |
OSI::ROSE errorLogging:self osiROSEErrorLogging value. |
|
5792 |
OSI::ROSE invocationLogging:self osiROSEInvokationLogging value. |
|
5793 |
OSI::ROSE responseLogging:self osiROSEResponseLogging value. |
|
5794 |
]. |
|
5795 |
self osiCMISEPresent value ifTrue:[ |
|
5796 |
OSI::CMISE errorLogging:self osiCMISEErrorLogging value. |
|
5797 |
OSI::CMISE messageLogging:self osiCMISEMessageLogging value. |
|
5798 |
]. |
|
5799 |
! |
|
5800 |
||
4310 | 5801 |
help |
5802 |
||
5803 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/communicationsSettings.html']. |
|
5804 |
! |
|
5805 |
||
4574 | 5806 |
readSettings |
4310 | 5807 |
self osiACSEPresent value:(OSI::ACSE notNil and:[OSI::ACSE isLoaded]). |
5808 |
self osiROSEPresent value:(OSI::ROSE notNil and:[OSI::ROSE isLoaded]). |
|
5809 |
self osiCMISEPresent value:(OSI::CMISE notNil and:[OSI::CMISE isLoaded]). |
|
5810 |
self osiACSEPresent value ifTrue:[ |
|
5811 |
self osiACSEErrorLogging value:OSI::ACSE errorLogging. |
|
5812 |
self osiACSEConnectionLogging value:OSI::ACSE connectionLogging. |
|
4574 | 5813 |
self osiACSEDataLogging value:OSI::ACSE dataLogging |
4310 | 5814 |
]. |
5815 |
self osiROSEPresent value ifTrue:[ |
|
5816 |
self osiROSEErrorLogging value:OSI::ROSE errorLogging. |
|
5817 |
self osiROSEInvokationLogging value:OSI::ROSE invocationLogging. |
|
4574 | 5818 |
self osiROSEResponseLogging value:OSI::ROSE responseLogging |
4310 | 5819 |
]. |
5820 |
self osiCMISEPresent value ifTrue:[ |
|
5821 |
self osiCMISEErrorLogging value:OSI::CMISE errorLogging. |
|
4574 | 5822 |
self osiCMISEMessageLogging value:OSI::CMISE messageLogging |
5823 |
]. |
|
5824 |
self modifiedChannel value:false |
|
4310 | 5825 |
! ! |
5826 |
||
5827 |
!AbstractSettingsApplication::OsiSettingsAppl methodsFor:'aspects'! |
|
5828 |
||
5829 |
osiACSEConnectionLogging |
|
5830 |
"automatically generated by UIPainter ..." |
|
5831 |
||
5832 |
"*** the code below creates a default model when invoked." |
|
5833 |
"*** (which may not be the one you wanted)" |
|
5834 |
"*** Please change as required and accept it in the browser." |
|
5835 |
"*** (and replace this comment by something more useful ;-)" |
|
5836 |
||
5837 |
osiACSEConnectionLogging isNil ifTrue:[ |
|
5838 |
osiACSEConnectionLogging := true asValue. |
|
5839 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5840 |
"/ osiACSEConnectionLogging addDependent:self. |
|
5841 |
"/ osiACSEConnectionLogging onChangeSend:#osiACSEConnectionLoggingChanged to:self. |
|
5842 |
]. |
|
5843 |
^ osiACSEConnectionLogging. |
|
5844 |
! |
|
5845 |
||
5846 |
osiACSEDataLogging |
|
5847 |
"automatically generated by UIPainter ..." |
|
5848 |
||
5849 |
"*** the code below creates a default model when invoked." |
|
5850 |
"*** (which may not be the one you wanted)" |
|
5851 |
"*** Please change as required and accept it in the browser." |
|
5852 |
"*** (and replace this comment by something more useful ;-)" |
|
5853 |
||
5854 |
osiACSEDataLogging isNil ifTrue:[ |
|
5855 |
osiACSEDataLogging := true asValue. |
|
5856 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5857 |
"/ osiACSEDataLogging addDependent:self. |
|
5858 |
"/ osiACSEDataLogging onChangeSend:#osiACSEDataLoggingChanged to:self. |
|
5859 |
]. |
|
5860 |
^ osiACSEDataLogging. |
|
5861 |
! |
|
5862 |
||
5863 |
osiACSEErrorLogging |
|
5864 |
"automatically generated by UIPainter ..." |
|
5865 |
||
5866 |
"*** the code below creates a default model when invoked." |
|
5867 |
"*** (which may not be the one you wanted)" |
|
5868 |
"*** Please change as required and accept it in the browser." |
|
5869 |
"*** (and replace this comment by something more useful ;-)" |
|
5870 |
||
5871 |
osiACSEErrorLogging isNil ifTrue:[ |
|
5872 |
osiACSEErrorLogging := true asValue. |
|
5873 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5874 |
"/ osiACSEErrorLogging addDependent:self. |
|
5875 |
"/ osiACSEErrorLogging onChangeSend:#osiACSEErrorLoggingChanged to:self. |
|
5876 |
]. |
|
5877 |
^ osiACSEErrorLogging. |
|
5878 |
! |
|
5879 |
||
5880 |
osiACSEPresent |
|
5881 |
"automatically generated by UIPainter ..." |
|
5882 |
||
5883 |
"*** the code below creates a default model when invoked." |
|
5884 |
"*** (which may not be the one you wanted)" |
|
5885 |
"*** Please change as required and accept it in the browser." |
|
5886 |
"*** (and replace this comment by something more useful ;-)" |
|
5887 |
||
5888 |
osiACSEPresent isNil ifTrue:[ |
|
5889 |
osiACSEPresent := true asValue. |
|
5890 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5891 |
"/ osiACSEPresent addDependent:self. |
|
5892 |
"/ osiACSEPresent onChangeSend:#osiACSEPresentChanged to:self. |
|
5893 |
]. |
|
5894 |
^ osiACSEPresent. |
|
5895 |
! |
|
5896 |
||
5897 |
osiCMISEErrorLogging |
|
5898 |
"automatically generated by UIPainter ..." |
|
5899 |
||
5900 |
"*** the code below creates a default model when invoked." |
|
5901 |
"*** (which may not be the one you wanted)" |
|
5902 |
"*** Please change as required and accept it in the browser." |
|
5903 |
"*** (and replace this comment by something more useful ;-)" |
|
5904 |
||
5905 |
osiCMISEErrorLogging isNil ifTrue:[ |
|
5906 |
osiCMISEErrorLogging := true asValue. |
|
5907 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5908 |
"/ osiCMISEErrorLogging addDependent:self. |
|
5909 |
"/ osiCMISEErrorLogging onChangeSend:#osiCMISEErrorLoggingChanged to:self. |
|
5910 |
]. |
|
5911 |
^ osiCMISEErrorLogging. |
|
5912 |
! |
|
5913 |
||
5914 |
osiCMISEMessageLogging |
|
5915 |
"automatically generated by UIPainter ..." |
|
5916 |
||
5917 |
"*** the code below creates a default model when invoked." |
|
5918 |
"*** (which may not be the one you wanted)" |
|
5919 |
"*** Please change as required and accept it in the browser." |
|
5920 |
"*** (and replace this comment by something more useful ;-)" |
|
5921 |
||
5922 |
osiCMISEMessageLogging isNil ifTrue:[ |
|
5923 |
osiCMISEMessageLogging := true asValue. |
|
5924 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5925 |
"/ osiCMISEMessageLogging addDependent:self. |
|
5926 |
"/ osiCMISEMessageLogging onChangeSend:#osiCMISEMessageLoggingChanged to:self. |
|
5927 |
]. |
|
5928 |
^ osiCMISEMessageLogging. |
|
5929 |
! |
|
5930 |
||
5931 |
osiCMISEPresent |
|
5932 |
"automatically generated by UIPainter ..." |
|
5933 |
||
5934 |
"*** the code below creates a default model when invoked." |
|
5935 |
"*** (which may not be the one you wanted)" |
|
5936 |
"*** Please change as required and accept it in the browser." |
|
5937 |
"*** (and replace this comment by something more useful ;-)" |
|
5938 |
||
5939 |
osiCMISEPresent isNil ifTrue:[ |
|
5940 |
osiCMISEPresent := true asValue. |
|
5941 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5942 |
"/ osiCMISEPresent addDependent:self. |
|
5943 |
"/ osiCMISEPresent onChangeSend:#osiCMISEPresentChanged to:self. |
|
5944 |
]. |
|
5945 |
^ osiCMISEPresent. |
|
5946 |
! |
|
5947 |
||
5948 |
osiROSEErrorLogging |
|
5949 |
"automatically generated by UIPainter ..." |
|
5950 |
||
5951 |
"*** the code below creates a default model when invoked." |
|
5952 |
"*** (which may not be the one you wanted)" |
|
5953 |
"*** Please change as required and accept it in the browser." |
|
5954 |
"*** (and replace this comment by something more useful ;-)" |
|
5955 |
||
5956 |
osiROSEErrorLogging isNil ifTrue:[ |
|
5957 |
osiROSEErrorLogging := true asValue. |
|
5958 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5959 |
"/ osiROSEErrorLogging addDependent:self. |
|
5960 |
"/ osiROSEErrorLogging onChangeSend:#osiROSEErrorLoggingChanged to:self. |
|
5961 |
]. |
|
5962 |
^ osiROSEErrorLogging. |
|
5963 |
! |
|
5964 |
||
5965 |
osiROSEInvokationLogging |
|
5966 |
"automatically generated by UIPainter ..." |
|
5967 |
||
5968 |
"*** the code below creates a default model when invoked." |
|
5969 |
"*** (which may not be the one you wanted)" |
|
5970 |
"*** Please change as required and accept it in the browser." |
|
5971 |
"*** (and replace this comment by something more useful ;-)" |
|
5972 |
||
5973 |
osiROSEInvokationLogging isNil ifTrue:[ |
|
5974 |
osiROSEInvokationLogging := true asValue. |
|
5975 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5976 |
"/ osiROSEInvokationLogging addDependent:self. |
|
5977 |
"/ osiROSEInvokationLogging onChangeSend:#osiROSEInvokationLoggingChanged to:self. |
|
5978 |
]. |
|
5979 |
^ osiROSEInvokationLogging. |
|
5980 |
! |
|
5981 |
||
5982 |
osiROSEPresent |
|
5983 |
"automatically generated by UIPainter ..." |
|
5984 |
||
5985 |
"*** the code below creates a default model when invoked." |
|
5986 |
"*** (which may not be the one you wanted)" |
|
5987 |
"*** Please change as required and accept it in the browser." |
|
5988 |
"*** (and replace this comment by something more useful ;-)" |
|
5989 |
||
5990 |
osiROSEPresent isNil ifTrue:[ |
|
5991 |
osiROSEPresent := true asValue. |
|
5992 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
5993 |
"/ osiROSEPresent addDependent:self. |
|
5994 |
"/ osiROSEPresent onChangeSend:#osiROSEPresentChanged to:self. |
|
5995 |
]. |
|
5996 |
^ osiROSEPresent. |
|
5997 |
! |
|
5998 |
||
5999 |
osiROSEResponseLogging |
|
6000 |
"automatically generated by UIPainter ..." |
|
6001 |
||
6002 |
"*** the code below creates a default model when invoked." |
|
6003 |
"*** (which may not be the one you wanted)" |
|
6004 |
"*** Please change as required and accept it in the browser." |
|
6005 |
"*** (and replace this comment by something more useful ;-)" |
|
6006 |
||
6007 |
osiROSEResponseLogging isNil ifTrue:[ |
|
6008 |
osiROSEResponseLogging := true asValue. |
|
6009 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
6010 |
"/ osiROSEResponseLogging addDependent:self. |
|
6011 |
"/ osiROSEResponseLogging onChangeSend:#osiROSEResponseLoggingChanged to:self. |
|
6012 |
]. |
|
6013 |
^ osiROSEResponseLogging. |
|
6014 |
! ! |
|
6015 |
||
6016 |
!AbstractSettingsApplication::OsiSettingsAppl methodsFor:'queries'! |
|
6017 |
||
6018 |
hasUnsavedChanges |
|
6019 |
||
6020 |
^ (( |
|
6021 |
(self osiACSEPresent value and:[ |
|
6022 |
self osiACSEErrorLogging value ~= OSI::ACSE errorLogging or:[ |
|
6023 |
self osiACSEConnectionLogging value ~= OSI::ACSE connectionLogging or:[ |
|
6024 |
self osiACSEDataLogging value ~= OSI::ACSE dataLogging]]]) or:[ |
|
6025 |
self osiROSEPresent value and:[ |
|
6026 |
self osiROSEErrorLogging value ~= OSI::ROSE errorLogging or:[ |
|
6027 |
self osiROSEInvokationLogging value ~= OSI::ROSE invocationLogging or:[ |
|
6028 |
self osiROSEResponseLogging value ~= OSI::ROSE responseLogging]]]]) or:[ |
|
6029 |
(self osiCMISEPresent value) and:[ |
|
6030 |
self osiCMISEErrorLogging value ~= OSI::CMISE errorLogging or:[ |
|
6031 |
self osiCMISEMessageLogging value ~= OSI::CMISE messageLogging]]]) |
|
6032 |
! ! |
|
6033 |
||
4312 | 6034 |
!AbstractSettingsApplication::PrinterSettingsAppl class methodsFor:'image specs'! |
6035 |
||
6036 |
defaultIcon |
|
6037 |
"This resource specification was automatically generated |
|
6038 |
by the ImageEditor of ST/X." |
|
6039 |
||
6040 |
"Do not manually edit this!! If it is corrupted, |
|
6041 |
the ImageEditor may not be able to read the specification." |
|
6042 |
||
6043 |
" |
|
6044 |
self defaultIcon inspect |
|
6045 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
6046 |
Icon flushCachedIcons |
|
6047 |
" |
|
6048 |
||
6049 |
<resource: #image> |
|
6050 |
||
6051 |
^Icon |
|
6052 |
constantNamed:#'AbstractSettingsApplication::PrinterSettingsAppl class defaultIcon' |
|
6053 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
6054 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
6055 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@PDA@PDA@PDA@PDA@P@@@@@@@@@A@@@@@@@@@@@@@@@@@P@@@@@@@@@@@P@@@PDA@P@@@PDA@@D@@@@@@@@@ |
|
6056 |
@P@@@@@@@@@@@@@@@@D@@@@@@@@@@@D@@PDA@@DA@@DA@@DA@PD@@@@@@@D@@@@@@@@@@@@@@@@AA@DD@P@@@@DA@PDA@PDA@PDA@PDAA@DD@PD@@@DDA@PD |
|
6057 |
A@PDA@PDA@PDA@DD@PTA@@@A@PDA@PDA@PDA@PDA@PDA@PTE@P@@@PTEAPTEAPTEAPTB@ HEAPDE@P@@@@DEAPTEAPTEAPTE@ HBAPTA@P@@@@@A@PDA@PDA |
|
6058 |
@PDA@PDA@PDA@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
6059 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[255 255 255 0 0 0 255 255 0 129 129 129 194 194 194 105 133 190]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@??0A?? A?? C??@C??0G??8O??8_??8_??8_??0_?? _??@@@@@@@@@@@@@@@@@@@@@') ; yourself); yourself] |
|
6060 |
! ! |
|
6061 |
||
4286 | 6062 |
!AbstractSettingsApplication::PrinterSettingsAppl class methodsFor:'interface specs'! |
6063 |
||
6064 |
windowSpec |
|
6065 |
"This resource specification was automatically generated |
|
6066 |
by the UIPainter of ST/X." |
|
6067 |
||
6068 |
"Do not manually edit this!! If it is corrupted, |
|
6069 |
the UIPainter may not be able to read the specification." |
|
6070 |
||
6071 |
" |
|
4310 | 6072 |
UIPainter new openOnClass:AbstractSettingsApplication::PrinterSettingsAppl andSelector:#windowSpec |
6073 |
AbstractSettingsApplication::PrinterSettingsAppl new openInterface:#windowSpec |
|
6074 |
AbstractSettingsApplication::PrinterSettingsAppl open |
|
4286 | 6075 |
" |
6076 |
||
6077 |
<resource: #canvas> |
|
6078 |
||
6079 |
^ |
|
6080 |
#(#FullSpec |
|
6081 |
#name: #windowSpec |
|
6082 |
#window: |
|
6083 |
#(#WindowSpec |
|
6084 |
#label: 'Printer Settings' |
|
6085 |
#name: 'Printer Settings' |
|
6086 |
#min: #(#Point 10 10) |
|
6087 |
#max: #(#Point 1024 768) |
|
4434 | 6088 |
#bounds: #(#Rectangle 16 46 616 386) |
4286 | 6089 |
) |
6090 |
#component: |
|
6091 |
#(#SpecCollection |
|
6092 |
#collection: #( |
|
4310 | 6093 |
#(#VerticalPanelViewSpec |
6094 |
#name: 'VerticalPanel1' |
|
6095 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
6096 |
#horizontalLayout: #fit |
|
4286 | 6097 |
#verticalLayout: #center |
6098 |
#horizontalSpace: 3 |
|
6099 |
#verticalSpace: 3 |
|
6100 |
#component: |
|
6101 |
#(#SpecCollection |
|
6102 |
#collection: #( |
|
4310 | 6103 |
#(#ViewSpec |
6104 |
#name: 'PrinterSelectBox' |
|
6105 |
#component: |
|
6106 |
#(#SpecCollection |
|
6107 |
#collection: #( |
|
6108 |
#(#LabelSpec |
|
6109 |
#label: 'Printer Type:' |
|
6110 |
#name: 'PrinterTypeLabel' |
|
6111 |
#layout: #(#LayoutFrame 0 0 5 0 150 0 27 0) |
|
6112 |
#translateLabel: true |
|
6113 |
#adjust: #right |
|
6114 |
) |
|
6115 |
#(#ComboListSpec |
|
6116 |
#name: 'PrinterTypeComboList' |
|
6117 |
#layout: #(#LayoutFrame 150 0 5 0 -5 1 27 0) |
|
6118 |
#model: #printerTypeSelection |
|
6119 |
#comboList: #printerType |
|
6120 |
#useIndex: true |
|
6121 |
) |
|
6122 |
#(#LabelSpec |
|
6123 |
#label: 'Printer Command:' |
|
6124 |
#name: 'PrinterCommandLabel' |
|
6125 |
#layout: #(#LayoutFrame 0 0 45 0 150 0 67 0) |
|
6126 |
#translateLabel: true |
|
6127 |
#adjust: #right |
|
6128 |
) |
|
6129 |
#(#ComboBoxSpec |
|
6130 |
#name: 'CommandComboBox' |
|
6131 |
#layout: #(#LayoutFrame 150 0 45 0 -5 1 67 0) |
|
6132 |
#model: #printCommand |
|
4371 | 6133 |
#acceptOnLostFocus: true |
4310 | 6134 |
#acceptOnPointerLeave: false |
6135 |
#comboList: #printCommandList |
|
6136 |
#useIndex: false |
|
6137 |
) |
|
6138 |
#(#DividerSpec |
|
6139 |
#name: 'Separator1' |
|
6140 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
6141 |
) |
|
6142 |
) |
|
6143 |
||
6144 |
) |
|
6145 |
#extent: #(#Point 600 84) |
|
6146 |
) |
|
6147 |
#(#ViewSpec |
|
6148 |
#name: 'FormatBox' |
|
6149 |
#component: |
|
6150 |
#(#SpecCollection |
|
6151 |
#collection: #( |
|
6152 |
#(#LabelSpec |
|
6153 |
#label: 'Page Format:' |
|
6154 |
#name: 'PageFormatLabel' |
|
6155 |
#layout: #(#LayoutFrame 0 0 0 0 150 0 22 0) |
|
6156 |
#translateLabel: true |
|
6157 |
#adjust: #right |
|
6158 |
) |
|
6159 |
#(#PopUpListSpec |
|
6160 |
#label: 'PopUp List' |
|
6161 |
#name: 'PageFormatPopUpList' |
|
6162 |
#layout: #(#LayoutFrame 150 0 0 0 300 0 22 0) |
|
6163 |
#tabable: true |
|
6164 |
#model: #pageFormat |
|
6165 |
#enableChannel: #enableFormat |
|
6166 |
#menu: #pageFormatList |
|
6167 |
) |
|
6168 |
#(#CheckBoxSpec |
|
6169 |
#label: 'Landscape' |
|
6170 |
#name: 'LandscapeCheckBox' |
|
6171 |
#layout: #(#LayoutFrame 380 0 0 0 -5 1 22 0) |
|
6172 |
#enableChannel: #enablelandscape |
|
6173 |
#model: #landscape |
|
6174 |
#translateLabel: true |
|
6175 |
) |
|
6176 |
#(#DividerSpec |
|
6177 |
#name: 'Separator5' |
|
6178 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
6179 |
) |
|
6180 |
) |
|
6181 |
||
6182 |
) |
|
6183 |
#extent: #(#Point 600 30) |
|
4286 | 6184 |
) |
4310 | 6185 |
#(#ViewSpec |
6186 |
#name: 'MarginBox' |
|
6187 |
#component: |
|
6188 |
#(#SpecCollection |
|
6189 |
#collection: #( |
|
6190 |
#(#VerticalPanelViewSpec |
|
6191 |
#name: 'VerticalPanel2' |
|
6192 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
6193 |
#horizontalLayout: #fit |
|
6194 |
#verticalLayout: #center |
|
6195 |
#horizontalSpace: 3 |
|
6196 |
#verticalSpace: 3 |
|
6197 |
#component: |
|
6198 |
#(#SpecCollection |
|
6199 |
#collection: #( |
|
6200 |
#(#ViewSpec |
|
6201 |
#name: 'Box1' |
|
6202 |
#component: |
|
6203 |
#(#SpecCollection |
|
6204 |
#collection: #( |
|
6205 |
#(#LabelSpec |
|
6206 |
#label: 'Top Margin:' |
|
6207 |
#name: 'TopMarginLabel' |
|
6208 |
#layout: #(#LayoutFrame 0 0 0 0 150 0 21 0) |
|
6209 |
#translateLabel: true |
|
6210 |
#adjust: #right |
|
6211 |
) |
|
6212 |
#(#InputFieldSpec |
|
6213 |
#name: 'TopMarginEntryField' |
|
6214 |
#layout: #(#LayoutFrame 150 0 0 0 250 0 21 0) |
|
6215 |
#enableChannel: #enableMargins |
|
6216 |
#model: #topMargin |
|
4371 | 6217 |
#type: #numberOrNil |
4310 | 6218 |
#acceptOnReturn: true |
6219 |
#acceptOnTab: true |
|
6220 |
#acceptOnLostFocus: true |
|
4658 | 6221 |
#acceptOnPointerLeave: true |
4310 | 6222 |
) |
6223 |
#(#PopUpListSpec |
|
6224 |
#label: 'PopUp List' |
|
6225 |
#name: 'PopUpList2' |
|
6226 |
#layout: #(#LayoutFrame -155 1 0 0 -5 1 21 0) |
|
6227 |
#tabable: true |
|
6228 |
#model: #selectedUnit |
|
6229 |
#menu: #unitList |
|
6230 |
#useIndex: true |
|
6231 |
) |
|
6232 |
) |
|
6233 |
||
6234 |
) |
|
6235 |
#extent: #(#Point 600 24) |
|
6236 |
) |
|
6237 |
#(#ViewSpec |
|
6238 |
#name: 'Box2' |
|
6239 |
#component: |
|
6240 |
#(#SpecCollection |
|
6241 |
#collection: #( |
|
6242 |
#(#LabelSpec |
|
6243 |
#label: 'Left Margin:' |
|
6244 |
#name: 'LeftMarginLabel' |
|
6245 |
#layout: #(#LayoutFrame 0 0 0 0 150 0 21 0) |
|
6246 |
#translateLabel: true |
|
6247 |
#adjust: #right |
|
6248 |
) |
|
6249 |
#(#InputFieldSpec |
|
6250 |
#name: 'LeftMarginEntryField' |
|
6251 |
#layout: #(#LayoutFrame 150 0 0 0 250 0 21 0) |
|
6252 |
#enableChannel: #enableMargins |
|
6253 |
#model: #leftMargin |
|
4371 | 6254 |
#type: #numberOrNil |
4310 | 6255 |
#acceptOnReturn: true |
6256 |
#acceptOnTab: true |
|
6257 |
#acceptOnLostFocus: true |
|
4658 | 6258 |
#acceptOnPointerLeave: true |
4310 | 6259 |
) |
6260 |
) |
|
6261 |
||
6262 |
) |
|
6263 |
#extent: #(#Point 600 24) |
|
6264 |
) |
|
6265 |
#(#ViewSpec |
|
6266 |
#name: 'Box3' |
|
6267 |
#component: |
|
6268 |
#(#SpecCollection |
|
6269 |
#collection: #( |
|
6270 |
#(#LabelSpec |
|
6271 |
#label: 'Right Margin:' |
|
6272 |
#name: 'RightMarginLabel' |
|
6273 |
#layout: #(#LayoutFrame 0 0 0 0 150 0 21 0) |
|
6274 |
#translateLabel: true |
|
6275 |
#adjust: #right |
|
6276 |
) |
|
6277 |
#(#InputFieldSpec |
|
6278 |
#name: 'RightMarginEntryField' |
|
6279 |
#layout: #(#LayoutFrame 150 0 0 0 250 0 21 0) |
|
6280 |
#enableChannel: #enableMargins |
|
6281 |
#model: #rightMargin |
|
4371 | 6282 |
#type: #numberOrNil |
4310 | 6283 |
#acceptOnReturn: true |
6284 |
#acceptOnTab: true |
|
6285 |
#acceptOnLostFocus: true |
|
4658 | 6286 |
#acceptOnPointerLeave: true |
4310 | 6287 |
) |
6288 |
) |
|
6289 |
||
6290 |
) |
|
6291 |
#extent: #(#Point 600 24) |
|
6292 |
) |
|
6293 |
#(#ViewSpec |
|
6294 |
#name: 'Box4' |
|
6295 |
#component: |
|
6296 |
#(#SpecCollection |
|
6297 |
#collection: #( |
|
6298 |
#(#LabelSpec |
|
6299 |
#label: 'Bottom Margin:' |
|
6300 |
#name: 'BottomMarginLabel' |
|
6301 |
#layout: #(#LayoutFrame 0 0 0 0 150 0 21 0) |
|
6302 |
#translateLabel: true |
|
6303 |
#adjust: #right |
|
6304 |
) |
|
6305 |
#(#InputFieldSpec |
|
6306 |
#name: 'BottomMarginEntryField' |
|
6307 |
#layout: #(#LayoutFrame 150 0 0 0 250 0 21 0) |
|
6308 |
#enableChannel: #enableMargins |
|
6309 |
#model: #bottomMargin |
|
4371 | 6310 |
#type: #numberOrNil |
4310 | 6311 |
#acceptOnReturn: true |
6312 |
#acceptOnTab: true |
|
6313 |
#acceptOnLostFocus: true |
|
4658 | 6314 |
#acceptOnPointerLeave: true |
4310 | 6315 |
) |
6316 |
) |
|
6317 |
||
6318 |
) |
|
6319 |
#extent: #(#Point 600 24) |
|
6320 |
) |
|
6321 |
) |
|
6322 |
||
6323 |
) |
|
6324 |
) |
|
6325 |
#(#DividerSpec |
|
6326 |
#name: 'Separator6' |
|
6327 |
#layout: #(#LayoutFrame 0 0.0 -3 1 0 1.0 0 1) |
|
6328 |
) |
|
6329 |
) |
|
6330 |
||
6331 |
) |
|
6332 |
#extent: #(#Point 600 100) |
|
4286 | 6333 |
) |
4310 | 6334 |
#(#ViewSpec |
6335 |
#name: 'Box5' |
|
6336 |
#component: |
|
6337 |
#(#SpecCollection |
|
6338 |
#collection: #( |
|
6339 |
#(#CheckBoxSpec |
|
6340 |
#label: 'Color Printer' |
|
6341 |
#name: 'ColorPrinterCheckBox' |
|
6342 |
#layout: #(#LayoutFrame 0 0 0 0 599 0 21 0) |
|
6343 |
#enableChannel: #enableColorBox |
|
6344 |
#model: #supportsColor |
|
6345 |
#translateLabel: true |
|
6346 |
) |
|
6347 |
) |
|
6348 |
||
6349 |
) |
|
6350 |
#extent: #(#Point 600 27) |
|
4286 | 6351 |
) |
6352 |
) |
|
6353 |
||
6354 |
) |
|
6355 |
) |
|
6356 |
) |
|
6357 |
||
6358 |
) |
|
6359 |
) |
|
6360 |
! ! |
|
6361 |
||
6362 |
!AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'actions'! |
|
6363 |
||
4574 | 6364 |
basicSaveSettings |
6365 |
||
6366 |
Printer := self possiblePrinters at:(self printerTypeSelection value). |
|
6367 |
Printer printCommand:self printCommand value. |
|
6368 |
||
6369 |
Printer supportsPageSizes ifTrue:[ |
|
6370 |
Printer pageFormat:(self pageFormat value). |
|
6371 |
Printer landscape:(self landscape value). |
|
6372 |
]. |
|
6373 |
Printer supportsMargins ifTrue:[ |
|
6374 |
| unit | |
|
6375 |
self selectedUnit value == 2 ifTrue:[ |
|
6376 |
unit := #mm |
|
6377 |
] ifFalse:[ |
|
6378 |
unit := #inch |
|
6379 |
]. |
|
6380 |
Printer topMargin:(UnitConverter convert:(self topMargin value) from:unit to:#inch). |
|
6381 |
Printer leftMargin:(UnitConverter convert:(self leftMargin value) from:unit to:#inch). |
|
6382 |
Printer rightMargin:(UnitConverter convert:(self rightMargin value) from:unit to:#inch). |
|
6383 |
Printer bottomMargin:(UnitConverter convert:(self bottomMargin value) from:unit to:#inch). |
|
6384 |
]. |
|
6385 |
Printer supportsPostscript ifTrue:[ |
|
6386 |
Printer supportsColor:self supportsColor value. |
|
6387 |
]. |
|
6388 |
! |
|
6389 |
||
4286 | 6390 |
help |
6391 |
||
6392 |
"/ self warn:'no help available here'. |
|
6393 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/printerSettings.html']. |
|
6394 |
! |
|
6395 |
||
4574 | 6396 |
readSettings |
4371 | 6397 |
self bottomMargin value:Printer bottomMargin. |
6398 |
self landscape value:Printer landscape. |
|
6399 |
self leftMargin value:Printer leftMargin. |
|
6400 |
self rightMargin value:Printer rightMargin. |
|
6401 |
self topMargin value:Printer topMargin. |
|
6402 |
self printCommand value:Printer printCommand. |
|
4574 | 6403 |
self printerTypeSelection |
6404 |
value:(self possiblePrinters identityIndexOf:Printer). |
|
4371 | 6405 |
self supportsColor value:Printer supportsColor. |
6406 |
self pageFormatList notEmpty ifTrue:[ |
|
4574 | 6407 |
self pageFormat value:Printer pageFormat |
4371 | 6408 |
]. |
6409 |
self printerTypeSelectionOrUnitListChanged. |
|
4574 | 6410 |
self modifiedChannel value:false |
4286 | 6411 |
! ! |
6412 |
||
6413 |
!AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'aspects'! |
|
6414 |
||
6415 |
bottomMargin |
|
6416 |
||
6417 |
bottomMargin isNil ifTrue:[ |
|
6418 |
bottomMargin := Printer bottomMargin asValue. |
|
6419 |
bottomMargin onChangeSend:#evaluateModified to:self |
|
6420 |
]. |
|
6421 |
^ bottomMargin. |
|
6422 |
! |
|
6423 |
||
6424 |
enableColorBox |
|
6425 |
||
6426 |
enableColorBox isNil ifTrue:[ |
|
6427 |
enableColorBox := true asValue. |
|
6428 |
]. |
|
6429 |
^ enableColorBox. |
|
6430 |
! |
|
6431 |
||
6432 |
enableFormat |
|
6433 |
||
6434 |
enableFormat isNil ifTrue:[ |
|
6435 |
enableFormat := true asValue. |
|
6436 |
]. |
|
6437 |
^ enableFormat. |
|
6438 |
! |
|
6439 |
||
6440 |
enableMargins |
|
6441 |
||
6442 |
enableMargins isNil ifTrue:[ |
|
6443 |
enableMargins := true asValue. |
|
6444 |
]. |
|
6445 |
^ enableMargins. |
|
6446 |
! |
|
6447 |
||
6448 |
enablelandscape |
|
6449 |
||
6450 |
enablelandscape isNil ifTrue:[ |
|
6451 |
enablelandscape := true asValue. |
|
6452 |
]. |
|
6453 |
^ enablelandscape. |
|
6454 |
! |
|
6455 |
||
6456 |
landscape |
|
6457 |
||
6458 |
landscape isNil ifTrue:[ |
|
6459 |
landscape := Printer landscape asValue. |
|
6460 |
landscape onChangeSend:#evaluateModified to:self |
|
6461 |
]. |
|
6462 |
^ landscape. |
|
6463 |
! |
|
6464 |
||
6465 |
leftMargin |
|
6466 |
||
6467 |
leftMargin isNil ifTrue:[ |
|
6468 |
leftMargin := Printer leftMargin asValue. |
|
6469 |
leftMargin onChangeSend:#evaluateModified to:self |
|
6470 |
]. |
|
6471 |
^ leftMargin. |
|
6472 |
! |
|
6473 |
||
6474 |
pageFormat |
|
6475 |
||
6476 |
pageFormat isNil ifTrue:[ |
|
6477 |
self pageFormatList notEmpty ifTrue:[ |
|
6478 |
| index | |
|
6479 |
(index := self pageFormatList indexOf:#a4) ~~ 0 ifTrue:[ |
|
6480 |
pageFormat := index asValue. |
|
6481 |
] ifFalse:[ |
|
6482 |
pageFormat := 1 asValue. |
|
6483 |
] |
|
6484 |
]. |
|
6485 |
pageFormat onChangeSend:#evaluateModified to:self |
|
6486 |
]. |
|
6487 |
^ pageFormat. |
|
6488 |
! |
|
6489 |
||
6490 |
pageFormatList |
|
6491 |
||
6492 |
pageFormatList isNil ifTrue:[ |
|
6493 |
pageFormatList := Printer defaultPageFormats asList. |
|
6494 |
]. |
|
6495 |
^ pageFormatList. |
|
6496 |
! |
|
6497 |
||
6498 |
printCommand |
|
6499 |
||
6500 |
printCommand isNil ifTrue:[ |
|
6501 |
printCommand := Printer printCommand asValue. |
|
6502 |
printCommand onChangeSend:#evaluateModified to:self |
|
6503 |
]. |
|
6504 |
^ printCommand. |
|
6505 |
! |
|
6506 |
||
6507 |
printCommandList |
|
6508 |
||
6509 |
printCommandList isNil ifTrue:[ |
|
4574 | 6510 |
printCommandList := self commandList asList. |
4286 | 6511 |
]. |
6512 |
^ printCommandList. |
|
6513 |
! |
|
6514 |
||
6515 |
printerType |
|
6516 |
||
6517 |
printerType isNil ifTrue:[ |
|
4574 | 6518 |
printerType := (self possiblePrinters collect:[:cls | cls printerTypeName]) asList. |
4286 | 6519 |
printerType onChangeSend:#evaluateModified to:self |
6520 |
]. |
|
6521 |
^ printerType. |
|
6522 |
! |
|
6523 |
||
6524 |
printerTypeSelection |
|
6525 |
||
6526 |
printerTypeSelection isNil ifTrue:[ |
|
4574 | 6527 |
printerTypeSelection := (self possiblePrinters identityIndexOf:Printer) asValue. |
4286 | 6528 |
"/ printerTypeSelection onChangeSend:#printerTypeSelectionChanged to:self. |
6529 |
printerTypeSelection addDependent:self. |
|
6530 |
printerTypeSelection changed. |
|
6531 |
printerTypeSelection onChangeSend:#evaluateModified to:self |
|
6532 |
]. |
|
6533 |
^ printerTypeSelection. |
|
6534 |
! |
|
6535 |
||
6536 |
rightMargin |
|
6537 |
||
6538 |
rightMargin isNil ifTrue:[ |
|
6539 |
rightMargin := Printer rightMargin asValue. |
|
6540 |
rightMargin onChangeSend:#evaluateModified to:self |
|
6541 |
]. |
|
6542 |
^ rightMargin. |
|
6543 |
! |
|
6544 |
||
6545 |
selectedUnit |
|
6546 |
||
6547 |
selectedUnit isNil ifTrue:[ |
|
6548 |
selectedUnit := 1 asValue. |
|
6549 |
selectedUnit addDependent:self. |
|
6550 |
selectedUnit changed. |
|
6551 |
selectedUnit onChangeSend:#evaluateModified to:self |
|
6552 |
]. |
|
6553 |
^ selectedUnit. |
|
6554 |
! |
|
6555 |
||
6556 |
supportsColor |
|
6557 |
||
6558 |
supportsColor isNil ifTrue:[ |
|
6559 |
supportsColor := Printer supportsColor asValue. |
|
6560 |
supportsColor onChangeSend:#evaluateModified to:self |
|
6561 |
]. |
|
6562 |
^ supportsColor. |
|
6563 |
! |
|
6564 |
||
6565 |
topMargin |
|
6566 |
||
6567 |
topMargin isNil ifTrue:[ |
|
6568 |
topMargin := Printer topMargin asValue. |
|
6569 |
topMargin onChangeSend:#evaluateModified to:self |
|
6570 |
]. |
|
6571 |
^ topMargin. |
|
6572 |
! |
|
6573 |
||
6574 |
unitList |
|
6575 |
||
6576 |
unitList isNil ifTrue:[ |
|
6577 |
unitList := #('inch' 'mm') asList. |
|
6578 |
]. |
|
6579 |
^ unitList. |
|
6580 |
! ! |
|
6581 |
||
6582 |
!AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'change & update'! |
|
6583 |
||
6584 |
printerTypeSelectionChanged |
|
6585 |
||
6586 |
| p hasPageSize hasMargins| |
|
4371 | 6587 |
self printerType selectionIndex ~~ 0 ifTrue:[ |
4574 | 6588 |
p := self possiblePrinters at:(self printerType selectionIndex). |
4286 | 6589 |
hasPageSize := p supportsPageSizes. |
6590 |
hasMargins := p supportsMargins. |
|
6591 |
] ifFalse:[ |
|
6592 |
hasPageSize := false. |
|
6593 |
hasMargins := false. |
|
6594 |
]. |
|
6595 |
! |
|
6596 |
||
6597 |
printerTypeSelectionOrUnitListChanged |
|
6598 |
||
6599 |
| p hasPageSize hasMargins unit| |
|
6600 |
||
6601 |
self printerTypeSelection value ~~ 0 ifTrue:[ |
|
4574 | 6602 |
p := self possiblePrinters at:(self printerTypeSelection value). |
4286 | 6603 |
hasPageSize := p supportsPageSizes. |
6604 |
hasMargins := p supportsMargins. |
|
6605 |
] ifFalse:[ |
|
6606 |
hasPageSize := false. |
|
6607 |
hasMargins := false. |
|
6608 |
]. |
|
6609 |
self enablelandscape value:hasPageSize. |
|
6610 |
self enableFormat value:hasPageSize. |
|
6611 |
hasPageSize ifTrue:[ |
|
6612 |
self pageFormat value:(p pageFormat). |
|
6613 |
self landscape value:(p landscape). |
|
6614 |
] ifFalse:[ |
|
6615 |
self landscape value:false. |
|
6616 |
]. |
|
6617 |
hasMargins ifTrue:[ |
|
6618 |
self selectedUnit value == 2 ifTrue:[ |
|
6619 |
unit := #mm |
|
6620 |
] ifFalse:[ |
|
6621 |
unit := #inch |
|
6622 |
]. |
|
6623 |
||
4371 | 6624 |
self topMargin value:(UnitConverter convert:p topMargin from:#inch to:unit). |
6625 |
self leftMargin value:(UnitConverter convert:p leftMargin from:#inch to:unit). |
|
6626 |
self rightMargin value:(UnitConverter convert:p rightMargin from:#inch to:unit). |
|
6627 |
self bottomMargin value:(UnitConverter convert:p bottomMargin from:#inch to:unit). |
|
4286 | 6628 |
|
6629 |
] ifFalse:[ |
|
6630 |
]. |
|
6631 |
self enableMargins value:hasMargins. |
|
6632 |
||
6633 |
p notNil ifTrue:[ |
|
6634 |
| newCommandList | |
|
6635 |
newCommandList := p defaultCommands. |
|
6636 |
newCommandList notNil ifTrue:[ |
|
6637 |
self printCommandList contents:(newCommandList asList). |
|
6638 |
self printCommandList changed. |
|
6639 |
]. |
|
6640 |
self printCommand value:(p printCommand). |
|
6641 |
]. |
|
6642 |
self enableColorBox value:p supportsPostscript. |
|
6643 |
p supportsPostscript ifFalse:[ |
|
6644 |
self supportsColor value:false |
|
6645 |
] ifTrue:[ |
|
6646 |
self supportsColor value:(Printer supportsColor). |
|
6647 |
] |
|
6648 |
! |
|
6649 |
||
6650 |
unitListChanged |
|
6651 |
! |
|
6652 |
||
6653 |
update:something with:aParameter from:changedObject |
|
6654 |
(changedObject == self selectedUnit or:[changedObject == self printerTypeSelection]) ifTrue:[ |
|
6655 |
self printerTypeSelectionOrUnitListChanged. |
|
6656 |
^ self. |
|
6657 |
]. |
|
6658 |
||
6659 |
super update:something with:aParameter from:changedObject |
|
6660 |
! ! |
|
6661 |
||
6662 |
!AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'initialization & release'! |
|
6663 |
||
6664 |
postOpen |
|
6665 |
! |
|
6666 |
||
6667 |
postOpenAsSubcanvasWith:aBuilder |
|
6668 |
||
6669 |
self postOpen. |
|
6670 |
^ super postOpenAsSubcanvasWith:aBuilder |
|
6671 |
! |
|
6672 |
||
6673 |
postOpenWith:aBuilder |
|
6674 |
||
6675 |
self postOpen. |
|
6676 |
^ super postOpenWith:aBuilder |
|
6677 |
! ! |
|
6678 |
||
6679 |
!AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'queries'! |
|
6680 |
||
4574 | 6681 |
commandList |
6682 |
commandList isNil ifTrue:[ |
|
6683 |
commandList := resources at:'PRINT_COMMANDS' ifAbsent:nil. |
|
6684 |
commandList isNil ifTrue:[ |
|
6685 |
commandList := PrinterStream defaultCommands. |
|
6686 |
commandList isNil ifTrue:[ |
|
6687 |
commandList := #('lpr' |
|
6688 |
'lp' |
|
6689 |
) asOrderedCollection. |
|
6690 |
]. |
|
6691 |
(commandList includes:self printCommand value) not ifTrue:[ |
|
6692 |
commandList add:self printCommand value. |
|
6693 |
]. |
|
6694 |
]. |
|
6695 |
]. |
|
6696 |
^ commandList |
|
6697 |
! |
|
6698 |
||
4286 | 6699 |
hasUnsavedChanges |
6700 |
||
6701 |
||
6702 |
| printer unit| |
|
6703 |
self selectedUnit value == 2 ifTrue:[ |
|
6704 |
unit := #mm |
|
6705 |
] ifFalse:[ |
|
6706 |
unit := #inch |
|
6707 |
]. |
|
4574 | 6708 |
printer := self possiblePrinters at:(self printerTypeSelection value). |
4286 | 6709 |
^ ( |
6710 |
printer ~= Printer or:[ |
|
6711 |
Printer printCommand ~= self printCommand value or:[ |
|
6712 |
(Printer supportsPageSizes and:[ |
|
4371 | 6713 |
Printer pageFormat ~= self pageFormat value or:[ |
4286 | 6714 |
Printer landscape ~= (self landscape value) or:[ |
6715 |
]]]) or:[ |
|
6716 |
(Printer supportsMargins and:[ |
|
4371 | 6717 |
Printer topMargin ~= ((UnitConverter convert:(self topMargin value asFloat) from:unit to:#inch) asFloat) or:[ |
6718 |
Printer leftMargin ~= ((UnitConverter convert:(self leftMargin value asFloat) from:unit to:#inch) asFloat) or:[ |
|
6719 |
Printer rightMargin ~= ((UnitConverter convert:(self rightMargin value asFloat) from:unit to:#inch) asFloat) or:[ |
|
6720 |
Printer bottomMargin ~= ((UnitConverter convert:(self bottomMargin value asFloat) from:unit to:#inch) asFloat) or:[ |
|
4286 | 6721 |
]]]]]) or:[ |
6722 |
Printer supportsPostscript and:[ |
|
6723 |
Printer supportsColor ~= self supportsColor value |
|
6724 |
]]]]] |
|
6725 |
) |
|
4574 | 6726 |
! |
6727 |
||
6728 |
possiblePrinters |
|
6729 |
possiblePrinters isNil ifTrue:[ |
|
6730 |
possiblePrinters := PrinterStream withAllSubclasses asArray. |
|
6731 |
]. |
|
6732 |
^ possiblePrinters |
|
4286 | 6733 |
! ! |
6734 |
||
4398 | 6735 |
!AbstractSettingsApplication::ProcessorSchedulerSettingsAppl class methodsFor:'image specs'! |
6736 |
||
6737 |
defaultIcon |
|
6738 |
"This resource specification was automatically generated |
|
6739 |
by the ImageEditor of ST/X." |
|
6740 |
||
6741 |
"Do not manually edit this!! If it is corrupted, |
|
6742 |
the ImageEditor may not be able to read the specification." |
|
6743 |
||
6744 |
" |
|
6745 |
self defaultIcon inspect |
|
6746 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
6747 |
Icon flushCachedIcons |
|
6748 |
" |
|
6749 |
||
6750 |
<resource: #image> |
|
6751 |
||
6752 |
^Icon |
|
6753 |
constantNamed:#'AbstractSettingsApplication::ProcessorSchedulerSettingsAppl class defaultIcon' |
|
6754 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
6755 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LC@0L@@@@@@@@@@@@@@@@@@@@C@0LB@PDB@0LC@@@@@@@@@@@@@@@C@ HBA@DAA@HB@ L@@@@@@@@@ |
|
6756 |
@@@C@ PDA@PA@PPDA@PB@0@@@@@@@@@C@ PDA@PDA@PDA@PDA@HC@@@@@@@C@ PDA@PDA@PDA@PDA@PD@ L@@@@@@0HDA@PDA@PDA@PDA@PDA@HC@@@@@@LB |
|
6757 |
A@PDA@PDA@PD@PPDA@PB@0@@@@LBA@PDA@PDA@PD@PPDA@PDA@HC@@@C@ PDA@PDA@PA@PPDA@PDA@PB@0@@@0HDA@PDA@PD@PDDA@PDA@PD@ L@@@LBA@PD |
|
6758 |
A@PDA@PD@PPDA@PDA@HC@@@@@0HDA@PDA@PDA@PAA@PDA@HC@@@@@@LBA@PDA@PDA@PDA@DDA@PB@0@@@@@C@ PDA@PDA@PDA@PD@PPD@ L@@@@@@@LBA@PD |
|
6759 |
A@PDA@PDA@PD@ L@@@@@@@@@@0HDA@PDA@PDA@PD@ L@@@@@@@@@@@@C@ HBA@PDA@HB@ L@@@@@@@@@@@@@@@LC@0HB@ HC@0L@@@@@@@@@@@@@@@@@@@@C |
|
6760 |
@0LC@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 128 128 128 128 128 192 192 192 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G @@?<@A?>@C??@G?? O??0O??0O??0_??8_??8_??8_??8O??0O??0O??0G?? C??@A?>@@?<@@G @@@@@') ; yourself); yourself] |
|
6761 |
! ! |
|
6762 |
||
6763 |
!AbstractSettingsApplication::ProcessorSchedulerSettingsAppl class methodsFor:'interface specs'! |
|
6764 |
||
6765 |
windowSpec |
|
6766 |
"This resource specification was automatically generated |
|
6767 |
by the UIPainter of ST/X." |
|
6768 |
||
6769 |
"Do not manually edit this!! If it is corrupted, |
|
6770 |
the UIPainter may not be able to read the specification." |
|
6771 |
||
6772 |
" |
|
6773 |
UIPainter new openOnClass:AbstractSettingsApplication::ProcessorSchedulerSettingsAppl andSelector:#windowSpec |
|
6774 |
AbstractSettingsApplication::ProcessorSchedulerSettingsAppl new openInterface:#windowSpec |
|
6775 |
AbstractSettingsApplication::ProcessorSchedulerSettingsAppl open |
|
6776 |
" |
|
6777 |
||
6778 |
<resource: #canvas> |
|
6779 |
||
6780 |
^ |
|
6781 |
#(#FullSpec |
|
6782 |
#name: #windowSpec |
|
6783 |
#window: |
|
6784 |
#(#WindowSpec |
|
4405 | 6785 |
#label: 'Processor and Scheduler Settings' |
6786 |
#name: 'Processor and Scheduler Settings' |
|
4398 | 6787 |
#min: #(#Point 10 10) |
6788 |
#max: #(#Point 1024 768) |
|
6789 |
#bounds: #(#Rectangle 16 42 616 362) |
|
6790 |
) |
|
6791 |
#component: |
|
6792 |
#(#SpecCollection |
|
6793 |
#collection: #( |
|
6794 |
#(#VerticalPanelViewSpec |
|
6795 |
#name: 'VerticalPanel2' |
|
6796 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
6797 |
#horizontalLayout: #fit |
|
6798 |
#verticalLayout: #topSpace |
|
6799 |
#horizontalSpace: 3 |
|
6800 |
#verticalSpace: 5 |
|
6801 |
#component: |
|
6802 |
#(#SpecCollection |
|
6803 |
#collection: #( |
|
6804 |
#(#CheckBoxSpec |
|
6805 |
#label: 'Preemptive Scheduling' |
|
6806 |
#name: 'CheckBox11' |
|
6807 |
#model: #preemptive |
|
6808 |
#translateLabel: true |
|
6809 |
#extent: #(#Point 600 22) |
|
6810 |
) |
|
6811 |
#(#ViewSpec |
|
6812 |
#name: 'Box2' |
|
6813 |
#component: |
|
6814 |
#(#SpecCollection |
|
6815 |
#collection: #( |
|
6816 |
#(#CheckBoxSpec |
|
6817 |
#label: 'Dynamic Priorities' |
|
6818 |
#name: 'CheckBox12' |
|
6819 |
#layout: #(#LayoutFrame 30 0.0 0 0 0 1.0 22 0) |
|
6820 |
#enableChannel: #preemptive |
|
6821 |
#model: #dynamicPrios |
|
6822 |
#translateLabel: true |
|
6823 |
) |
|
6824 |
) |
|
6825 |
||
6826 |
) |
|
6827 |
#extent: #(#Point 600 23) |
|
6828 |
) |
|
6829 |
) |
|
6830 |
||
6831 |
) |
|
6832 |
) |
|
6833 |
) |
|
6834 |
||
6835 |
) |
|
6836 |
) |
|
6837 |
! ! |
|
6838 |
||
6839 |
!AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'actions'! |
|
6840 |
||
4574 | 6841 |
basicSaveSettings |
6842 |
||
6843 |
Processor isTimeSlicing ~~ self preemptive value ifTrue:[ |
|
6844 |
self preemptive value ifTrue:[ |
|
6845 |
Processor startTimeSlicing |
|
6846 |
] ifFalse:[ |
|
6847 |
Processor stopTimeSlicing |
|
6848 |
] |
|
6849 |
]. |
|
6850 |
Processor supportDynamicPriorities ~~ self dynamicPrios value ifTrue:[ |
|
6851 |
Processor supportDynamicPriorities:self dynamicPrios value |
|
6852 |
]. |
|
6853 |
! |
|
6854 |
||
4398 | 6855 |
help |
6856 |
||
6857 |
self warn:'no help available here'. |
|
6858 |
"/ self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/editSettings.html']. |
|
6859 |
! |
|
6860 |
||
4574 | 6861 |
readSettings |
4398 | 6862 |
self preemptive value:Processor isTimeSlicing. |
6863 |
self dynamicPrios value:Processor supportDynamicPriorities. |
|
4574 | 6864 |
self modifiedChannel value:false |
4398 | 6865 |
! ! |
6866 |
||
6867 |
!AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'aspects'! |
|
6868 |
||
6869 |
dynamicPrios |
|
6870 |
"automatically generated by UIPainter ..." |
|
6871 |
||
6872 |
"*** the code below creates a default model when invoked." |
|
6873 |
"*** (which may not be the one you wanted)" |
|
6874 |
"*** Please change as required and accept it in the browser." |
|
6875 |
"*** (and replace this comment by something more useful ;-)" |
|
6876 |
||
6877 |
dynamicPrios isNil ifTrue:[ |
|
6878 |
dynamicPrios := true asValue. |
|
6879 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
6880 |
"/ dynamicPrios addDependent:self. |
|
6881 |
"/ dynamicPrios onChangeSend:#dynamicPriosChanged to:self. |
|
6882 |
]. |
|
6883 |
^ dynamicPrios. |
|
6884 |
! |
|
6885 |
||
6886 |
preemptive |
|
6887 |
"automatically generated by UIPainter ..." |
|
6888 |
||
6889 |
"*** the code below creates a default model when invoked." |
|
6890 |
"*** (which may not be the one you wanted)" |
|
6891 |
"*** Please change as required and accept it in the browser." |
|
6892 |
"*** (and replace this comment by something more useful ;-)" |
|
6893 |
||
6894 |
preemptive isNil ifTrue:[ |
|
6895 |
preemptive := true asValue. |
|
6896 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
6897 |
"/ preemptive addDependent:self. |
|
6898 |
"/ preemptive onChangeSend:#preemptiveChanged to:self. |
|
6899 |
]. |
|
6900 |
^ preemptive. |
|
6901 |
! ! |
|
6902 |
||
6903 |
!AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'queries'! |
|
6904 |
||
6905 |
hasUnsavedChanges |
|
6906 |
||
6907 |
^ ( |
|
6908 |
self preemptive value ~= Processor isTimeSlicing or:[ |
|
6909 |
self dynamicPrios value ~= Processor supportDynamicPriorities] |
|
6910 |
) |
|
6911 |
! ! |
|
6912 |
||
4312 | 6913 |
!AbstractSettingsApplication::RDoItServerSettingsAppl class methodsFor:'image specs'! |
6914 |
||
6915 |
defaultIcon |
|
6916 |
"This resource specification was automatically generated |
|
6917 |
by the ImageEditor of ST/X." |
|
6918 |
||
6919 |
"Do not manually edit this!! If it is corrupted, |
|
6920 |
the ImageEditor may not be able to read the specification." |
|
6921 |
||
6922 |
" |
|
6923 |
self defaultIcon inspect |
|
6924 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
6925 |
Icon flushCachedIcons |
|
6926 |
" |
|
6927 |
||
6928 |
<resource: #image> |
|
6929 |
||
6930 |
^Icon |
|
6931 |
constantNamed:#'AbstractSettingsApplication::RDoItServerSettingsAppl class defaultIcon' |
|
6932 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
6933 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JB (JB (JB (JB (JB (I2\@@@@@ |
|
6934 |
@B (JB (JB (JB (JB (JB\''@@@@@@@(JA@ZFA YE@,KC@,KA0P''I1T@@@@@JB RH2D!!HRD HA(MCP\DI2\U@@@@@B (GRT#H2D"H2L^C0<HAB\''EP@@@@@( |
|
6935 |
JA4%H2L!!H"L#G <OB@P''I1T@@@@@JB ZH2H"H"H)JP@@E!!XWJ"\U@@@@@B (C!!$"H"$)JR,)@@@@E2X''EP@@@@@(JA@WH"$+@B$,@B0)JP@&I1T@@@@@JB P |
|
6936 |
E1 )KB,,J20+JR$@I"\U@@@@@B (A!!DXJR,,JP@+J @@@BX''EP@@@@@''I2\''JR,,JR0)@B,,JR$@I1T@@@@@I2\''I2$,J2$+JP@,J2$)@B\U@@@@@@@@EQTB |
|
6937 |
JR0+JP@,JP@@@@HUEP@@@@@@@@@@@B$+KB,,J20)JP@@@@@@@@@@@@@@@@@)K@@)J0@+JR$@@@@@@@@@@@@@@@@@@@@@JR0)@@@@@@@@@@@@@@@@@@@@@@@@ |
|
6938 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 60 78 83 61 77 82 63 79 84 63 81 86 66 83 87 66 84 89 66 85 91 67 86 92 68 86 91 69 87 92 69 88 94 70 90 95 71 91 96 71 92 98 72 93 99 73 94 100 74 92 97 74 95 101 75 93 98 75 96 102 76 76 76 76 97 103 77 98 104 77 99 106 79 101 108 80 103 109 81 104 110 82 105 111 83 106 112 83 107 114 86 110 117 87 111 118 88 113 121 89 114 122 90 116 123 91 117 124 92 118 125 126 126 126 127 127 127 139 139 139 131 129 0 131 129 131 255 255 0 255 255 255]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@G??0G??0G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8A??8@O?@@O?@@G>@@A0@@@@@') ; yourself); yourself] |
|
6939 |
! ! |
|
6940 |
||
4310 | 6941 |
!AbstractSettingsApplication::RDoItServerSettingsAppl class methodsFor:'interface specs'! |
6942 |
||
6943 |
windowSpec |
|
6944 |
"This resource specification was automatically generated |
|
6945 |
by the UIPainter of ST/X." |
|
6946 |
||
6947 |
"Do not manually edit this!! If it is corrupted, |
|
6948 |
the UIPainter may not be able to read the specification." |
|
6949 |
||
6950 |
" |
|
6951 |
UIPainter new openOnClass:AbstractSettingsApplication::RDoItServerSettingsAppl andSelector:#windowSpec |
|
6952 |
AbstractSettingsApplication::RDoItServerSettingsAppl new openInterface:#windowSpec |
|
6953 |
AbstractSettingsApplication::RDoItServerSettingsAppl open |
|
6954 |
" |
|
6955 |
||
6956 |
<resource: #canvas> |
|
6957 |
||
6958 |
^ |
|
6959 |
#(#FullSpec |
|
6960 |
#name: #windowSpec |
|
6961 |
#window: |
|
6962 |
#(#WindowSpec |
|
6963 |
#label: 'RDoIt Server Settings' |
|
6964 |
#name: 'RDoIt Server Settings' |
|
6965 |
#min: #(#Point 10 10) |
|
6966 |
#max: #(#Point 1024 768) |
|
4434 | 6967 |
#bounds: #(#Rectangle 16 46 616 596) |
4310 | 6968 |
) |
6969 |
#component: |
|
6970 |
#(#SpecCollection |
|
6971 |
#collection: #( |
|
6972 |
#(#VerticalPanelViewSpec |
|
6973 |
#name: 'VerticalPanel1' |
|
6974 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
6975 |
#horizontalLayout: #fit |
|
6976 |
#verticalLayout: #center |
|
6977 |
#horizontalSpace: 3 |
|
6978 |
#verticalSpace: 3 |
|
6979 |
#component: |
|
6980 |
#(#SpecCollection |
|
6981 |
#collection: #( |
|
6982 |
#(#VerticalPanelViewSpec |
|
6983 |
#name: 'VerticalPanel2' |
|
6984 |
#horizontalLayout: #fit |
|
6985 |
#verticalLayout: #center |
|
6986 |
#horizontalSpace: 3 |
|
6987 |
#verticalSpace: 3 |
|
6988 |
#component: |
|
6989 |
#(#SpecCollection |
|
6990 |
#collection: #( |
|
6991 |
#(#ViewSpec |
|
6992 |
#name: 'Box1' |
|
6993 |
#component: |
|
6994 |
#(#SpecCollection |
|
6995 |
#collection: #( |
|
6996 |
#(#CheckBoxSpec |
|
6997 |
#label: 'Remote doits enabled' |
|
6998 |
#name: 'CheckBox1' |
|
6999 |
#layout: #(#LayoutFrame 5 0 0 0 -5 1 22 0) |
|
4675 | 7000 |
#enableChannel: #hasRDoitServerClass |
4310 | 7001 |
#model: #rDoitsEnabled |
7002 |
#translateLabel: true |
|
7003 |
) |
|
7004 |
) |
|
7005 |
||
7006 |
) |
|
7007 |
#extent: #(#Point 600 25) |
|
7008 |
) |
|
7009 |
#(#ViewSpec |
|
7010 |
#name: 'Box2' |
|
7011 |
#component: |
|
7012 |
#(#SpecCollection |
|
7013 |
#collection: #( |
|
7014 |
#(#LabelSpec |
|
7015 |
#label: 'Port:' |
|
7016 |
#name: 'Label2' |
|
7017 |
#layout: #(#LayoutFrame 5 0 0 0 150 0 22 0) |
|
7018 |
#translateLabel: true |
|
7019 |
#adjust: #right |
|
7020 |
) |
|
7021 |
#(#InputFieldSpec |
|
7022 |
#name: 'EntryField1' |
|
7023 |
#layout: #(#LayoutFrame 150 0 0 0 -5 1 22 0) |
|
7024 |
#enableChannel: #rDoitsEnabled |
|
7025 |
#model: #rDoitServerPort |
|
7026 |
#type: #number |
|
7027 |
#acceptOnReturn: true |
|
7028 |
#acceptOnTab: true |
|
7029 |
#acceptOnLostFocus: true |
|
4658 | 7030 |
#acceptOnPointerLeave: true |
4310 | 7031 |
) |
7032 |
) |
|
7033 |
||
7034 |
) |
|
7035 |
#extent: #(#Point 600 25) |
|
7036 |
) |
|
7037 |
#(#ViewSpec |
|
7038 |
#name: 'Box3' |
|
7039 |
#component: |
|
7040 |
#(#SpecCollection |
|
7041 |
#collection: #( |
|
7042 |
#(#CheckBoxSpec |
|
7043 |
#label: 'Log errors' |
|
7044 |
#name: 'CheckBox2' |
|
4434 | 7045 |
#layout: #(#LayoutFrame 25 0 0 0 -5 1 22 0) |
4310 | 7046 |
#enableChannel: #rDoitsEnabled |
7047 |
#model: #rDoitErrorLogging |
|
7048 |
#translateLabel: true |
|
7049 |
) |
|
7050 |
) |
|
7051 |
||
7052 |
) |
|
7053 |
#extent: #(#Point 600 25) |
|
7054 |
) |
|
7055 |
#(#ViewSpec |
|
7056 |
#name: 'Box4' |
|
7057 |
#component: |
|
7058 |
#(#SpecCollection |
|
7059 |
#collection: #( |
|
7060 |
#(#CheckBoxSpec |
|
7061 |
#label: 'Log requests' |
|
7062 |
#name: 'CheckBox3' |
|
4434 | 7063 |
#layout: #(#LayoutFrame 25 0 0 0 -5 1 22 0) |
4310 | 7064 |
#enableChannel: #rDoitsEnabled |
7065 |
#model: #rDoitLogging |
|
7066 |
#translateLabel: true |
|
7067 |
) |
|
7068 |
) |
|
7069 |
||
7070 |
) |
|
7071 |
#extent: #(#Point 600 24) |
|
7072 |
) |
|
7073 |
#(#ViewSpec |
|
7074 |
#name: 'Box5' |
|
7075 |
#component: |
|
7076 |
#(#SpecCollection |
|
7077 |
#collection: #( |
|
7078 |
#(#CheckBoxSpec |
|
7079 |
#label: 'Debug errors' |
|
7080 |
#name: 'CheckBox4' |
|
4434 | 7081 |
#layout: #(#LayoutFrame 25 0 0 0 -5 1 22 0) |
4310 | 7082 |
#enableChannel: #rDoitsEnabled |
7083 |
#model: #rDoitErrorDebugging |
|
7084 |
#translateLabel: true |
|
7085 |
) |
|
7086 |
) |
|
7087 |
||
7088 |
) |
|
7089 |
#extent: #(#Point 600 23) |
|
7090 |
) |
|
7091 |
) |
|
7092 |
||
7093 |
) |
|
7094 |
#extent: #(#Point 600 300) |
|
7095 |
) |
|
7096 |
) |
|
7097 |
||
7098 |
) |
|
7099 |
) |
|
7100 |
) |
|
7101 |
||
7102 |
) |
|
7103 |
) |
|
7104 |
! ! |
|
7105 |
||
7106 |
!AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'actions'! |
|
7107 |
||
4574 | 7108 |
basicSaveSettings |
7109 |
||
7110 |
|rDoits| |
|
7111 |
||
7112 |
RDoItServer defaultPortNumber:self rDoitServerPort value. |
|
7113 |
RDoItServer logging:self rDoitLogging value. |
|
7114 |
RDoItServer errorLogging:self rDoitErrorLogging value. |
|
7115 |
RDoItServer errorCatching:(self rDoitErrorDebugging value not). |
|
7116 |
rDoits := self rDoitsEnabled value. |
|
7117 |
rDoits ~~ RDoItServer serverRunning ifTrue:[ |
|
7118 |
rDoits ifFalse:[ |
|
7119 |
RDoItServer stop |
|
7120 |
] ifTrue:[ |
|
7121 |
RDoItServer start. |
|
7122 |
"/ must wait a bit; give it a chance to |
|
7123 |
"/ really start (before checking) |
|
7124 |
Delay waitForSeconds:0.5. |
|
7125 |
RDoItServer serverRunning ifFalse:[ |
|
7126 |
self warn:'RDoit startup failed (see stderr).' |
|
7127 |
] |
|
7128 |
] |
|
7129 |
]. |
|
7130 |
! |
|
7131 |
||
4310 | 7132 |
help |
7133 |
||
7134 |
"/ self warn:'no help available here'. |
|
7135 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/communicationsSettings.html']. |
|
7136 |
! |
|
7137 |
||
4574 | 7138 |
readSettings |
4310 | 7139 |
(self hasRDoitServer and:[RDoItServer isLoaded]) ifTrue:[ |
7140 |
self rDoitsEnabled value:RDoItServer serverRunning. |
|
7141 |
self rDoitLogging value:RDoItServer isLogging. |
|
7142 |
self rDoitErrorLogging value:RDoItServer isErrorLogging. |
|
7143 |
self rDoitErrorDebugging value:RDoItServer isErrorCatching not. |
|
4574 | 7144 |
self rDoitServerPort value:RDoItServer defaultPortNumber |
4310 | 7145 |
] ifFalse:[ |
7146 |
self rDoitsEnabled value:false. |
|
7147 |
self rDoitLogging value:false. |
|
7148 |
self rDoitErrorLogging value:false. |
|
7149 |
self rDoitErrorDebugging value:false. |
|
4574 | 7150 |
self rDoitServerPort value:nil |
7151 |
]. |
|
7152 |
self modifiedChannel value:false |
|
4310 | 7153 |
! ! |
7154 |
||
7155 |
!AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'aspects'! |
|
7156 |
||
7157 |
rDoitErrorDebugging |
|
7158 |
||
7159 |
rDoitErrorDebugging isNil ifTrue:[ |
|
7160 |
rDoitErrorDebugging := true asValue. |
|
7161 |
rDoitErrorDebugging onChangeSend:#evaluateModified to:self |
|
7162 |
]. |
|
7163 |
^ rDoitErrorDebugging. |
|
7164 |
! |
|
7165 |
||
7166 |
rDoitErrorLogging |
|
7167 |
||
7168 |
rDoitErrorLogging isNil ifTrue:[ |
|
7169 |
rDoitErrorLogging := true asValue. |
|
7170 |
rDoitErrorLogging onChangeSend:#evaluateModified to:self |
|
7171 |
]. |
|
7172 |
^ rDoitErrorLogging. |
|
7173 |
! |
|
7174 |
||
7175 |
rDoitLogging |
|
7176 |
||
7177 |
rDoitLogging isNil ifTrue:[ |
|
7178 |
rDoitLogging := true asValue. |
|
7179 |
rDoitLogging onChangeSend:#evaluateModified to:self |
|
7180 |
]. |
|
7181 |
^ rDoitLogging. |
|
7182 |
! |
|
7183 |
||
7184 |
rDoitServerPort |
|
7185 |
||
7186 |
rDoitServerPort isNil ifTrue:[ |
|
7187 |
rDoitServerPort := ValueHolder new. |
|
7188 |
rDoitServerPort onChangeSend:#evaluateModified to:self |
|
7189 |
]. |
|
7190 |
^ rDoitServerPort. |
|
7191 |
! |
|
7192 |
||
7193 |
rDoitsEnabled |
|
7194 |
||
7195 |
rDoitsEnabled isNil ifTrue:[ |
|
7196 |
rDoitsEnabled := true asValue. |
|
4675 | 7197 |
rDoitsEnabled onChangeSend:#rDoitsEnabledChanged to:self |
4310 | 7198 |
]. |
7199 |
^ rDoitsEnabled. |
|
7200 |
! ! |
|
7201 |
||
7202 |
!AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'change & update'! |
|
7203 |
||
7204 |
rDoitsEnabledChanged |
|
4675 | 7205 |
self evaluateModified. |
4310 | 7206 |
self rDoitsEnabled value ifTrue:[ |
4840
4f74aeb5e4d2
autoload is understood by all classes (dummy if already loaded)
Claus Gittinger <cg@exept.de>
parents:
4831
diff
changeset
|
7207 |
RDoItServer autoload. |
4310 | 7208 |
rDoitServerPort value isNil ifTrue:[ |
7209 |
rDoitServerPort value:(RDoItServer defaultPortNumber). |
|
7210 |
] |
|
7211 |
]. |
|
7212 |
! |
|
7213 |
||
7214 |
update:something with:aParameter from:changedObject |
|
7215 |
changedObject == self rDoitsEnabled ifTrue:[ |
|
7216 |
self rDoitsEnabledChanged. |
|
7217 |
^ self. |
|
7218 |
]. |
|
7219 |
||
7220 |
super update:something with:aParameter from:changedObject |
|
7221 |
! ! |
|
7222 |
||
7223 |
!AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'initialization & release'! |
|
7224 |
||
7225 |
postOpen |
|
7226 |
! |
|
7227 |
||
7228 |
postOpenAsSubcanvasWith:aBuilder |
|
7229 |
||
7230 |
self postOpen. |
|
7231 |
^ super postOpenAsSubcanvasWith:aBuilder |
|
7232 |
! |
|
7233 |
||
7234 |
postOpenWith:aBuilder |
|
7235 |
||
7236 |
self postOpen. |
|
7237 |
^ super postOpenWith:aBuilder |
|
7238 |
! ! |
|
7239 |
||
7240 |
!AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'queries'! |
|
7241 |
||
7242 |
hasRDoitServer |
|
7243 |
||
7244 |
^ RDoItServer notNil and:[RDoItServer isLoaded] |
|
7245 |
! |
|
7246 |
||
4675 | 7247 |
hasRDoitServerClass |
7248 |
^ RDoItServer notNil |
|
7249 |
! |
|
7250 |
||
4310 | 7251 |
hasUnsavedChanges |
7252 |
||
7253 |
(self hasRDoitServer and:[RDoItServer isLoaded]) ifTrue:[ |
|
7254 |
^ ( |
|
7255 |
self rDoitsEnabled value ~= RDoItServer serverRunning or:[ |
|
7256 |
RDoItServer serverRunning and:[ |
|
7257 |
(self rDoitLogging value ~= RDoItServer isLogging or:[ |
|
7258 |
self rDoitErrorLogging value ~= RDoItServer isErrorLogging or:[ |
|
7259 |
self rDoitErrorDebugging value ~= RDoItServer isErrorCatching not or:[ |
|
7260 |
self rDoitServerPort value ~= RDoItServer defaultPortNumber]]])]] |
|
7261 |
) |
|
7262 |
]. |
|
7263 |
^ false |
|
7264 |
! ! |
|
7265 |
||
4387 | 7266 |
!AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'defaults'! |
7267 |
||
7268 |
stcCompilationDemoStrings |
|
7269 |
||
7270 |
^ #('never') |
|
7271 |
! |
|
7272 |
||
7273 |
stcCompilationFullVersionStrings |
|
7274 |
||
7275 |
^ #('always' 'primitive code only' 'never') |
|
7276 |
! |
|
7277 |
||
7278 |
stcCompilationOptions |
|
7279 |
||
7280 |
^ #( always default never) |
|
7281 |
! ! |
|
7282 |
||
7283 |
!AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'image specs'! |
|
7284 |
||
7285 |
defaultIcon |
|
7286 |
"This resource specification was automatically generated |
|
7287 |
by the ImageEditor of ST/X." |
|
7288 |
||
7289 |
"Do not manually edit this!! If it is corrupted, |
|
7290 |
the ImageEditor may not be able to read the specification." |
|
7291 |
||
7292 |
" |
|
7293 |
self defaultIcon inspect |
|
7294 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
7295 |
Icon flushCachedIcons |
|
7296 |
" |
|
7297 |
||
7298 |
<resource: #image> |
|
7299 |
||
7300 |
^Icon |
|
7301 |
constantNamed:#'AbstractSettingsApplication::STCCompilerSettingsAppl class defaultIcon' |
|
7302 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
7303 |
@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@H@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@H@ |
|
7304 |
@@DA@PD@@PDA@@DA@PD@@PDA@@@B@@@A@PDA@@DA@P@A@PDA@@DA@P@@@ @@@P@@@P@A@@D@@P@@@P@A@@D@@@H@@@DA@PD@@PDA@@DA@PD@@PDA@@@B@@@@ |
|
4398 | 7305 |
@@@@@@@@@@@@@@@@@@@@@@@@@ @@@PDA@PDA@PDA@PDA@PDA@PD@@@H@@@DA@@@@@P@@@@@@@P@@@@DA@@@B@@@A@@DA@PDA@P@A@P@A@PD@@P@@@ @@@P@A |
7306 |
@PDA@PD@@PD@@PDA@PD@@@H@@@DA@@@A@PDA@@DA@@DA@PDA@@@B@@@A@PDA@@DA@P@A@P@A@PDA@P@@@ @@@PDA@P@A@PD@@PD@@PDA@@D@@@H@@@D@@@@A |
|
7307 |
@PDA@@DA@P@@@@DA@@@B@@@A@PDA@PDA@PDA@PDA@PDA@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
4387 | 7308 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8O??8@@@@@@@@@@@@') ; yourself); yourself] |
7309 |
! ! |
|
7310 |
||
7311 |
!AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'interface specs'! |
|
7312 |
||
7313 |
windowSpec |
|
7314 |
"This resource specification was automatically generated |
|
7315 |
by the UIPainter of ST/X." |
|
7316 |
||
7317 |
"Do not manually edit this!! If it is corrupted, |
|
7318 |
the UIPainter may not be able to read the specification." |
|
7319 |
||
7320 |
" |
|
7321 |
UIPainter new openOnClass:AbstractSettingsApplication::STCCompilerSettingsAppl andSelector:#windowSpec |
|
7322 |
AbstractSettingsApplication::STCCompilerSettingsAppl new openInterface:#windowSpec |
|
7323 |
AbstractSettingsApplication::STCCompilerSettingsAppl open |
|
7324 |
" |
|
7325 |
||
7326 |
<resource: #canvas> |
|
7327 |
||
7328 |
^ |
|
7329 |
#(#FullSpec |
|
7330 |
#name: #windowSpec |
|
7331 |
#window: |
|
7332 |
#(#WindowSpec |
|
4405 | 7333 |
#label: 'STC Compiler Settings' |
7334 |
#name: 'STC Compiler Settings' |
|
4387 | 7335 |
#min: #(#Point 10 10) |
7336 |
#max: #(#Point 1024 768) |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7337 |
#bounds: #(#Rectangle 14 46 614 660) |
4387 | 7338 |
) |
7339 |
#component: |
|
7340 |
#(#SpecCollection |
|
7341 |
#collection: #( |
|
7342 |
#(#VerticalPanelViewSpec |
|
7343 |
#name: 'VerticalPanel2' |
|
7344 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
7345 |
#horizontalLayout: #fit |
|
7346 |
#verticalLayout: #center |
|
7347 |
#horizontalSpace: 3 |
|
7348 |
#verticalSpace: 3 |
|
7349 |
#component: |
|
7350 |
#(#SpecCollection |
|
7351 |
#collection: #( |
|
7352 |
#(#ViewSpec |
|
7353 |
#name: 'Box11' |
|
7354 |
#component: |
|
7355 |
#(#SpecCollection |
|
7356 |
#collection: #( |
|
7357 |
#(#LabelSpec |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7358 |
#label: 'STC Compilation to Machine Code' |
4387 | 7359 |
#name: 'Label11' |
7360 |
#layout: #(#LayoutFrame 0 0 0 0 200 0 22 0) |
|
7361 |
#translateLabel: true |
|
7362 |
#adjust: #right |
|
7363 |
) |
|
7364 |
#(#PopUpListSpec |
|
7365 |
#label: 'PopUp List' |
|
7366 |
#name: 'StcCompilation' |
|
7367 |
#layout: #(#LayoutFrame 201 0 0 0 -5 1 22 0) |
|
7368 |
#tabable: true |
|
7369 |
#model: #stcCompilationSelection |
|
7370 |
#enableChannel: #canLoadBinaries |
|
7371 |
#menu: #stcCompilationList |
|
7372 |
#useIndex: true |
|
7373 |
) |
|
7374 |
) |
|
7375 |
||
7376 |
) |
|
7377 |
#extent: #(#Point 600 29) |
|
7378 |
) |
|
7379 |
#(#ViewSpec |
|
7380 |
#name: 'Box1' |
|
7381 |
#component: |
|
7382 |
#(#SpecCollection |
|
7383 |
#collection: #( |
|
7384 |
#(#LabelSpec |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7385 |
#label: 'STC Command:' |
4387 | 7386 |
#name: 'Label1' |
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7387 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7388 |
#translateLabel: true |
7389 |
#adjust: #right |
|
7390 |
) |
|
7391 |
#(#InputFieldSpec |
|
7392 |
#name: 'EntryField1' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7393 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7394 |
#enableChannel: #canLoadBinaries |
7395 |
#model: #stc |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7396 |
#acceptOnLeave: true |
4387 | 7397 |
#acceptOnReturn: true |
7398 |
#acceptOnTab: true |
|
7399 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7400 |
#acceptOnPointerLeave: true |
4387 | 7401 |
) |
7402 |
) |
|
7403 |
||
7404 |
) |
|
7405 |
#extent: #(#Point 600 35) |
|
7406 |
) |
|
7407 |
#(#ViewSpec |
|
7408 |
#name: 'Box2' |
|
7409 |
#component: |
|
7410 |
#(#SpecCollection |
|
7411 |
#collection: #( |
|
7412 |
#(#LabelSpec |
|
7413 |
#label: 'STC Options:' |
|
7414 |
#name: 'Label2' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7415 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7416 |
#translateLabel: true |
7417 |
#adjust: #right |
|
7418 |
) |
|
7419 |
#(#InputFieldSpec |
|
7420 |
#name: 'EntryField2' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7421 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7422 |
#enableChannel: #canLoadBinaries |
7423 |
#model: #stcOptions |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7424 |
#acceptOnLeave: true |
4387 | 7425 |
#acceptOnReturn: true |
7426 |
#acceptOnTab: true |
|
7427 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7428 |
#acceptOnPointerLeave: true |
4387 | 7429 |
) |
7430 |
) |
|
7431 |
||
7432 |
) |
|
7433 |
#extent: #(#Point 600 35) |
|
7434 |
) |
|
7435 |
#(#ViewSpec |
|
7436 |
#name: 'Box3' |
|
7437 |
#component: |
|
7438 |
#(#SpecCollection |
|
7439 |
#collection: #( |
|
7440 |
#(#LabelSpec |
|
7441 |
#label: 'CC Command:' |
|
7442 |
#name: 'Label3' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7443 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7444 |
#translateLabel: true |
7445 |
#adjust: #right |
|
7446 |
) |
|
7447 |
#(#InputFieldSpec |
|
7448 |
#name: 'EntryField3' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7449 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7450 |
#enableChannel: #canLoadBinaries |
7451 |
#model: #cc |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7452 |
#acceptOnLeave: true |
4387 | 7453 |
#acceptOnReturn: true |
7454 |
#acceptOnTab: true |
|
7455 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7456 |
#acceptOnPointerLeave: true |
4387 | 7457 |
) |
7458 |
) |
|
7459 |
||
7460 |
) |
|
7461 |
#extent: #(#Point 600 35) |
|
7462 |
) |
|
7463 |
#(#ViewSpec |
|
7464 |
#name: 'Box4' |
|
7465 |
#component: |
|
7466 |
#(#SpecCollection |
|
7467 |
#collection: #( |
|
7468 |
#(#LabelSpec |
|
7469 |
#label: 'CC Options:' |
|
7470 |
#name: 'Label4' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7471 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7472 |
#translateLabel: true |
7473 |
#adjust: #right |
|
7474 |
) |
|
7475 |
#(#InputFieldSpec |
|
7476 |
#name: 'EntryField4' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7477 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7478 |
#enableChannel: #canLoadBinaries |
7479 |
#model: #ccOptions |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7480 |
#acceptOnLeave: true |
4387 | 7481 |
#acceptOnReturn: true |
7482 |
#acceptOnTab: true |
|
7483 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7484 |
#acceptOnPointerLeave: true |
4387 | 7485 |
) |
7486 |
) |
|
7487 |
||
7488 |
) |
|
7489 |
#extent: #(#Point 600 35) |
|
7490 |
) |
|
7491 |
#(#ViewSpec |
|
7492 |
#name: 'Box5' |
|
7493 |
#component: |
|
7494 |
#(#SpecCollection |
|
7495 |
#collection: #( |
|
7496 |
#(#LabelSpec |
|
7497 |
#label: 'Include Directories:' |
|
7498 |
#name: 'Label5' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7499 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7500 |
#translateLabel: true |
7501 |
#adjust: #right |
|
7502 |
) |
|
7503 |
#(#InputFieldSpec |
|
7504 |
#name: 'EntryField5' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7505 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7506 |
#enableChannel: #canLoadBinaries |
7507 |
#model: #stcIncludes |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7508 |
#acceptOnLeave: true |
4387 | 7509 |
#acceptOnReturn: true |
7510 |
#acceptOnTab: true |
|
7511 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7512 |
#acceptOnPointerLeave: true |
4387 | 7513 |
) |
7514 |
) |
|
7515 |
||
7516 |
) |
|
7517 |
#extent: #(#Point 600 35) |
|
7518 |
) |
|
7519 |
#(#ViewSpec |
|
7520 |
#name: 'Box6' |
|
7521 |
#component: |
|
7522 |
#(#SpecCollection |
|
7523 |
#collection: #( |
|
7524 |
#(#LabelSpec |
|
7525 |
#label: 'Defines:' |
|
7526 |
#name: 'Label6' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7527 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7528 |
#translateLabel: true |
7529 |
#adjust: #right |
|
7530 |
) |
|
7531 |
#(#InputFieldSpec |
|
7532 |
#name: 'EntryField6' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7533 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7534 |
#enableChannel: #canLoadBinaries |
7535 |
#model: #stcDefines |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7536 |
#acceptOnLeave: true |
4387 | 7537 |
#acceptOnReturn: true |
7538 |
#acceptOnTab: true |
|
7539 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7540 |
#acceptOnPointerLeave: true |
4387 | 7541 |
) |
7542 |
) |
|
7543 |
||
7544 |
) |
|
7545 |
#extent: #(#Point 600 34) |
|
7546 |
) |
|
7547 |
#(#ViewSpec |
|
7548 |
#name: 'Box7' |
|
7549 |
#component: |
|
7550 |
#(#SpecCollection |
|
7551 |
#collection: #( |
|
7552 |
#(#LabelSpec |
|
7553 |
#label: 'Link Command:' |
|
7554 |
#name: 'Label7' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7555 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7556 |
#translateLabel: true |
7557 |
#adjust: #right |
|
7558 |
) |
|
7559 |
#(#InputFieldSpec |
|
7560 |
#name: 'EntryField7' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7561 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7562 |
#enableChannel: #canLoadBinaries |
7563 |
#model: #linkCommand |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7564 |
#acceptOnLeave: true |
4387 | 7565 |
#acceptOnReturn: true |
7566 |
#acceptOnTab: true |
|
7567 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7568 |
#acceptOnPointerLeave: true |
4387 | 7569 |
) |
7570 |
) |
|
7571 |
||
7572 |
) |
|
7573 |
#extent: #(#Point 600 33) |
|
7574 |
) |
|
7575 |
#(#ViewSpec |
|
7576 |
#name: 'Box8' |
|
7577 |
#component: |
|
7578 |
#(#SpecCollection |
|
7579 |
#collection: #( |
|
7580 |
#(#LabelSpec |
|
7581 |
#label: 'Link Arguments:' |
|
7582 |
#name: 'Label8' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7583 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7584 |
#translateLabel: true |
7585 |
#adjust: #right |
|
7586 |
) |
|
7587 |
#(#InputFieldSpec |
|
7588 |
#name: 'EntryField8' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7589 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7590 |
#enableChannel: #canLoadBinaries |
7591 |
#model: #linkArgs |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7592 |
#acceptOnLeave: true |
4387 | 7593 |
#acceptOnReturn: true |
7594 |
#acceptOnTab: true |
|
7595 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7596 |
#acceptOnPointerLeave: true |
4387 | 7597 |
) |
7598 |
) |
|
7599 |
||
7600 |
) |
|
7601 |
#extent: #(#Point 600 32) |
|
7602 |
) |
|
7603 |
#(#ViewSpec |
|
7604 |
#name: 'Box9' |
|
7605 |
#component: |
|
7606 |
#(#SpecCollection |
|
7607 |
#collection: #( |
|
7608 |
#(#LabelSpec |
|
7609 |
#label: 'C-Libraries:' |
|
7610 |
#name: 'Label9' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7611 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7612 |
#translateLabel: true |
7613 |
#adjust: #right |
|
7614 |
) |
|
7615 |
#(#InputFieldSpec |
|
7616 |
#name: 'EntryField9' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7617 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7618 |
#enableChannel: #canLoadBinaries |
7619 |
#model: #stcLibraries |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7620 |
#acceptOnLeave: true |
4387 | 7621 |
#acceptOnReturn: true |
7622 |
#acceptOnTab: true |
|
7623 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7624 |
#acceptOnPointerLeave: true |
4387 | 7625 |
) |
7626 |
) |
|
7627 |
||
7628 |
) |
|
7629 |
#extent: #(#Point 600 31) |
|
7630 |
) |
|
7631 |
#(#ViewSpec |
|
7632 |
#name: 'Box10' |
|
7633 |
#component: |
|
7634 |
#(#SpecCollection |
|
7635 |
#collection: #( |
|
7636 |
#(#LabelSpec |
|
7637 |
#label: 'STC Library Path:' |
|
7638 |
#name: 'Label10' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7639 |
#layout: #(#LayoutFrame 5 0 0 0 132 0 22 0) |
4387 | 7640 |
#translateLabel: true |
7641 |
#adjust: #right |
|
7642 |
) |
|
7643 |
#(#InputFieldSpec |
|
7644 |
#name: 'EntryField10' |
|
4427
2daba9a5ad8a
STC cmpiler settings: geometry changes
Claus Gittinger <cg@exept.de>
parents:
4419
diff
changeset
|
7645 |
#layout: #(#LayoutFrame 139 0 0 0 -5 1 22 0) |
4387 | 7646 |
#enableChannel: #enableStcLibraryPath |
7647 |
#model: #stcLibraryPath |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7648 |
#acceptOnLeave: true |
4387 | 7649 |
#acceptOnReturn: true |
7650 |
#acceptOnTab: true |
|
7651 |
#acceptOnLostFocus: true |
|
4541
752196fe7652
InputFields accept on pointerLeave
Stefan Vogel <sv@exept.de>
parents:
4503
diff
changeset
|
7652 |
#acceptOnPointerLeave: true |
4387 | 7653 |
) |
7654 |
) |
|
7655 |
||
7656 |
) |
|
7657 |
#extent: #(#Point 600 30) |
|
7658 |
) |
|
7659 |
) |
|
7660 |
||
7661 |
) |
|
7662 |
) |
|
7663 |
) |
|
7664 |
||
7665 |
) |
|
7666 |
) |
|
7667 |
! ! |
|
7668 |
||
7669 |
!AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'actions'! |
|
7670 |
||
4574 | 7671 |
basicSaveSettings |
7672 |
||
7673 |
Compiler stcCompilation:(self class stcCompilationOptions at:self stcCompilationSelection value). |
|
7674 |
Compiler stcCompilationIncludes:self stcIncludes value. |
|
7675 |
Compiler stcCompilationDefines:self stcDefines value. |
|
7676 |
Compiler stcCompilationOptions:self stcOptions value. |
|
7677 |
Compiler ccCompilationOptions:self ccOptions value. |
|
7678 |
Compiler ccPath:self cc value. |
|
7679 |
self stc value ~= Compiler stcPath ifTrue:[ |
|
7680 |
Compiler stcPath:self stc value |
|
7681 |
]. |
|
7682 |
ObjectFileLoader linkCommand:self linkCommand value. |
|
7683 |
ObjectFileLoader linkArgs:self linkArgs value. |
|
7684 |
ObjectFileLoader notNil ifTrue:[ |
|
7685 |
self stcLibraries value notNil ifTrue:[ |
|
7686 |
ObjectFileLoader searchedLibraries:(self stcLibraries value asCollectionOfWords). |
|
7687 |
]. |
|
7688 |
stcLibraryPath notNil ifTrue:[ |
|
7689 |
ObjectFileLoader libPath:(self stcLibraryPath value). |
|
7690 |
] |
|
7691 |
]. |
|
7692 |
! |
|
7693 |
||
4387 | 7694 |
help |
7695 |
||
7696 |
"/ self warn:'no help available here'. |
|
7697 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/compilerSettings.html']. |
|
7698 |
! |
|
7699 |
||
4574 | 7700 |
readSettings |
7701 |
self canLoadBinaries |
|
7702 |
value:(ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]). |
|
4387 | 7703 |
self stcIncludes value:Compiler stcCompilationIncludes. |
7704 |
self stcDefines value:Compiler stcCompilationDefines. |
|
7705 |
self stcOptions value:Compiler stcCompilationOptions. |
|
7706 |
self ccOptions value:Compiler ccCompilationOptions. |
|
7707 |
self cc value:Compiler ccPath. |
|
7708 |
self stc value:Compiler stcPath. |
|
7709 |
self linkCommand value:ObjectFileLoader linkCommand. |
|
7710 |
self linkArgs value:ObjectFileLoader linkArgs. |
|
7711 |
ObjectFileLoader notNil ifTrue:[ |
|
4574 | 7712 |
|t| |
7713 |
||
4387 | 7714 |
(t := ObjectFileLoader searchedLibraries) notNil ifTrue:[ |
4574 | 7715 |
self stcLibraries value:(String fromStringCollection:t separatedBy:' ') |
4387 | 7716 |
]. |
7717 |
(t := ObjectFileLoader libPath) notNil ifTrue:[ |
|
4574 | 7718 |
self stcLibraryPath value:t |
4387 | 7719 |
] |
7720 |
]. |
|
7721 |
self thisIsADemoVersion ifTrue:[ |
|
4574 | 7722 |
self stcCompilationSelection value:(self class stcCompilationOptions |
7723 |
indexOf:(Compiler stcCompilation) |
|
7724 |
ifAbsent:2) |
|
4387 | 7725 |
] ifFalse:[ |
4574 | 7726 |
self stcCompilationSelection value:2 |
7727 |
]. |
|
7728 |
self modifiedChannel value:false |
|
4387 | 7729 |
! ! |
7730 |
||
7731 |
!AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'aspects'! |
|
7732 |
||
7733 |
canLoadBinaries |
|
7734 |
||
7735 |
canLoadBinaries isNil ifTrue:[ |
|
7736 |
canLoadBinaries := (ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]) asValue. |
|
7737 |
]. |
|
7738 |
^ canLoadBinaries. |
|
7739 |
! |
|
7740 |
||
7741 |
cc |
|
7742 |
||
7743 |
cc isNil ifTrue:[ |
|
7744 |
cc := ValueHolder new. |
|
7745 |
cc onChangeSend:#evaluateModified to:self. |
|
7746 |
]. |
|
7747 |
^ cc. |
|
7748 |
! |
|
7749 |
||
7750 |
ccOptions |
|
7751 |
||
7752 |
ccOptions isNil ifTrue:[ |
|
7753 |
ccOptions := ValueHolder new. |
|
7754 |
ccOptions onChangeSend:#evaluateModified to:self. |
|
7755 |
]. |
|
7756 |
^ ccOptions. |
|
7757 |
! |
|
7758 |
||
7759 |
enableStcLibraryPath |
|
7760 |
||
7761 |
^ (ObjectFileLoader libPath notNil and:[self canLoadBinaries]) |
|
7762 |
! |
|
7763 |
||
7764 |
linkArgs |
|
7765 |
||
7766 |
linkArgs isNil ifTrue:[ |
|
7767 |
linkArgs := ValueHolder new. |
|
7768 |
linkArgs onChangeSend:#evaluateModified to:self. |
|
7769 |
]. |
|
7770 |
^ linkArgs. |
|
7771 |
! |
|
7772 |
||
7773 |
linkCommand |
|
7774 |
||
7775 |
linkCommand isNil ifTrue:[ |
|
7776 |
linkCommand := ValueHolder new. |
|
7777 |
linkCommand onChangeSend:#evaluateModified to:self. |
|
7778 |
]. |
|
7779 |
^ linkCommand. |
|
7780 |
! |
|
7781 |
||
7782 |
stc |
|
7783 |
||
7784 |
stc isNil ifTrue:[ |
|
7785 |
stc := ValueHolder new. |
|
7786 |
stc onChangeSend:#evaluateModified to:self. |
|
7787 |
]. |
|
7788 |
^ stc. |
|
7789 |
! |
|
7790 |
||
7791 |
stcCompilationList |
|
7792 |
||
7793 |
stcCompilationList isNil ifTrue:[ |
|
7794 |
self thisIsADemoVersion ifTrue:[ |
|
7795 |
stcCompilationList := (resources array:(self class stcCompilationDemoStrings)) asList. |
|
7796 |
] ifFalse:[ |
|
7797 |
stcCompilationList := (resources array:(self class stcCompilationFullVersionStrings)) asList. |
|
7798 |
] |
|
7799 |
]. |
|
7800 |
^ stcCompilationList. |
|
7801 |
! |
|
7802 |
||
7803 |
stcCompilationSelection |
|
7804 |
||
7805 |
stcCompilationSelection isNil ifTrue:[ |
|
7806 |
self thisIsADemoVersion ifTrue:[ |
|
7807 |
stcCompilationSelection := (self class stcCompilationOptions indexOf:(Compiler stcCompilation) ifAbsent:2) asValue. |
|
7808 |
] ifFalse:[ |
|
7809 |
stcCompilationSelection := 2 asValue. |
|
7810 |
]. |
|
7811 |
stcCompilationSelection onChangeSend:#evaluateModified to:self. |
|
7812 |
]. |
|
7813 |
^ stcCompilationSelection. |
|
7814 |
! |
|
7815 |
||
7816 |
stcDefines |
|
7817 |
||
7818 |
stcDefines isNil ifTrue:[ |
|
7819 |
stcDefines := ValueHolder new. |
|
7820 |
stcDefines onChangeSend:#evaluateModified to:self. |
|
7821 |
]. |
|
7822 |
^ stcDefines. |
|
7823 |
! |
|
7824 |
||
7825 |
stcIncludes |
|
7826 |
||
7827 |
stcIncludes isNil ifTrue:[ |
|
7828 |
stcIncludes := ValueHolder new. |
|
7829 |
stcIncludes onChangeSend:#evaluateModified to:self. |
|
7830 |
]. |
|
7831 |
^ stcIncludes. |
|
7832 |
! |
|
7833 |
||
7834 |
stcLibraries |
|
7835 |
||
7836 |
stcLibraries isNil ifTrue:[ |
|
7837 |
stcLibraries := ValueHolder new. |
|
7838 |
stcLibraries onChangeSend:#evaluateModified to:self. |
|
7839 |
]. |
|
7840 |
^ stcLibraries. |
|
7841 |
! |
|
7842 |
||
7843 |
stcLibraryPath |
|
7844 |
||
7845 |
stcLibraryPath isNil ifTrue:[ |
|
7846 |
stcLibraryPath := ValueHolder new. |
|
7847 |
stcLibraryPath onChangeSend:#evaluateModified to:self. |
|
7848 |
]. |
|
7849 |
^ stcLibraryPath. |
|
7850 |
! |
|
7851 |
||
7852 |
stcOptions |
|
7853 |
||
7854 |
stcOptions isNil ifTrue:[ |
|
7855 |
stcOptions := ValueHolder new. |
|
7856 |
stcOptions onChangeSend:#evaluateModified to:self. |
|
7857 |
]. |
|
7858 |
^ stcOptions. |
|
7859 |
! ! |
|
7860 |
||
7861 |
!AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'queries'! |
|
7862 |
||
7863 |
hasUnsavedChanges |
|
7864 |
||
7865 |
| searchedLibs | |
|
7866 |
searchedLibs := ObjectFileLoader searchedLibraries. |
|
7867 |
^ ( |
|
7868 |
((Compiler stcCompilation) ~= (self class stcCompilationOptions at:self stcCompilationSelection value)) or:[ |
|
7869 |
((ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]) ~= self canLoadBinaries value ) or:[ |
|
7870 |
((Compiler stcCompilationIncludes) ~= self stcIncludes value) or:[ |
|
7871 |
((Compiler stcCompilationDefines) ~= self stcDefines value) or:[ |
|
7872 |
((Compiler stcCompilationOptions) ~= self stcOptions value) or:[ |
|
7873 |
((Compiler ccCompilationOptions) ~= self ccOptions value) or:[ |
|
7874 |
((Compiler ccPath) ~= self cc value) or:[ |
|
7875 |
((Compiler stcPath) ~= self stc value) or:[ |
|
7876 |
((ObjectFileLoader linkCommand) ~= self linkCommand value) or:[ |
|
7877 |
((ObjectFileLoader linkArgs) ~= self linkArgs value) or:[ |
|
7878 |
ObjectFileLoader notNil and:[ |
|
7879 |
((searchedLibs notNil and:[ |
|
7880 |
(String fromStringCollection:searchedLibs separatedBy:' ') ~= self stcLibraries value |
|
7881 |
]) or:[ |
|
7882 |
(ObjectFileLoader libPath notNil and:[ |
|
7883 |
ObjectFileLoader libPath ~= self stcLibraryPath value |
|
7884 |
])]) |
|
7885 |
]]]]]]]]]]] |
|
7886 |
) |
|
7887 |
! |
|
7888 |
||
7889 |
thisIsADemoVersion |
|
7890 |
||
7891 |
^ Smalltalk releaseIdentification = 'ST/X_free_demo_vsn' |
|
7892 |
! ! |
|
7893 |
||
4398 | 7894 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'defaults'! |
7895 |
||
7896 |
exampleText |
|
7897 |
||
7898 |
^ 'methodSelector:methodArg |
|
7899 |
"method comment: |
|
7900 |
some stupid code to show the current settings" |
|
7901 |
||
7902 |
|index| |
|
7903 |
||
7904 |
"/ another comment ... |
|
7905 |
self at:index. "/ a message |
|
7906 |
self at:index put:methodArg. "/ a two arg message |
|
7907 |
self from:1 to:index put:methodArg. "/ a three arg message |
|
7908 |
methodArg ifTrue:[ |
|
7909 |
Transcript showCR:''hello''. "/ condition |
|
7910 |
]. |
|
7911 |
methodArg ifTrue:[ |
|
7912 |
Transcript showCR:''hello''. "/ condition |
|
7913 |
] ifFalse:[ |
|
7914 |
Transcript showCR:''world''. |
|
7915 |
]. |
|
7916 |
[methodArg] whileTrue:[ |
|
7917 |
Transcript showCR:''hello''. "/ looping |
|
7918 |
]. |
|
7919 |
[self aVeryLongConditionBlock and:[self toMakeBlockLonger]] whileTrue:[ |
|
7920 |
Transcript showCR:''hello''. "/ long blocks |
|
7921 |
]. |
|
7922 |
methodArg do:[:element | |
|
7923 |
Transcript showCR:''hello''. "/ looping |
|
7924 |
]. |
|
7925 |
1 to:methodArg size do:[:index | |
|
7926 |
Transcript showCR:''hello''. "/ looping |
|
7927 |
]. |
|
7928 |
methodArg keysAndValuesDo:[:index | |
|
7929 |
Transcript showCR:''hello''. "/ looping |
|
7930 |
]. |
|
7931 |
Object errorSignal handle:[:ex | |
|
7932 |
ex return |
|
7933 |
] do:[ "/ exception handling |
|
7934 |
self someAction "/ blocks |
|
7935 |
]. |
|
7936 |
^ self. |
|
7937 |
'. |
|
7938 |
! ! |
|
7939 |
||
7940 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'image specs'! |
|
4312 | 7941 |
|
7942 |
defaultIcon |
|
7943 |
"This resource specification was automatically generated |
|
7944 |
by the ImageEditor of ST/X." |
|
7945 |
||
7946 |
"Do not manually edit this!! If it is corrupted, |
|
7947 |
the ImageEditor may not be able to read the specification." |
|
7948 |
||
7949 |
" |
|
7950 |
self defaultIcon inspect |
|
7951 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
7952 |
Icon flushCachedIcons |
|
7953 |
" |
|
7954 |
||
7955 |
<resource: #image> |
|
7956 |
||
7957 |
^Icon |
|
4398 | 7958 |
constantNamed:#'AbstractSettingsApplication::EditSettingsAppl class defaultIcon' |
7959 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
7960 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JB (JB (JB (JB (JB (@@@TE@@@@B (IBP$IBPXIBP$IBP$IAPTE@0@@ |
|
7961 |
@@(JBP$IBP$FBP$IBP$IAPTE@0L@@@@JB $IBP$IA $IBP$IBPTEAPLC@@@@B (FA XFA XFA XFA TE@0LC@0@@@@(JBP$IBP$FBP$IAPTE@0LC@0P@@@@J |
|
7962 |
B $IBP$IA $IAPTE@0LC@0PK@@@@B (IBP$IBPXIBPTEAPLC@0LDB0@@@@(JA XFA XFA TH@0LC@0PD@ @@@@@JB $IBP$I@@ HB@LC@0PB@ @@@@@@B (I |
|
7963 |
BP$IBPXHB@ HB@ K@PD@@@@@@@(JA XFA @HB@ HB@ F@@DA@@@@@@@JB XFA X@B@ HB@ FA @A@P@@@@@@B (IBP$I@P HB@XFA (I@PD@@@@@@@(JBP$I |
|
7964 |
@PHKA XJBP$IBPDA@@@@@@@JB @@@@D@@@@@@@@@@@@A@P@@@@@@B (@@@D@@@@@@@@@@@@@@PD@@@@@@@(JBP$IBP$@BP$IBP$IBPDA@@@@@@HA@PDA@PDA |
|
7965 |
@PDA@PDA@PDA@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[160 160 160 0 0 0 48 48 48 255 128 0 192 88 0 255 168 88 195 195 195 88 88 88 255 220 168 255 255 255 220 220 220 64 0 0]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@G??LG??<G??<G??<G??<G??<G??<G??<G??8G??0G??0G??0G??0G??0G??0G??0G??0G??0O??0@@@@') ; yourself); yourself] |
|
7966 |
! ! |
|
7967 |
||
7968 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'interface specs'! |
|
7969 |
||
7970 |
windowSpec |
|
7971 |
"This resource specification was automatically generated |
|
7972 |
by the UIPainter of ST/X." |
|
7973 |
||
7974 |
"Do not manually edit this!! If it is corrupted, |
|
7975 |
the UIPainter may not be able to read the specification." |
|
7976 |
||
7977 |
" |
|
7978 |
UIPainter new openOnClass:AbstractSettingsApplication::SourceCodeFormatSettingsAppl andSelector:#windowSpec |
|
7979 |
AbstractSettingsApplication::SourceCodeFormatSettingsAppl new openInterface:#windowSpec |
|
7980 |
AbstractSettingsApplication::SourceCodeFormatSettingsAppl open |
|
7981 |
" |
|
7982 |
||
7983 |
<resource: #canvas> |
|
7984 |
||
7985 |
^ |
|
7986 |
#(#FullSpec |
|
7987 |
#name: #windowSpec |
|
7988 |
#window: |
|
7989 |
#(#WindowSpec |
|
7990 |
#label: 'Code Format Settings' |
|
7991 |
#name: 'Code Format Settings' |
|
7992 |
#min: #(#Point 10 10) |
|
7993 |
#max: #(#Point 1024 768) |
|
4658 | 7994 |
#bounds: #(#Rectangle 16 42 620 718) |
4398 | 7995 |
) |
7996 |
#component: |
|
7997 |
#(#SpecCollection |
|
7998 |
#collection: #( |
|
7999 |
#(#VerticalPanelViewSpec |
|
8000 |
#name: 'VerticalPanel3' |
|
8001 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
8002 |
#horizontalLayout: #fit |
|
8003 |
#verticalLayout: #topSpace |
|
8004 |
#horizontalSpace: 3 |
|
8005 |
#verticalSpace: 3 |
|
8006 |
#component: |
|
8007 |
#(#SpecCollection |
|
8008 |
#collection: #( |
|
8009 |
#(#VerticalPanelViewSpec |
|
8010 |
#name: 'VerticalPanel2' |
|
8011 |
#horizontalLayout: #fitSpace |
|
8012 |
#verticalLayout: #topSpace |
|
8013 |
#horizontalSpace: 5 |
|
8014 |
#verticalSpace: 10 |
|
8015 |
#component: |
|
8016 |
#(#SpecCollection |
|
8017 |
#collection: #( |
|
8018 |
#(#CheckBoxSpec |
|
8019 |
#label: 'Auto Format' |
|
8020 |
#name: 'CheckBox2' |
|
8021 |
#model: #autoFormat |
|
8022 |
#translateLabel: true |
|
8023 |
#extent: #(#Point 594 22) |
|
8024 |
) |
|
8025 |
#(#ViewSpec |
|
8026 |
#name: 'Box14' |
|
8027 |
#component: |
|
8028 |
#(#SpecCollection |
|
8029 |
#collection: #( |
|
8030 |
#(#LabelSpec |
|
8031 |
#label: 'Sample Output:' |
|
8032 |
#name: 'Label3' |
|
8033 |
#layout: #(#LayoutFrame 0 0 0 0 0 1 22 0) |
|
8034 |
#style: #(#FontDescription #helvetica #medium #roman 12) |
|
8035 |
#translateLabel: true |
|
8036 |
#adjust: #left |
|
8037 |
) |
|
8038 |
#(#TextEditorSpec |
|
8039 |
#name: 'TextEditor3' |
|
8040 |
#layout: #(#LayoutFrame 0 0 22 0 0 1 300 0) |
|
8041 |
#model: #editorText |
|
8042 |
#hasHorizontalScrollBar: true |
|
8043 |
#hasVerticalScrollBar: true |
|
8044 |
#isReadOnly: true |
|
8045 |
#postBuildCallback: #postBuildTextEditor: |
|
8046 |
) |
|
8047 |
) |
|
8048 |
||
8049 |
) |
|
8050 |
#extent: #(#Point 594 300) |
|
8051 |
) |
|
8052 |
#(#VerticalPanelViewSpec |
|
8053 |
#name: 'VerticalPanel1' |
|
8054 |
#horizontalLayout: #fit |
|
8055 |
#verticalLayout: #bottom |
|
8056 |
#horizontalSpace: 3 |
|
8057 |
#verticalSpace: 3 |
|
8058 |
#component: |
|
8059 |
#(#SpecCollection |
|
8060 |
#collection: #( |
|
8061 |
#(#ViewSpec |
|
8062 |
#name: 'Box1' |
|
8063 |
#component: |
|
8064 |
#(#SpecCollection |
|
8065 |
#collection: #( |
|
8066 |
#(#CheckBoxSpec |
|
8067 |
#label: 'Space around Temporaries' |
|
8068 |
#name: 'CheckBox3' |
|
8069 |
#layout: #(#LayoutFrame 0 0 0 0 250 0 22 0) |
|
8070 |
#model: #spaceAroundTemporaries |
|
8071 |
#translateLabel: true |
|
8072 |
) |
|
8073 |
#(#CheckBoxSpec |
|
8074 |
#label: 'Blank line after local Var Declaration' |
|
8075 |
#name: 'CheckBox4' |
|
8076 |
#layout: #(#LayoutFrame 250 0 0 0 0 1 22 0) |
|
8077 |
#model: #emptyLineAfterTemporaries |
|
8078 |
#translateLabel: true |
|
8079 |
) |
|
8080 |
) |
|
8081 |
||
8082 |
) |
|
8083 |
#extent: #(#Point 594 22) |
|
8084 |
) |
|
8085 |
#(#ViewSpec |
|
8086 |
#name: 'Box11' |
|
8087 |
#component: |
|
8088 |
#(#SpecCollection |
|
8089 |
#collection: #( |
|
8090 |
#(#CheckBoxSpec |
|
8091 |
#label: 'Space after ''^''' |
|
8092 |
#name: 'CheckBox5' |
|
8093 |
#layout: #(#LayoutFrame 0 0 0 0 250 0 22 0) |
|
8094 |
#model: #spaceAfterReturnToken |
|
8095 |
#translateLabel: true |
|
8096 |
) |
|
8097 |
#(#CheckBoxSpec |
|
8098 |
#label: 'Space after '':'' in Keywords' |
|
8099 |
#name: 'CheckBox6' |
|
8100 |
#layout: #(#LayoutFrame 250 0 0 0 -5 1 22 0) |
|
8101 |
#model: #spaceAfterKeywordSelector |
|
8102 |
#translateLabel: true |
|
8103 |
) |
|
8104 |
) |
|
8105 |
||
8106 |
) |
|
8107 |
#extent: #(#Point 594 22) |
|
8108 |
) |
|
8109 |
#(#ViewSpec |
|
8110 |
#name: 'Box12' |
|
8111 |
#component: |
|
8112 |
#(#SpecCollection |
|
8113 |
#collection: #( |
|
8114 |
#(#CheckBoxSpec |
|
8115 |
#label: 'Block Args on new Line' |
|
8116 |
#name: 'CheckBox7' |
|
8117 |
#layout: #(#LayoutFrame 250 0 0 0 -5 1 22 0) |
|
8118 |
#model: #blockArgumentsOnNewLine |
|
8119 |
#translateLabel: true |
|
8120 |
) |
|
8121 |
#(#CheckBoxSpec |
|
8122 |
#label: 'C-Style Blocks' |
|
8123 |
#name: 'CheckBox8' |
|
8124 |
#layout: #(#LayoutFrame 0 0 0 0 250 0 22 0) |
|
8125 |
#model: #cStyleBlocks |
|
8126 |
#translateLabel: true |
|
8127 |
) |
|
8128 |
) |
|
8129 |
||
8130 |
) |
|
8131 |
#extent: #(#Point 594 22) |
|
8132 |
) |
|
8133 |
#(#ViewSpec |
|
8134 |
#name: 'Box13' |
|
8135 |
#component: |
|
8136 |
#(#SpecCollection |
|
8137 |
#collection: #( |
|
8138 |
#(#LabelSpec |
|
8139 |
#label: 'Ident:' |
|
8140 |
#name: 'Label1' |
|
8141 |
#layout: #(#LayoutFrame 0 0 0 0 100 0 22 0) |
|
8142 |
#translateLabel: true |
|
8143 |
#adjust: #right |
|
8144 |
) |
|
8145 |
#(#InputFieldSpec |
|
8146 |
#name: 'EntryField1' |
|
8147 |
#layout: #(#LayoutFrame 100 0 0 0 200 0 22 0) |
|
8148 |
#model: #tabIndent |
|
8149 |
#type: #number |
|
8150 |
#acceptOnReturn: true |
|
8151 |
#acceptOnTab: true |
|
8152 |
#acceptOnLostFocus: true |
|
4658 | 8153 |
#acceptOnPointerLeave: true |
4398 | 8154 |
) |
8155 |
#(#LabelSpec |
|
8156 |
#label: 'Max Length for single line Blocks:' |
|
8157 |
#name: 'Label2' |
|
8158 |
#layout: #(#LayoutFrame 200 0 0 0 400 0 22 0) |
|
8159 |
#translateLabel: true |
|
8160 |
#adjust: #right |
|
8161 |
) |
|
8162 |
#(#InputFieldSpec |
|
8163 |
#name: 'EntryField2' |
|
8164 |
#layout: #(#LayoutFrame 400 0 0 0 500 0 22 0) |
|
8165 |
#model: #maxLengthForSingleLineBlocks |
|
4658 | 8166 |
#type: #number |
4398 | 8167 |
#acceptOnReturn: true |
8168 |
#acceptOnTab: true |
|
8169 |
#acceptOnLostFocus: true |
|
4658 | 8170 |
#acceptOnPointerLeave: true |
4398 | 8171 |
) |
8172 |
) |
|
8173 |
||
8174 |
) |
|
8175 |
#extent: #(#Point 594 30) |
|
8176 |
) |
|
8177 |
#(#HorizontalPanelViewSpec |
|
8178 |
#name: 'HorizontalPanel1' |
|
8179 |
#horizontalLayout: #fitSpace |
|
8180 |
#verticalLayout: #bottom |
|
8181 |
#horizontalSpace: 3 |
|
8182 |
#verticalSpace: 3 |
|
8183 |
#component: |
|
8184 |
#(#SpecCollection |
|
8185 |
#collection: #( |
|
8186 |
#(#ActionButtonSpec |
|
8187 |
#label: 'Reset to ST/X Default' |
|
8188 |
#name: 'Button1' |
|
8189 |
#translateLabel: true |
|
8190 |
#model: #resetToStxDefault |
|
8191 |
#extent: #(#Point 292 22) |
|
8192 |
) |
|
8193 |
#(#ActionButtonSpec |
|
8194 |
#label: 'Reset to RB Default' |
|
8195 |
#name: 'Button2' |
|
8196 |
#translateLabel: true |
|
8197 |
#model: #resetToRBDefault |
|
8198 |
#extent: #(#Point 293 22) |
|
8199 |
) |
|
8200 |
) |
|
8201 |
||
8202 |
) |
|
8203 |
#extent: #(#Point 594 30) |
|
8204 |
) |
|
8205 |
) |
|
8206 |
||
8207 |
) |
|
8208 |
#extent: #(#Point 594 150) |
|
8209 |
) |
|
8210 |
) |
|
8211 |
||
8212 |
) |
|
8213 |
#extent: #(#Point 604 676) |
|
8214 |
) |
|
8215 |
) |
|
8216 |
||
8217 |
) |
|
8218 |
) |
|
8219 |
) |
|
8220 |
||
8221 |
) |
|
8222 |
) |
|
8223 |
! ! |
|
8224 |
||
8225 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'actions'! |
|
8226 |
||
4574 | 8227 |
basicSaveSettings |
8228 |
||
8229 |
currentUserPrefs autoFormatting:self autoFormat value. |
|
8230 |
currentUserPrefs at:#'formatter.tabIndent' put:self tabIndent value. |
|
8231 |
currentUserPrefs at:#'formatter.spaceAroundTemporaries' put:self spaceAroundTemporaries value. |
|
8232 |
currentUserPrefs at:#'formatter.emptyLineAfterTemporaries' put:self emptyLineAfterTemporaries value. |
|
8233 |
currentUserPrefs at:#'formatter.spaceAfterReturnToken' put:self spaceAfterReturnToken value. |
|
8234 |
currentUserPrefs at:#'formatter.spaceAfterKeywordSelector' put:self spaceAfterKeywordSelector value. |
|
8235 |
currentUserPrefs at:#'formatter.cStyleBlocks' put:self cStyleBlocks value. |
|
8236 |
currentUserPrefs at:#'formatter.blockArgumentsOnNewLine' put:self blockArgumentsOnNewLine value. |
|
8237 |
currentUserPrefs at:#'formatter.maxLengthForSingleLineBlocks' put:self maxLengthForSingleLineBlocks value. |
|
8238 |
RBFormatter |
|
8239 |
tabIndent:self tabIndent value; |
|
8240 |
spaceAroundTemporaries:self spaceAroundTemporaries value; |
|
8241 |
emptyLineAfterTemporaries:self emptyLineAfterTemporaries value; |
|
8242 |
spaceAfterReturnToken:self spaceAfterReturnToken value; |
|
8243 |
spaceAfterKeywordSelector:self spaceAfterKeywordSelector value; |
|
8244 |
cStyleBlocks:self cStyleBlocks value; |
|
8245 |
blockArgumentsOnNewLine:self blockArgumentsOnNewLine value; |
|
4658 | 8246 |
maxLengthForSingleLineBlocks:self maxLengthForSingleLineBlocks value asInteger. |
4574 | 8247 |
! |
8248 |
||
4398 | 8249 |
help |
8250 |
||
8251 |
"/ self warn:'no help available here'. |
|
4419 | 8252 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/sourceFormatSettings.html']. |
4398 | 8253 |
! |
8254 |
||
4574 | 8255 |
readSettings |
4398 | 8256 |
reformatLocked := true. |
8257 |
self autoFormat value:currentUserPrefs autoFormatting. |
|
8258 |
self tabIndent value:RBFormatter tabIndent. |
|
8259 |
self spaceAroundTemporaries value:RBFormatter spaceAroundTemporaries. |
|
4574 | 8260 |
self emptyLineAfterTemporaries |
8261 |
value:RBFormatter emptyLineAfterTemporaries. |
|
4398 | 8262 |
self spaceAfterReturnToken value:RBFormatter spaceAfterReturnToken. |
4574 | 8263 |
self spaceAfterKeywordSelector |
8264 |
value:RBFormatter spaceAfterKeywordSelector. |
|
4398 | 8265 |
self cStyleBlocks value:RBFormatter cStyleBlocks. |
8266 |
self blockArgumentsOnNewLine value:RBFormatter blockArgumentsOnNewLine. |
|
4574 | 8267 |
self maxLengthForSingleLineBlocks |
8268 |
value:RBFormatter maxLengthForSingleLineBlocks. |
|
4398 | 8269 |
self evaluateModified. |
8270 |
reformatLocked := false. |
|
4581 | 8271 |
self reformat. |
8272 |
self modifiedChannel value:false |
|
4398 | 8273 |
! |
8274 |
||
8275 |
reformat |
|
8276 |
||
8277 |
|tree s_tabIndent s_spaceAroundTemporaries s_emptyLineAfterTemporaries |
|
8278 |
s_spaceAfterReturnToken s_spaceAfterKeywordSelector s_cStyleBlocks |
|
8279 |
s_maxLengthForSingleLineBlocks s_blockArgumentsOnNewLine| |
|
8280 |
||
8281 |
reformatLocked ifFalse:[ |
|
8282 |
"/ |
|
8283 |
"/ temporary change the RBFormatters settings ... |
|
8284 |
"/ |
|
8285 |
s_tabIndent := RBFormatter tabIndent. |
|
8286 |
s_spaceAroundTemporaries := RBFormatter spaceAroundTemporaries. |
|
8287 |
s_emptyLineAfterTemporaries := RBFormatter emptyLineAfterTemporaries. |
|
8288 |
s_spaceAfterReturnToken := RBFormatter spaceAfterReturnToken. |
|
8289 |
s_spaceAfterKeywordSelector := RBFormatter spaceAfterKeywordSelector. |
|
8290 |
s_cStyleBlocks := RBFormatter cStyleBlocks. |
|
8291 |
s_blockArgumentsOnNewLine := RBFormatter blockArgumentsOnNewLine. |
|
8292 |
s_maxLengthForSingleLineBlocks := RBFormatter maxLengthForSingleLineBlocks. |
|
8293 |
||
8294 |
RBFormatter |
|
8295 |
tabIndent:self tabIndent value; |
|
8296 |
spaceAroundTemporaries:self spaceAroundTemporaries value; |
|
8297 |
emptyLineAfterTemporaries:self emptyLineAfterTemporaries value; |
|
8298 |
spaceAfterReturnToken:self spaceAfterReturnToken value; |
|
8299 |
spaceAfterKeywordSelector:self spaceAfterKeywordSelector value; |
|
8300 |
cStyleBlocks:self cStyleBlocks value; |
|
8301 |
blockArgumentsOnNewLine:self blockArgumentsOnNewLine value; |
|
8302 |
maxLengthForSingleLineBlocks:self maxLengthForSingleLineBlocks value. |
|
8303 |
||
8304 |
tree := RBParser |
|
8305 |
parseMethod:self class exampleText |
|
8306 |
onError: [:aString :position | nil]. |
|
8307 |
tree do:[:node | |
|
8308 |
(node ~~ tree and:[node parent isNil]) ifTrue:[ |
|
8309 |
self error:'No parent for node'. |
|
8310 |
] |
|
8311 |
]. |
|
8312 |
self editorText value:tree printString. |
|
8313 |
||
8314 |
RBFormatter |
|
8315 |
tabIndent:s_tabIndent; |
|
8316 |
spaceAroundTemporaries:s_spaceAroundTemporaries; |
|
8317 |
emptyLineAfterTemporaries:s_emptyLineAfterTemporaries; |
|
8318 |
spaceAfterReturnToken:s_spaceAfterReturnToken; |
|
8319 |
spaceAfterKeywordSelector:s_spaceAfterKeywordSelector; |
|
8320 |
cStyleBlocks:s_cStyleBlocks; |
|
8321 |
blockArgumentsOnNewLine:s_blockArgumentsOnNewLine; |
|
8322 |
maxLengthForSingleLineBlocks:s_maxLengthForSingleLineBlocks. |
|
8323 |
]. |
|
8324 |
! |
|
8325 |
||
8326 |
resetToRBDefault |
|
8327 |
||
8328 |
reformatLocked := true. |
|
8329 |
self tabIndent value: 8. |
|
8330 |
self spaceAfterReturnToken value:false. |
|
8331 |
self spaceAfterKeywordSelector value:true. |
|
8332 |
self spaceAroundTemporaries value:true. |
|
8333 |
self emptyLineAfterTemporaries value:false. |
|
8334 |
self cStyleBlocks value:false. |
|
8335 |
self blockArgumentsOnNewLine value:false. |
|
8336 |
self maxLengthForSingleLineBlocks value: 20. |
|
8337 |
reformatLocked := false. |
|
8338 |
self reformat. |
|
8339 |
! |
|
8340 |
||
8341 |
resetToStxDefault |
|
8342 |
||
8343 |
reformatLocked := true. |
|
8344 |
self tabIndent value: 4. |
|
8345 |
self spaceAfterReturnToken value: true. |
|
8346 |
self spaceAfterKeywordSelector value: false. |
|
8347 |
self spaceAroundTemporaries value: false. |
|
8348 |
self emptyLineAfterTemporaries value: true. |
|
8349 |
self cStyleBlocks value: true. |
|
8350 |
self blockArgumentsOnNewLine value:false. |
|
8351 |
self maxLengthForSingleLineBlocks value: 20. |
|
8352 |
reformatLocked := false. |
|
8353 |
self reformat. |
|
8354 |
! ! |
|
8355 |
||
8356 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'aspects'! |
|
8357 |
||
8358 |
autoFormat |
|
8359 |
||
8360 |
autoFormat isNil ifTrue:[ |
|
8361 |
autoFormat := currentUserPrefs autoFormatting asValue. |
|
8362 |
autoFormat onChangeSend:#evaluateModified to:self |
|
8363 |
]. |
|
8364 |
^ autoFormat. |
|
8365 |
! |
|
8366 |
||
8367 |
blockArgumentsOnNewLine |
|
8368 |
||
8369 |
blockArgumentsOnNewLine isNil ifTrue:[ |
|
8370 |
blockArgumentsOnNewLine := true asValue. |
|
8371 |
blockArgumentsOnNewLine addDependent:self. |
|
8372 |
]. |
|
8373 |
^ blockArgumentsOnNewLine. |
|
8374 |
! |
|
8375 |
||
8376 |
cStyleBlocks |
|
8377 |
||
8378 |
cStyleBlocks isNil ifTrue:[ |
|
8379 |
cStyleBlocks := true asValue. |
|
8380 |
cStyleBlocks addDependent:self. |
|
8381 |
]. |
|
8382 |
^ cStyleBlocks. |
|
8383 |
! |
|
8384 |
||
8385 |
editorText |
|
8386 |
||
8387 |
editorText isNil ifTrue:[ |
|
8388 |
editorText := ValueHolder new. |
|
8389 |
]. |
|
8390 |
^ editorText. |
|
8391 |
! |
|
8392 |
||
8393 |
emptyLineAfterTemporaries |
|
8394 |
||
8395 |
emptyLineAfterTemporaries isNil ifTrue:[ |
|
8396 |
emptyLineAfterTemporaries := true asValue. |
|
8397 |
emptyLineAfterTemporaries addDependent:self. |
|
8398 |
]. |
|
8399 |
^ emptyLineAfterTemporaries. |
|
8400 |
! |
|
8401 |
||
8402 |
maxLengthForSingleLineBlocks |
|
8403 |
||
8404 |
maxLengthForSingleLineBlocks isNil ifTrue:[ |
|
8405 |
maxLengthForSingleLineBlocks := ValueHolder new. |
|
8406 |
maxLengthForSingleLineBlocks addDependent:self. |
|
8407 |
]. |
|
8408 |
^ maxLengthForSingleLineBlocks. |
|
8409 |
! |
|
8410 |
||
8411 |
spaceAfterKeywordSelector |
|
8412 |
||
8413 |
spaceAfterKeywordSelector isNil ifTrue:[ |
|
8414 |
spaceAfterKeywordSelector := true asValue. |
|
8415 |
spaceAfterKeywordSelector addDependent:self. |
|
8416 |
]. |
|
8417 |
^ spaceAfterKeywordSelector. |
|
8418 |
! |
|
8419 |
||
8420 |
spaceAfterReturnToken |
|
8421 |
||
8422 |
spaceAfterReturnToken isNil ifTrue:[ |
|
8423 |
spaceAfterReturnToken := true asValue. |
|
8424 |
spaceAfterReturnToken addDependent:self. |
|
8425 |
]. |
|
8426 |
^ spaceAfterReturnToken. |
|
8427 |
! |
|
8428 |
||
8429 |
spaceAroundTemporaries |
|
8430 |
||
8431 |
spaceAroundTemporaries isNil ifTrue:[ |
|
8432 |
spaceAroundTemporaries := true asValue. |
|
8433 |
spaceAroundTemporaries addDependent:self. |
|
8434 |
]. |
|
8435 |
^ spaceAroundTemporaries. |
|
8436 |
! |
|
8437 |
||
8438 |
tabIndent |
|
8439 |
||
8440 |
tabIndent isNil ifTrue:[ |
|
8441 |
tabIndent := ValueHolder new. |
|
8442 |
tabIndent addDependent:self. |
|
8443 |
]. |
|
8444 |
^ tabIndent. |
|
8445 |
! ! |
|
8446 |
||
8447 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'change & update'! |
|
8448 |
||
8449 |
update:something with:aParameter from:changedObject |
|
8450 |
(changedObject == self blockArgumentsOnNewLine or:[ |
|
8451 |
changedObject == self cStyleBlocks or:[ |
|
8452 |
changedObject == self emptyLineAfterTemporaries or:[ |
|
8453 |
changedObject == self maxLengthForSingleLineBlocks or:[ |
|
8454 |
changedObject == self spaceAfterKeywordSelector or:[ |
|
8455 |
changedObject == self spaceAfterReturnToken or:[ |
|
8456 |
changedObject == self spaceAroundTemporaries or:[ |
|
8457 |
changedObject == self tabIndent |
|
8458 |
]]]]]]]) ifTrue:[ |
|
8459 |
self evaluateModified. |
|
8460 |
self reformat. |
|
8461 |
^ self. |
|
8462 |
]. |
|
8463 |
super update:something with:aParameter from:changedObject |
|
8464 |
! ! |
|
8465 |
||
8466 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'initialization & release'! |
|
8467 |
||
8468 |
initialize |
|
4574 | 8469 |
super initialize. |
4398 | 8470 |
RBFormatter isNil ifTrue:[ |
4574 | 8471 |
^ self warn:'Sorry, no RBFormatter class' |
8472 |
]. |
|
4398 | 8473 |
RBFormatter isLoaded ifFalse:[ |
4574 | 8474 |
WindowGroup activeGroup withWaitCursorDo:[RBFormatter autoload] |
8475 |
]. |
|
4398 | 8476 |
reformatLocked := false. |
8477 |
! |
|
8478 |
||
8479 |
postBuildTextEditor:aWidget |
|
8480 |
||
8481 |
aWidget cursorMovementWhenUpdating:nil; |
|
8482 |
scrollWhenUpdating:nil. |
|
8483 |
! ! |
|
8484 |
||
8485 |
!AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'queries'! |
|
8486 |
||
8487 |
hasUnsavedChanges |
|
8488 |
||
8489 |
^ ( |
|
8490 |
self autoFormat value ~= currentUserPrefs autoFormatting ? false or:[ |
|
4405 | 8491 |
self tabIndent value ~= RBFormatter tabIndent or:[ |
8492 |
self spaceAroundTemporaries value ~= RBFormatter spaceAroundTemporaries or:[ |
|
8493 |
self emptyLineAfterTemporaries value ~= RBFormatter emptyLineAfterTemporaries or:[ |
|
8494 |
self spaceAfterReturnToken value ~= RBFormatter spaceAfterReturnToken or:[ |
|
8495 |
self spaceAfterKeywordSelector value ~= RBFormatter spaceAfterKeywordSelector or:[ |
|
8496 |
self cStyleBlocks value ~= RBFormatter cStyleBlocks or:[ |
|
8497 |
self blockArgumentsOnNewLine value ~= RBFormatter blockArgumentsOnNewLine or:[ |
|
8498 |
self maxLengthForSingleLineBlocks value ~= RBFormatter maxLengthForSingleLineBlocks |
|
4398 | 8499 |
]]]]]]]] |
8500 |
) |
|
8501 |
! ! |
|
8502 |
||
8503 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'image specs'! |
|
8504 |
||
8505 |
defaultIcon |
|
8506 |
"This resource specification was automatically generated |
|
8507 |
by the ImageEditor of ST/X." |
|
8508 |
||
8509 |
"Do not manually edit this!! If it is corrupted, |
|
8510 |
the ImageEditor may not be able to read the specification." |
|
8511 |
||
8512 |
" |
|
8513 |
self defaultIcon inspect |
|
8514 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
8515 |
Icon flushCachedIcons |
|
8516 |
" |
|
8517 |
||
8518 |
<resource: #image> |
|
8519 |
||
8520 |
^Icon |
|
8521 |
constantNamed:#'AbstractSettingsApplication::SourceCodeManagementSettingsAppl class defaultIcon' |
|
8522 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
8523 |
@@@@@@@@@@@TEA@PD00F@@@@@@@@@@@@@@@@@A@YMT]AN"(/J1DO@@@@@@@@@@@@@A@"RDL.GQ@EAAHFDP @@@@@@@@@@@@YR$@.LPXF@@@@@@XHA @@@@@@ |
|
8524 |
@@@QMTT5H0$@@@@@@@@@@@ F@@@@@@@@FT(>GPX@@@@@@@@@@@@@A @@@@@@@A!!HMR4H@@@@@@@@@@@@@@@@@@XNE1\ QSL]B0XFA @@@@@@@@@@@@@FGDAI |
|
8525 |
Q#\(I3)EGP$@@@@AA0@@@@@@@@X&HRP_JCT]E X@@@@AOS@M@@@@@@@@A"X^IC\]E X@@@@AP#X;K@\@@@@@@@@FH2\]E X@@@@AQCX)LC00B @@@@@@@@X& |
|
8526 |
F X@@@@AP#X%EQ,0OB0G@@@@@@@@A P@@@@[OSX,KA,[F3@8F0L@@@@@@@@@@@@@@PDA@S$)L!!TA@PDA@@@@@@@@@@@@@@@@@@D<KCPU@@@@@@@@@P@@@@@@ |
|
8527 |
@@@@@@@AOR$2B @@@@@@@@DA@@@@@@@@@@@AO3X,K@H@@@@@@@@@@PDA@@@@@@DAO3,,L@\@@@@@@@@@@@@CEPLM@PD9O3,2LA,C@@@@@@@@@@@@@@DMLCX9 |
|
8528 |
OSP,L LA@@@@@@@@@@@@@@@@@@LGCQTUCPD@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 0 0 1 8 0 10 10 10 16 24 0 17 36 5 20 20 0 20 20 20 20 42 9 22 49 12 23 23 27 25 44 11 26 51 13 27 27 27 27 62 15 28 63 16 28 69 18 30 73 23 33 33 6 33 59 20 33 80 23 34 34 34 37 96 34 40 73 25 41 108 39 42 115 47 43 86 35 44 44 44 44 127 57 44 129 58 47 141 67 47 160 87 49 158 82 50 166 92 50 168 93 51 127 58 51 179 100 52 52 52 54 109 47 55 136 67 58 146 76 59 59 59 61 143 75 65 112 54 67 67 67 70 145 79 70 182 112 71 125 64 74 74 74 80 133 74 82 82 82 85 189 122 94 94 94 100 194 131 106 106 106 108 196 133 114 114 114 121 121 121 125 203 143 130 130 130 139 139 139 162 162 162 163 218 174 175 175 175 178 224 184 184 227 189 188 188 188 190 229 193 202 202 202 204 234 204 212 244 212 216 240 214 221 242 219 224 243 221 227 244 225]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@O8@@?>@A??@A?C C<@0C8@PC8@@??@@??F@_>O@O<_ G8?0C1?8A#?<@C?<@@_@H@_@L@?@GC>@C?>@A?<@@_0@') ; yourself); yourself] |
|
8529 |
! ! |
|
8530 |
||
8531 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'interface specs'! |
|
4286 | 8532 |
|
8533 |
windowSpec |
|
8534 |
"This resource specification was automatically generated |
|
8535 |
by the UIPainter of ST/X." |
|
8536 |
||
8537 |
"Do not manually edit this!! If it is corrupted, |
|
8538 |
the UIPainter may not be able to read the specification." |
|
8539 |
||
8540 |
" |
|
4405 | 8541 |
UIPainter new openOnClass:AbstractSettingsApplication::SourceCodeManagementSettingsAppl andSelector:#windowSpec |
8542 |
AbstractSettingsApplication::SourceCodeManagementSettingsAppl new openInterface:#windowSpec |
|
8543 |
AbstractSettingsApplication::SourceCodeManagementSettingsAppl open |
|
4286 | 8544 |
" |
8545 |
||
8546 |
<resource: #canvas> |
|
8547 |
||
8548 |
^ |
|
8549 |
#(#FullSpec |
|
8550 |
#name: #windowSpec |
|
8551 |
#window: |
|
8552 |
#(#WindowSpec |
|
4405 | 8553 |
#label: 'Source Code Manager Settings' |
8554 |
#name: 'Source Code Manager Settings' |
|
4286 | 8555 |
#min: #(#Point 10 10) |
8556 |
#max: #(#Point 1024 768) |
|
4310 | 8557 |
#bounds: #(#Rectangle 16 42 677 810) |
4286 | 8558 |
) |
8559 |
#component: |
|
8560 |
#(#SpecCollection |
|
8561 |
#collection: #( |
|
4310 | 8562 |
#(#VerticalPanelViewSpec |
8563 |
#name: 'VerticalPanel2' |
|
8564 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
8565 |
#horizontalLayout: #fit |
|
4398 | 8566 |
#verticalLayout: #topSpace |
4286 | 8567 |
#horizontalSpace: 3 |
4405 | 8568 |
#verticalSpace: 20 |
4286 | 8569 |
#component: |
8570 |
#(#SpecCollection |
|
8571 |
#collection: #( |
|
4398 | 8572 |
#(#VerticalPanelViewSpec |
8573 |
#name: 'VerticalPanel3' |
|
8574 |
#horizontalLayout: #fit |
|
8575 |
#verticalLayout: #top |
|
8576 |
#horizontalSpace: 3 |
|
4405 | 8577 |
#verticalSpace: 10 |
4310 | 8578 |
#component: |
8579 |
#(#SpecCollection |
|
8580 |
#collection: #( |
|
4398 | 8581 |
#(#ViewSpec |
8582 |
#name: 'Box3' |
|
8583 |
#component: |
|
8584 |
#(#SpecCollection |
|
8585 |
#collection: #( |
|
8586 |
#(#CheckBoxSpec |
|
8587 |
#label: 'Sourcecode Management' |
|
8588 |
#name: 'SourcecodeManagementCheckBox' |
|
8589 |
#layout: #(#LayoutFrame 5 0 5 0.0 300 0 27 0) |
|
8590 |
#enableChannel: #cvsIsSetup |
|
8591 |
#model: #useManager |
|
8592 |
#translateLabel: true |
|
8593 |
) |
|
4405 | 8594 |
) |
8595 |
||
8596 |
) |
|
8597 |
#extent: #(#Point 661 30) |
|
8598 |
) |
|
8599 |
#(#FramedBoxSpec |
|
8600 |
#label: 'Source Code Manager Setup' |
|
8601 |
#name: 'FramedBox1' |
|
8602 |
#labelPosition: #topLeft |
|
8603 |
#translateLabel: true |
|
8604 |
#component: |
|
8605 |
#(#SpecCollection |
|
8606 |
#collection: #( |
|
8607 |
#(#ViewSpec |
|
8608 |
#name: 'Box1' |
|
8609 |
#layout: #(#LayoutFrame 0 0 0 0 0 1 32 0) |
|
8610 |
#component: |
|
8611 |
#(#SpecCollection |
|
8612 |
#collection: #( |
|
8613 |
#(#LabelSpec |
|
8614 |
#label: 'CVS BinDirectory:' |
|
8615 |
#name: 'Label1' |
|
8616 |
#layout: #(#LayoutFrame 0 0.0 0 0 40 0.25 22 0) |
|
8617 |
#level: 0 |
|
8618 |
#translateLabel: true |
|
8619 |
#adjust: #right |
|
8620 |
) |
|
8621 |
#(#InputFieldSpec |
|
8622 |
#name: 'BinDirectoryField' |
|
8623 |
#layout: #(#LayoutFrame 44 0.25 0 0 -5 1 22 0) |
|
8624 |
#enableChannel: #useManager |
|
8625 |
#tabable: true |
|
8626 |
#model: #cvsBinDirectoryHolder |
|
8627 |
#acceptChannel: #acceptChannel |
|
4658 | 8628 |
#acceptOnPointerLeave: true |
4405 | 8629 |
) |
8630 |
) |
|
8631 |
||
8632 |
) |
|
8633 |
) |
|
8634 |
#(#ViewSpec |
|
8635 |
#name: 'Box7' |
|
8636 |
#layout: #(#LayoutFrame 0 0.0 27 0 0 1 52 0) |
|
8637 |
#component: |
|
8638 |
#(#SpecCollection |
|
8639 |
#collection: #( |
|
8640 |
#(#LabelSpec |
|
8641 |
#label: 'CVSRoot default:' |
|
8642 |
#name: 'defaultCvsRootLabel' |
|
8643 |
#layout: #(#LayoutFrame 0 0.0 0 0 40 0.25 22 0) |
|
8644 |
#level: 0 |
|
8645 |
#translateLabel: true |
|
8646 |
#adjust: #right |
|
8647 |
) |
|
8648 |
#(#ComboBoxSpec |
|
8649 |
#name: 'cvsRootComboBox' |
|
8650 |
#layout: #(#LayoutFrame 44 0.25 0 0 -5 1 22 0) |
|
8651 |
#enableChannel: #useManager |
|
8652 |
#tabable: true |
|
8653 |
#model: #cvsRootHolder |
|
8654 |
#immediateAccept: true |
|
8655 |
#acceptOnLeave: true |
|
8656 |
#acceptOnReturn: true |
|
8657 |
#acceptOnTab: true |
|
8658 |
#acceptOnLostFocus: true |
|
8659 |
#acceptChannel: #acceptChannel |
|
4658 | 8660 |
#acceptOnPointerLeave: true |
4405 | 8661 |
#comboList: #cvsRootPrototypeList |
8662 |
) |
|
8663 |
) |
|
8664 |
||
8665 |
) |
|
8666 |
) |
|
8667 |
#(#LabelSpec |
|
8668 |
#label: 'CVSRoot per Module:' |
|
8669 |
#name: 'knownModulesLabel' |
|
8670 |
#layout: #(#LayoutFrame 0 0.0 66 0 40 0.25 88 0) |
|
4398 | 8671 |
#translateLabel: true |
4405 | 8672 |
#adjust: #right |
8673 |
) |
|
8674 |
#(#SequenceViewSpec |
|
8675 |
#name: 'List1' |
|
8676 |
#layout: #(#LayoutFrame 44 0.25 66 0 -5 1 191 0) |
|
8677 |
#enableChannel: #useManager |
|
8678 |
#tabable: true |
|
8679 |
#model: #selectedPerModuleRoot |
|
8680 |
#hasHorizontalScrollBar: true |
|
8681 |
#hasVerticalScrollBar: true |
|
8682 |
#miniScrollerHorizontal: true |
|
8683 |
#useIndex: false |
|
8684 |
#sequenceList: #listOfModules |
|
8685 |
) |
|
8686 |
#(#LabelSpec |
|
8687 |
#label: 'Module:' |
|
8688 |
#name: 'moduleLabel' |
|
8689 |
#layout: #(#LayoutFrame 0 0.0 209 0 40 0.25 226 0) |
|
8690 |
#translateLabel: true |
|
8691 |
#adjust: #right |
|
8692 |
) |
|
8693 |
#(#InputFieldSpec |
|
8694 |
#name: 'perModuleRootModuleEntryField' |
|
8695 |
#layout: #(#LayoutFrame 44 0.25 205 0 -1 1 227 0) |
|
8696 |
#enableChannel: #useManager |
|
8697 |
#tabable: true |
|
8698 |
#model: #perModuleRootModule |
|
8699 |
#acceptChannel: #acceptChannel |
|
4658 | 8700 |
#acceptOnPointerLeave: true |
4405 | 8701 |
) |
8702 |
#(#LabelSpec |
|
8703 |
#label: 'CVSRoot:' |
|
8704 |
#name: 'cvsRootLabel' |
|
8705 |
#layout: #(#LayoutFrame 0 0.0 236 0 40 0.25 253 0) |
|
8706 |
#translateLabel: true |
|
8707 |
#adjust: #right |
|
8708 |
) |
|
8709 |
#(#ComboBoxSpec |
|
8710 |
#name: 'perModuleRootComboBox' |
|
8711 |
#layout: #(#LayoutFrame 44 0.25 232 0 -1 1.0 254 0) |
|
4398 | 8712 |
#enableChannel: #useManager |
4405 | 8713 |
#tabable: true |
8714 |
#model: #perModuleRoot |
|
8715 |
#immediateAccept: true |
|
8716 |
#acceptOnLeave: true |
|
8717 |
#acceptOnReturn: true |
|
8718 |
#acceptOnTab: true |
|
8719 |
#acceptOnLostFocus: true |
|
8720 |
#acceptChannel: #acceptChannel |
|
4658 | 8721 |
#acceptOnPointerLeave: true |
4405 | 8722 |
#comboList: #cvsRootPrototypeList |
8723 |
) |
|
8724 |
#(#HorizontalPanelViewSpec |
|
8725 |
#name: 'HorizontalPanel2' |
|
8726 |
#layout: #(#LayoutFrame 44 0.25 258 0 -1 1 289 0) |
|
8727 |
#horizontalLayout: #fitSpace |
|
8728 |
#verticalLayout: #center |
|
8729 |
#horizontalSpace: 3 |
|
8730 |
#verticalSpace: 3 |
|
8731 |
#component: |
|
8732 |
#(#SpecCollection |
|
8733 |
#collection: #( |
|
8734 |
#(#ActionButtonSpec |
|
8735 |
#label: 'Add/Apply' |
|
8736 |
#name: 'Button1' |
|
8737 |
#translateLabel: true |
|
8738 |
#tabable: true |
|
8739 |
#model: #addPerModuleRoot |
|
8740 |
#enableChannel: #useManager |
|
8741 |
#extent: #(#Point 209 22) |
|
8742 |
) |
|
8743 |
#(#ActionButtonSpec |
|
8744 |
#label: 'Remove' |
|
8745 |
#name: 'removeButton' |
|
8746 |
#translateLabel: true |
|
8747 |
#tabable: true |
|
8748 |
#model: #removePerModuleRoot |
|
8749 |
#enableChannel: #removeEnabled |
|
8750 |
#extent: #(#Point 209 22) |
|
8751 |
) |
|
8752 |
) |
|
8753 |
||
8754 |
) |
|
4398 | 8755 |
) |
8756 |
) |
|
8757 |
||
8758 |
) |
|
4405 | 8759 |
#extent: #(#Point 661 321) |
4398 | 8760 |
) |
8761 |
#(#ViewSpec |
|
8762 |
#name: 'Box4' |
|
8763 |
#component: |
|
8764 |
#(#SpecCollection |
|
8765 |
#collection: #( |
|
8766 |
#(#LabelSpec |
|
8767 |
#label: 'Source Cache Dir:' |
|
8768 |
#name: 'SourceCacheDirLabel' |
|
4405 | 8769 |
#layout: #(#LayoutFrame 0 0.0 0 0 40 0.25 22 0) |
4398 | 8770 |
#translateLabel: true |
8771 |
#adjust: #right |
|
8772 |
) |
|
8773 |
#(#InputFieldSpec |
|
8774 |
#name: 'SourceCacheDirEntryField' |
|
4405 | 8775 |
#layout: #(#LayoutFrame 44 0.25 0 0 -5 1 22 0) |
4398 | 8776 |
#enableChannel: #useManager |
8777 |
#model: #sourceCacheDir |
|
4405 | 8778 |
#immediateAccept: false |
4398 | 8779 |
#acceptOnReturn: true |
8780 |
#acceptOnTab: true |
|
8781 |
#acceptOnLostFocus: true |
|
4658 | 8782 |
#acceptOnPointerLeave: true |
4398 | 8783 |
) |
8784 |
) |
|
8785 |
||
8786 |
) |
|
8787 |
#extent: #(#Point 661 30) |
|
8788 |
) |
|
4405 | 8789 |
#(#HorizontalPanelViewSpec |
8790 |
#name: 'HorizontalPanel1' |
|
8791 |
#horizontalLayout: #fitSpace |
|
8792 |
#verticalLayout: #center |
|
8793 |
#horizontalSpace: 30 |
|
8794 |
#verticalSpace: 3 |
|
4398 | 8795 |
#component: |
8796 |
#(#SpecCollection |
|
8797 |
#collection: #( |
|
8798 |
#(#ActionButtonSpec |
|
8799 |
#label: 'Flush Cache now' |
|
8800 |
#name: 'FlushCacheNowButton' |
|
8801 |
#translateLabel: true |
|
8802 |
#model: #flushSourceCache |
|
8803 |
#enableChannel: #useManager |
|
4405 | 8804 |
#extent: #(#Point 285 22) |
8805 |
) |
|
8806 |
#(#ActionButtonSpec |
|
8807 |
#label: 'Condense Cache now' |
|
8808 |
#name: 'CondenseCacheNowButton' |
|
8809 |
#translateLabel: true |
|
8810 |
#model: #condenseSourceCache |
|
8811 |
#enableChannel: #useManager |
|
8812 |
#extent: #(#Point 286 22) |
|
4398 | 8813 |
) |
8814 |
) |
|
8815 |
||
8816 |
) |
|
4405 | 8817 |
#extent: #(#Point 661 40) |
4398 | 8818 |
) |
8819 |
#(#ViewSpec |
|
8820 |
#name: 'Box5' |
|
8821 |
#component: |
|
8822 |
#(#SpecCollection |
|
8823 |
#collection: #( |
|
8824 |
#(#CheckBoxSpec |
|
8825 |
#label: 'If Present, Use Local Source (Suppress Checkout)' |
|
8826 |
#name: 'CheckBox4' |
|
8827 |
#layout: #(#LayoutFrame 30 0 5 0 -5 1 27 0) |
|
4405 | 8828 |
#enableChannel: #useManager |
4398 | 8829 |
#model: #localSourceFirst |
8830 |
#translateLabel: true |
|
8831 |
) |
|
8832 |
) |
|
8833 |
||
8834 |
) |
|
4405 | 8835 |
#extent: #(#Point 661 25) |
4398 | 8836 |
) |
8837 |
#(#ViewSpec |
|
8838 |
#name: 'Box6' |
|
8839 |
#component: |
|
8840 |
#(#SpecCollection |
|
8841 |
#collection: #( |
|
8842 |
#(#CheckBoxSpec |
|
8843 |
#label: 'Check for halt/error-Sends when Checking in' |
|
8844 |
#name: 'CheckBox5' |
|
8845 |
#layout: #(#LayoutFrame 30 0 5 0 -5 1 27 0) |
|
4405 | 8846 |
#enableChannel: #useManager |
4398 | 8847 |
#model: #checkClassesWhenCheckingIn |
8848 |
#translateLabel: true |
|
8849 |
) |
|
8850 |
) |
|
8851 |
||
8852 |
) |
|
4405 | 8853 |
#extent: #(#Point 661 25) |
4310 | 8854 |
) |
8855 |
) |
|
8856 |
||
8857 |
) |
|
4398 | 8858 |
#extent: #(#Point 661 768) |
4286 | 8859 |
) |
8860 |
) |
|
8861 |
||
8862 |
) |
|
8863 |
) |
|
8864 |
) |
|
8865 |
||
8866 |
) |
|
8867 |
) |
|
8868 |
! ! |
|
8869 |
||
4398 | 8870 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'accessing'! |
4286 | 8871 |
|
8872 |
manager |
|
8873 |
||
8874 |
^ Smalltalk at:#SourceCodeManager |
|
8875 |
! ! |
|
8876 |
||
4398 | 8877 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'actions'! |
4286 | 8878 |
|
4405 | 8879 |
addPerModuleRoot |
8880 |
||
8881 |
|module cvsRoot| |
|
8882 |
||
8883 |
acceptChannel value:true. |
|
8884 |
module := self perModuleRootModule value. |
|
8885 |
cvsRoot := self perModuleRoot value. |
|
8886 |
(listOfModules includes:module) ifFalse:[ |
|
8887 |
listOfModules add:module. |
|
8888 |
listOfModules sort. |
|
8889 |
]. |
|
8890 |
cvsRoot size > 0 ifTrue:[ |
|
8891 |
rootsPerModule at:module put:cvsRoot. |
|
8892 |
]. |
|
8893 |
! |
|
8894 |
||
4574 | 8895 |
basicSaveSettings |
8896 |
||
8897 |
(self hasManager and:[self useManager value]) ifTrue:[ |
|
8898 |
manager isNil ifTrue:[ |
|
8899 |
Smalltalk at:#SourceCodeManager put:(AbstractSourceCodeManager defaultManager). |
|
8900 |
manager := Smalltalk at:#SourceCodeManager. |
|
8901 |
]. |
|
8902 |
Class tryLocalSourceFirst:self localSourceFirst value. |
|
8903 |
||
8904 |
manager notNil ifTrue:[ |
|
8905 |
| nm fn| |
|
8906 |
nm := self sourceCacheDir value. |
|
8907 |
nm size > 0 ifTrue:[ |
|
8908 |
(fn := nm asFilename) exists ifFalse:[ |
|
8909 |
(self confirm:('CVS cache directory ''' , nm , ''' does not exists\create ?' withCRs)) ifTrue:[ |
|
8910 |
fn makeDirectory; |
|
8911 |
makeReadableForAll; |
|
8912 |
makeWritableForAll; |
|
8913 |
makeExecutableForAll. |
|
8914 |
] |
|
8915 |
]. |
|
8916 |
(fn exists |
|
8917 |
and:[fn isDirectory |
|
8918 |
and:[fn isReadable |
|
8919 |
and:[fn isWritable]]]) ifTrue:[ |
|
8920 |
AbstractSourceCodeManager cacheDirectoryName:(self sourceCacheDir value). |
|
8921 |
] ifFalse:[ |
|
8922 |
self warn:'Invalid sourceCache directory.' |
|
8923 |
] |
|
8924 |
] |
|
8925 |
]. |
|
8926 |
||
8927 |
repositoryHolder notNil ifTrue:[ |
|
8928 |
repositoryHolder value size > 0 ifTrue:[ |
|
8929 |
manager notNil ifTrue:[ |
|
8930 |
manager initializeForRepository:repositoryHolder value. |
|
8931 |
] |
|
8932 |
]. |
|
8933 |
]. |
|
8934 |
self cvsBinDirectoryHolder value size > 0 ifTrue:[ |
|
8935 |
CVSSourceCodeManager cvsBinDirectory:self cvsBinDirectoryHolder value. |
|
8936 |
]. |
|
8937 |
CVSSourceCodeManager initializeForRepository:self cvsRootHolder value. |
|
4760
206a67dba8a8
repository changes after initialize will now reloaded
penk
parents:
4737
diff
changeset
|
8938 |
self cvsBinDirectoryHolder value:CVSSourceCodeManager cvsBinDirectory. |
4574 | 8939 |
CVSSourceCodeManager repositoryNamesPerModule:rootsPerModule. |
4650
c358bcfef403
source code management have no unsaved changes after enable anymore
penk
parents:
4635
diff
changeset
|
8940 |
self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName). |
4574 | 8941 |
DebugView newDebugger. |
8942 |
] ifFalse:[ |
|
8943 |
Smalltalk at:#SourceCodeManager put:nil |
|
8944 |
]. |
|
8945 |
||
8946 |
UserPreferences current at:#checkClassesWhenCheckingIn put:self checkClassesWhenCheckingIn value. |
|
8947 |
self acceptChannel value. |
|
8948 |
! |
|
8949 |
||
4286 | 8950 |
condenseSourceCache |
8951 |
||
8952 |
self withWaitCursorDo:[ AbstractSourceCodeManager condenseSourceCache ] |
|
8953 |
! |
|
8954 |
||
8955 |
flushSourceCache |
|
8956 |
||
8957 |
self withWaitCursorDo:[ AbstractSourceCodeManager flushSourceCache ] |
|
8958 |
! |
|
8959 |
||
8960 |
help |
|
8961 |
||
8962 |
"/ self warn:'no help available here'. |
|
4405 | 8963 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/cvsSetup.html']. |
4286 | 8964 |
! |
8965 |
||
4574 | 8966 |
readSettings |
4286 | 8967 |
self hasManager ifTrue:[ |
4805 | 8968 |
self useManager value:(manager := Smalltalk at:#SourceCodeManager) notNil. |
4286 | 8969 |
self localSourceFirst value:Class tryLocalSourceFirst. |
8970 |
self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName). |
|
8971 |
manager notNil ifTrue:[ |
|
8972 |
manager forgetDisabledModules. |
|
8973 |
repository := manager repositoryName. |
|
4805 | 8974 |
repositoryHolder := (repository ? '') asValue |
4286 | 8975 |
]. |
4574 | 8976 |
self cvsIsSetup value:true |
4286 | 8977 |
] ifFalse:[ |
4574 | 8978 |
self useManager value:false. |
4286 | 8979 |
self localSourceFirst value:false. |
4574 | 8980 |
self cvsIsSetup value:false |
8981 |
]. |
|
8982 |
self checkClassesWhenCheckingIn |
|
8983 |
value:(currentUserPrefs at:#checkClassesWhenCheckingIn ifAbsent:true). |
|
8984 |
self cvsRootHolder |
|
4805 | 8985 |
value:CVSSourceCodeManager repositoryName ? '/cvs/stx'. |
4405 | 8986 |
self cvsBinDirectoryHolder value:CVSSourceCodeManager cvsBinDirectory. |
4812 | 8987 |
rootsPerModule notNil ifTrue:[ |
8988 |
listOfModules := rootsPerModule keys asList. |
|
8989 |
]. |
|
4779 | 8990 |
self selectedPerModuleRootChanged. |
4574 | 8991 |
self modifiedChannel value:false |
4286 | 8992 |
! |
8993 |
||
4405 | 8994 |
removePerModuleRoot |
8995 |
||
8996 |
|module| |
|
8997 |
||
8998 |
acceptChannel value:true. |
|
8999 |
module := self perModuleRootModule value. |
|
9000 |
listOfModules remove:module ifAbsent:nil. |
|
9001 |
rootsPerModule removeKey:module ifAbsent:nil. |
|
9002 |
self perModuleRootModule value:nil. |
|
9003 |
self perModuleRoot value:nil. |
|
4286 | 9004 |
! |
9005 |
||
9006 |
setupSourceCodeManager |
|
9007 |
||
9008 |
AbstractLauncherApplication::LauncherDialogs cvsConfigurationDialog. |
|
9009 |
manager := (Smalltalk at:#SourceCodeManager). |
|
9010 |
cvsIsSetup value:manager notNil. |
|
9011 |
manager notNil ifTrue:[ |
|
9012 |
repositoryHolder value: manager repositoryName. |
|
9013 |
sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName). |
|
9014 |
]. |
|
4398 | 9015 |
! ! |
9016 |
||
9017 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'aspects'! |
|
4286 | 9018 |
|
4405 | 9019 |
acceptChannel |
9020 |
||
9021 |
acceptChannel isNil ifTrue:[ |
|
9022 |
acceptChannel := TriggerValue new. |
|
9023 |
]. |
|
9024 |
^ acceptChannel. |
|
9025 |
! |
|
9026 |
||
4286 | 9027 |
checkClassesWhenCheckingIn |
9028 |
||
9029 |
checkClassesWhenCheckingIn isNil ifTrue:[ |
|
9030 |
checkClassesWhenCheckingIn := (currentUserPrefs at:#checkClassesWhenCheckingIn ifAbsent:true) asValue. |
|
9031 |
checkClassesWhenCheckingIn onChangeSend:#evaluateModified to:self |
|
9032 |
]. |
|
9033 |
^ checkClassesWhenCheckingIn. |
|
9034 |
! |
|
9035 |
||
4405 | 9036 |
cvsBinDirectoryHolder |
9037 |
cvsBinDirectoryHolder isNil ifTrue:[ |
|
9038 |
cvsBinDirectoryHolder := ValueHolder new. |
|
9039 |
]. |
|
9040 |
^ cvsBinDirectoryHolder. |
|
9041 |
! |
|
9042 |
||
4286 | 9043 |
cvsIsSetup |
9044 |
cvsIsSetup isNil ifTrue:[ |
|
9045 |
cvsIsSetup := true asValue. |
|
9046 |
]. |
|
9047 |
^ cvsIsSetup. |
|
9048 |
! |
|
9049 |
||
4405 | 9050 |
cvsRootHolder |
9051 |
||
9052 |
cvsRootHolder isNil ifTrue:[ |
|
9053 |
cvsRootHolder := ValueHolder new. |
|
9054 |
cvsRootHolder onChangeSend:#evaluateModified to:self |
|
9055 |
]. |
|
9056 |
^ cvsRootHolder. |
|
9057 |
! |
|
9058 |
||
9059 |
cvsRootPrototypeList |
|
9060 |
||
9061 |
cvsRootPrototypeList isNil ifTrue:[ |
|
4767 | 9062 |
OperatingSystem getDomainName = 'exept' ifFalse:[ |
9063 |
cvsRootPrototypeList := #( |
|
9064 |
'host:/cvs/stx' |
|
9065 |
':pserver:user@host:/cvs/stx' |
|
9066 |
). |
|
9067 |
cvsRootPrototypeList := cvsRootPrototypeList copyWith:(':pserver:' , OperatingSystem getLoginName , '@host:/cvs/stx') |
|
9068 |
] ifTrue:[ |
|
4405 | 9069 |
cvsRootPrototypeList := #( |
4767 | 9070 |
'/cvs/stx' |
9071 |
'exept:/cvs/stx' |
|
9072 |
). |
|
9073 |
cvsRootPrototypeList := cvsRootPrototypeList copyWith:(':pserver:' , OperatingSystem getLoginName , '@exept:/cvs/stx') |
|
9074 |
]. |
|
9075 |
||
9076 |
OperatingSystem isUNIXlike ifTrue:[ |
|
9077 |
cvsRootPrototypeList := cvsRootPrototypeList , #( |
|
9078 |
'/cvs/stx' |
|
4405 | 9079 |
). |
9080 |
] ifFalse:[ |
|
9081 |
OperatingSystem isMSDOSlike ifTrue:[ |
|
4767 | 9082 |
cvsRootPrototypeList := cvsRootPrototypeList , #( |
9083 |
':local:c:\cvs\stx' |
|
4405 | 9084 |
). |
9085 |
] ifFalse:[ |
|
4767 | 9086 |
"there might be more here in the future" |
4405 | 9087 |
] |
9088 |
]. |
|
9089 |
]. |
|
9090 |
^ cvsRootPrototypeList. |
|
9091 |
! |
|
9092 |
||
9093 |
listOfModules |
|
9094 |
||
9095 |
listOfModules isNil ifTrue:[ |
|
9096 |
listOfModules := rootsPerModule keys asList. |
|
9097 |
listOfModules sort. |
|
9098 |
]. |
|
9099 |
^ listOfModules. |
|
9100 |
! |
|
9101 |
||
4286 | 9102 |
localSourceFirst |
9103 |
||
9104 |
localSourceFirst isNil ifTrue:[ |
|
9105 |
localSourceFirst := ValueHolder new. |
|
9106 |
localSourceFirst onChangeSend:#evaluateModified to:self |
|
9107 |
]. |
|
9108 |
^ localSourceFirst. |
|
9109 |
! |
|
9110 |
||
4405 | 9111 |
perModuleRoot |
9112 |
"automatically generated by UIPainter ..." |
|
9113 |
||
9114 |
"*** the code below creates a default model when invoked." |
|
9115 |
"*** (which may not be the one you wanted)" |
|
9116 |
"*** Please change as required and accept it in the browser." |
|
9117 |
"*** (and replace this comment by something more useful ;-)" |
|
9118 |
||
9119 |
perModuleRoot isNil ifTrue:[ |
|
9120 |
perModuleRoot := ValueHolder new. |
|
9121 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
9122 |
"/ perModuleRoot addDependent:self. |
|
9123 |
"/ perModuleRoot onChangeSend:#perModuleRootChanged to:self. |
|
9124 |
]. |
|
9125 |
^ perModuleRoot. |
|
9126 |
! |
|
9127 |
||
9128 |
perModuleRootModule |
|
9129 |
"automatically generated by UIPainter ..." |
|
9130 |
||
9131 |
"*** the code below creates a default model when invoked." |
|
9132 |
"*** (which may not be the one you wanted)" |
|
9133 |
"*** Please change as required and accept it in the browser." |
|
9134 |
"*** (and replace this comment by something more useful ;-)" |
|
9135 |
||
9136 |
perModuleRootModule isNil ifTrue:[ |
|
9137 |
perModuleRootModule := ValueHolder new. |
|
9138 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
9139 |
"/ perModuleRootModule addDependent:self. |
|
9140 |
"/ perModuleRootModule onChangeSend:#perModuleRootModuleChanged to:self. |
|
9141 |
]. |
|
9142 |
^ perModuleRootModule. |
|
9143 |
! |
|
9144 |
||
9145 |
removeEnabled |
|
9146 |
||
9147 |
removeEnabled isNil ifTrue:[ |
|
9148 |
removeEnabled := false asValue. |
|
9149 |
]. |
|
9150 |
^ removeEnabled. |
|
9151 |
! |
|
9152 |
||
9153 |
selectedPerModuleRoot |
|
9154 |
||
9155 |
selectedPerModuleRoot isNil ifTrue:[ |
|
9156 |
selectedPerModuleRoot := ValueHolder new. |
|
9157 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
9158 |
selectedPerModuleRoot addDependent:self. |
|
9159 |
"/ selectedPerModuleRoot onChangeSend:#selectedPerModuleRootChanged to:self. |
|
9160 |
]. |
|
9161 |
^ selectedPerModuleRoot. |
|
9162 |
! |
|
9163 |
||
4286 | 9164 |
sourceCacheDir |
9165 |
^ sourceCacheDir. |
|
9166 |
! |
|
9167 |
||
9168 |
useManager |
|
9169 |
^ useManager. |
|
9170 |
! ! |
|
9171 |
||
4398 | 9172 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'change & update'! |
4286 | 9173 |
|
4405 | 9174 |
selectedPerModuleRootChanged |
9175 |
||
9176 |
|module cvsRoot| |
|
9177 |
||
9178 |
self acceptChannel value:true. |
|
9179 |
module := self selectedPerModuleRoot value. |
|
4812 | 9180 |
module isNil ifTrue:[ ^ self]. |
4405 | 9181 |
self removeEnabled value:true. |
9182 |
cvsRoot := rootsPerModule at:module ifAbsent:''. |
|
9183 |
self perModuleRootModule value:module. |
|
9184 |
self perModuleRoot value:cvsRoot. |
|
9185 |
! |
|
9186 |
||
4286 | 9187 |
sourceDirChanged |
4805 | 9188 |
| nm fn| |
9189 |
||
9190 |
manager isNil ifTrue:[^ self]. |
|
9191 |
||
9192 |
nm := self sourceCacheDir value. |
|
9193 |
nm isEmptyOrNil ifTrue:[^ self]. |
|
9194 |
||
9195 |
(fn := nm asFilename) exists ifFalse:[ |
|
9196 |
(self confirm:('SourceCache directory ''' , nm , ''' does not exist.\Create ?' withCRs)) ifTrue:[ |
|
9197 |
fn makeDirectory; |
|
9198 |
makeReadableForAll; |
|
9199 |
makeWritableForAll; |
|
9200 |
makeExecutableForAll. |
|
9201 |
] ifFalse:[ |
|
9202 |
self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName). |
|
9203 |
^ self. |
|
9204 |
]. |
|
9205 |
]. |
|
9206 |
(fn exists |
|
9207 |
and:[fn isDirectory |
|
9208 |
and:[fn isReadable |
|
9209 |
and:[fn isWritable]]]) ifTrue:[ |
|
9210 |
AbstractSourceCodeManager cacheDirectoryName:nm. |
|
9211 |
] ifFalse:[ |
|
9212 |
self warn:'Invalid sourceCache directory.'. |
|
9213 |
self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName). |
|
4286 | 9214 |
]. |
9215 |
! |
|
9216 |
||
9217 |
update:something with:aParameter from:changedObject |
|
4805 | 9218 |
changedObject == sourceCacheDir ifTrue:[ |
4405 | 9219 |
self sourceDirChanged. |
4805 | 9220 |
self evaluateModified. |
4405 | 9221 |
^ self |
9222 |
]. |
|
4805 | 9223 |
|
4405 | 9224 |
changedObject == self selectedPerModuleRoot ifTrue:[ |
9225 |
self selectedPerModuleRootChanged. |
|
9226 |
^ self |
|
4286 | 9227 |
]. |
9228 |
||
9229 |
super update:something with:aParameter from:changedObject |
|
9230 |
! ! |
|
9231 |
||
4398 | 9232 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'initialization & release'! |
4286 | 9233 |
|
9234 |
initialize |
|
4805 | 9235 |
(AbstractSourceCodeManager notNil) ifTrue:[AbstractSourceCodeManager autoload]. |
9236 |
||
9237 |
useManager := false asValue. |
|
9238 |
useManager onChangeSend:#evaluateModified to:self. |
|
9239 |
||
9240 |
sourceCacheDir := nil asValue. |
|
9241 |
sourceCacheDir addDependent:self. |
|
9242 |
||
9243 |
repositoryHolder := '' asValue. |
|
9244 |
rootsPerModule := Dictionary new. |
|
9245 |
||
9246 |
SourceCodeManager == CVSSourceCodeManager ifTrue:[ |
|
9247 |
rootsPerModule declareAllFrom:(SourceCodeManager repositoryNamesPerModule). |
|
9248 |
]. |
|
9249 |
||
4574 | 9250 |
super initialize. |
4286 | 9251 |
! |
9252 |
||
9253 |
postOpen |
|
9254 |
! |
|
9255 |
||
9256 |
postOpenAsSubcanvasWith:aBuilder |
|
9257 |
||
9258 |
self postOpen. |
|
9259 |
^ super postOpenAsSubcanvasWith:aBuilder |
|
9260 |
! |
|
9261 |
||
9262 |
postOpenWith:aBuilder |
|
9263 |
||
9264 |
self postOpen. |
|
9265 |
^ super postOpenWith:aBuilder |
|
9266 |
! ! |
|
9267 |
||
4398 | 9268 |
!AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'queries'! |
4286 | 9269 |
|
9270 |
hasManager |
|
9271 |
^ AbstractSourceCodeManager notNil |
|
9272 |
and:[AbstractSourceCodeManager isLoaded] |
|
9273 |
! |
|
9274 |
||
9275 |
hasUnsavedChanges |
|
4805 | 9276 |
(self useManager value ~= ((Smalltalk at:#SourceCodeManager) notNil)) |
9277 |
ifTrue:[^ true]. |
|
9278 |
||
9279 |
((self hasManager and:[self useManager value]) |
|
9280 |
and:[ |
|
4286 | 9281 |
Class tryLocalSourceFirst ~= self localSourceFirst value or:[ |
4805 | 9282 |
AbstractSourceCodeManager cacheDirectoryName ~= self sourceCacheDir value] |
9283 |
]) |
|
9284 |
ifTrue:[^ true]. |
|
9285 |
||
9286 |
((UserPreferences current at:#checkClassesWhenCheckingIn ifAbsent:true) ~= self checkClassesWhenCheckingIn value) |
|
9287 |
ifTrue:[^ true]. |
|
9288 |
||
9289 |
(CVSSourceCodeManager cvsBinDirectory ~= self cvsBinDirectoryHolder value) |
|
9290 |
ifTrue:[^ true]. |
|
9291 |
||
9292 |
(CVSSourceCodeManager repositoryName ? '/files/CVS' ~= self cvsRootHolder value) |
|
9293 |
ifTrue:[^ true]. |
|
9294 |
||
9295 |
((Dictionary new declareAllFrom:(CVSSourceCodeManager repositoryNamesPerModule)) ~= rootsPerModule) |
|
9296 |
ifTrue:[^ true]. |
|
9297 |
||
9298 |
(self sourceCacheDir value ~= AbstractSourceCodeManager cacheDirectoryName) |
|
9299 |
ifTrue:[^ true]. |
|
9300 |
||
9301 |
^ false |
|
4286 | 9302 |
! ! |
9303 |
||
9304 |
!AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'defaults'! |
|
9305 |
||
9306 |
standardStyles |
|
9307 |
||
9308 |
^ #( |
|
9309 |
'decWindows' |
|
9310 |
'iris' |
|
9311 |
'motif' |
|
9312 |
'mswindows95' |
|
9313 |
'next' |
|
9314 |
'normal' |
|
9315 |
'os2' |
|
9316 |
'st80' |
|
9317 |
) |
|
9318 |
! ! |
|
9319 |
||
4312 | 9320 |
!AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'image specs'! |
9321 |
||
9322 |
defaultIcon |
|
9323 |
"This resource specification was automatically generated |
|
9324 |
by the ImageEditor of ST/X." |
|
9325 |
||
9326 |
"Do not manually edit this!! If it is corrupted, |
|
9327 |
the ImageEditor may not be able to read the specification." |
|
9328 |
||
9329 |
" |
|
9330 |
self defaultIcon inspect |
|
9331 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
9332 |
Icon flushCachedIcons |
|
9333 |
" |
|
9334 |
||
9335 |
<resource: #image> |
|
9336 |
||
9337 |
^Icon |
|
9338 |
constantNamed:#'AbstractSettingsApplication::StyleSettingsAppl class defaultIcon' |
|
9339 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
9340 |
@@@@@@@@@@@@@@DA@@@@@@@@@@@@@@@@@@@@@@@@@@DBAPD@@@@@@@@@@@@@@@@@@@@@@@DBAPTF@P@@@@@@@@@@@@@@@@@@@@DBAPTFA DA@@@@@@@@@@@@ |
|
9341 |
@@@@@@LB@ HFA \G@PD@@@@@@@@@@@@@@@LB@ HB@ GA0(J@P@@@@@@@@@@@@LB@ HB@ HBB \IB ,A@@@@@@@@@@LB@ HB@ HB@ 4NB ,OC0DE@@@@@@LB |
|
9342 |
@ HB@ HB@ HB@ 8OC0TE@P@@@@@@@0HB@ HB@ HBCQDQC0TEAPHP@AHRD!!HRD!!HRD!!HRD!!HRD!!HAA@HC@@@RD HED1LTEQXVE1 BAPTR@ DC@@@@D!!HBAQLS |
|
9343 |
EATVE!!\X@ TED HC@@@@@AHRAPPYFQ([GA0]G TDAAHC@@@@@@@C@0HB@ HB@ HB@!!<MDQDC@@@@@@@@@0LB@ HB@ HB@ H_CQDQ@0@@@@@@@@LC@ HB@ HB |
|
9344 |
@ HBCP4QDPL@@@@@@@@C@0HB@ HB@ HB@ 4MDQDC@@@@@@@@@0LB@ HB@ HB@!!<MDQDQ@0@@@@@@@@LC@ HB@ HB@ H_CQDQDPL@@@@@@@@C@0HB@ HB@ HB |
|
9345 |
CP4QDQDC@@@@@@@@@0LC@0LC@0LC@0LC@0LC@0@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 96 88 248 248 248 80 80 80 128 128 128 192 192 192 64 144 136 48 120 112 56 136 128 56 128 120 40 104 96 40 104 104 32 96 96 232 232 232 32 88 88 32 88 80 64 104 104 224 224 224 0 88 128 24 152 192 16 136 184 16 128 168 8 120 160 8 112 152 8 104 144 16 120 152 16 112 144 8 104 136 8 96 128 8 88 120 0 80 112 240 240 240]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C@@@G @@O0@@_8@@?<@A?>@C??@G??0O??0G??8???0??? ???@??>@??<@??<@??<@??<@??<@??<@??<@??<@') ; yourself); yourself] |
|
9346 |
! ! |
|
9347 |
||
4286 | 9348 |
!AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'interface specs'! |
9349 |
||
9350 |
windowSpec |
|
9351 |
"This resource specification was automatically generated |
|
9352 |
by the UIPainter of ST/X." |
|
9353 |
||
9354 |
"Do not manually edit this!! If it is corrupted, |
|
9355 |
the UIPainter may not be able to read the specification." |
|
9356 |
||
9357 |
" |
|
4310 | 9358 |
UIPainter new openOnClass:AbstractSettingsApplication::StyleSettingsAppl andSelector:#windowSpec |
9359 |
AbstractSettingsApplication::StyleSettingsAppl new openInterface:#windowSpec |
|
9360 |
AbstractSettingsApplication::StyleSettingsAppl open |
|
4286 | 9361 |
" |
9362 |
||
9363 |
<resource: #canvas> |
|
9364 |
||
9365 |
^ |
|
9366 |
#(#FullSpec |
|
9367 |
#name: #windowSpec |
|
9368 |
#window: |
|
9369 |
#(#WindowSpec |
|
4495 | 9370 |
#label: 'ViewStyle Selection' |
9371 |
#name: 'ViewStyle Selection' |
|
4286 | 9372 |
#min: #(#Point 10 10) |
9373 |
#max: #(#Point 1024 768) |
|
4656 | 9374 |
#bounds: #(#Rectangle 16 42 491 573) |
4286 | 9375 |
) |
9376 |
#component: |
|
9377 |
#(#SpecCollection |
|
9378 |
#collection: #( |
|
9379 |
#(#LabelSpec |
|
9380 |
#label: 'Label' |
|
9381 |
#name: 'Label1' |
|
4310 | 9382 |
#layout: #(#LayoutFrame 0 0.0 -44 1 0 1.0 0 1) |
4286 | 9383 |
#style: #(#FontDescription #helvetica #bold #roman 12) |
9384 |
#translateLabel: true |
|
9385 |
#labelChannel: #infoLabelHolder |
|
9386 |
#resizeForLabel: true |
|
9387 |
#adjust: #left |
|
9388 |
) |
|
9389 |
#(#LabelSpec |
|
9390 |
#label: 'NoticeText' |
|
9391 |
#name: 'Text' |
|
9392 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 160 0) |
|
9393 |
#translateLabel: true |
|
9394 |
#labelChannel: #noticeLabelHolder |
|
9395 |
#resizeForLabel: true |
|
9396 |
#adjust: #left |
|
9397 |
) |
|
9398 |
#(#CheckBoxSpec |
|
9399 |
#label: 'standard styles only' |
|
9400 |
#name: 'CheckBox1' |
|
9401 |
#layout: #(#LayoutFrame 0 0.0 160 0 0 1.0 182 0) |
|
9402 |
#model: #showStandardStylesOnly |
|
9403 |
#translateLabel: true |
|
9404 |
) |
|
9405 |
#(#SequenceViewSpec |
|
9406 |
#name: 'StyleList' |
|
4310 | 9407 |
#layout: #(#LayoutFrame 0 0.0 182 0 0 1.0 -44 1) |
4286 | 9408 |
#model: #selectedStyle |
9409 |
#hasHorizontalScrollBar: true |
|
9410 |
#hasVerticalScrollBar: true |
|
4656 | 9411 |
#doubleClickSelector: #doubleClickAt: |
4286 | 9412 |
#useIndex: false |
9413 |
#sequenceList: #styleList |
|
9414 |
) |
|
9415 |
) |
|
9416 |
||
9417 |
) |
|
9418 |
) |
|
9419 |
! ! |
|
9420 |
||
9421 |
!AbstractSettingsApplication::StyleSettingsAppl methodsFor:'actions'! |
|
9422 |
||
4574 | 9423 |
basicSaveSettings |
9424 |
||
4718 | 9425 |
| newStyle transcript| |
4574 | 9426 |
|
9427 |
newStyle := self selectedStyle value. |
|
4705 | 9428 |
|
4574 | 9429 |
self withWaitCursorDo:[ |
9430 |
Transcript showCR:'change style to ' , newStyle , ' ...'. |
|
9431 |
View defaultStyle:newStyle asSymbol. |
|
9432 |
]. |
|
9433 |
DebugView newDebugger. |
|
4718 | 9434 |
transcript := Transcript current. |
9435 |
transcript notNil ifTrue:[ |
|
9436 |
| app| |
|
9437 |
app := transcript topView application. |
|
9438 |
(app respondsTo:#reopenLauncher) ifTrue:[ |
|
9439 |
app reopenLauncher. |
|
9440 |
]. |
|
9441 |
]. |
|
4574 | 9442 |
! |
9443 |
||
4656 | 9444 |
doubleClickAt:aLine |
9445 |
||
9446 |
self saveSettings. |
|
9447 |
! |
|
9448 |
||
4286 | 9449 |
help |
9450 |
||
9451 |
self warn:'no help available here'. |
|
9452 |
"/ self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/keyboardSetting.html']. |
|
9453 |
! |
|
9454 |
||
4574 | 9455 |
readSettings |
9456 |
self modifiedChannel value:false |
|
4286 | 9457 |
! ! |
9458 |
||
9459 |
!AbstractSettingsApplication::StyleSettingsAppl methodsFor:'aspects'! |
|
9460 |
||
9461 |
infoLabelHolder |
|
9462 |
||
9463 |
infoLabelHolder isNil ifTrue:[ |
|
9464 |
infoLabelHolder := '' asValue. |
|
9465 |
]. |
|
9466 |
^ infoLabelHolder. |
|
9467 |
! |
|
9468 |
||
9469 |
noticeLabelHolder |
|
9470 |
||
9471 |
noticeLabelHolder isNil ifTrue:[ |
|
9472 |
noticeLabelHolder := '' asValue. |
|
9473 |
]. |
|
9474 |
^ noticeLabelHolder. |
|
9475 |
! |
|
9476 |
||
9477 |
selectedStyle |
|
9478 |
||
9479 |
selectedStyle isNil ifTrue:[ |
|
9480 |
selectedStyle := ValueHolder new. |
|
9481 |
selectedStyle addDependent:self. |
|
9482 |
]. |
|
9483 |
^ selectedStyle. |
|
9484 |
! |
|
9485 |
||
9486 |
showStandardStylesOnly |
|
9487 |
||
9488 |
showStandardStylesOnly isNil ifTrue:[ |
|
9489 |
showStandardStylesOnly := true asValue. |
|
9490 |
showStandardStylesOnly addDependent:self. |
|
9491 |
]. |
|
9492 |
^ showStandardStylesOnly. |
|
9493 |
! |
|
9494 |
||
9495 |
styleList |
|
9496 |
||
9497 |
styleList isNil ifTrue:[ |
|
9498 |
styleList := List new. |
|
9499 |
styleList addDependent:self. |
|
9500 |
]. |
|
9501 |
^ styleList. |
|
9502 |
! ! |
|
9503 |
||
9504 |
!AbstractSettingsApplication::StyleSettingsAppl methodsFor:'change & update'! |
|
9505 |
||
9506 |
changeInfoLabel |
|
9507 |
||
9508 |
|nm sheet comment| |
|
9509 |
||
9510 |
comment := ''. |
|
9511 |
nm := self selectedStyle value. |
|
9512 |
nm notNil ifTrue:[ |
|
9513 |
sheet := ViewStyle fromFile:(nm , '.style'). |
|
9514 |
comment := (sheet at:#comment ifAbsent:'') withoutSeparators. |
|
9515 |
]. |
|
9516 |
comment := comment withCRs asStringCollection. |
|
9517 |
comment size == 1 ifTrue:[ |
|
9518 |
comment := comment first |
|
9519 |
]. |
|
9520 |
self infoLabelHolder value:comment |
|
9521 |
! |
|
9522 |
||
9523 |
update:something with:aParameter from:changedObject |
|
9524 |
changedObject == self showStandardStylesOnly ifTrue:[ |
|
9525 |
self updateList. |
|
9526 |
^ self. |
|
9527 |
]. |
|
9528 |
changedObject == self selectedStyle ifTrue:[ |
|
9529 |
self changeInfoLabel. |
|
9530 |
self evaluateModified. |
|
9531 |
^ self. |
|
9532 |
]. |
|
9533 |
||
9534 |
super update:something with:aParameter from:changedObject |
|
9535 |
! |
|
9536 |
||
9537 |
updateList |
|
9538 |
||
9539 |
|listOfStyles lastSelection| |
|
9540 |
||
9541 |
lastSelection := self selectedStyle value. |
|
9542 |
listOfStyles := styleDirectoryContents select:[:aFileName | aFileName asFilename hasSuffix:'style']. |
|
9543 |
listOfStyles := listOfStyles collect:[:aFileName | aFileName asFilename withoutSuffix name]. |
|
9544 |
Filename isCaseSensitive ifFalse:[ |
|
9545 |
listOfStyles := listOfStyles collect:[:aStyleName | aStyleName asLowercase]. |
|
9546 |
]. |
|
9547 |
listOfStyles remove:'generic' ifAbsent:nil; remove:'mswindows3' ifAbsent:nil. |
|
9548 |
self showStandardStylesOnly value ifTrue:[ |
|
9549 |
listOfStyles := listOfStyles select:[:aStyleName | self class standardStyles includes:aStyleName]. |
|
9550 |
]. |
|
9551 |
||
9552 |
listOfStyles sort. |
|
9553 |
self styleList contents:listOfStyles. |
|
9554 |
self selectedStyle value:lastSelection. |
|
9555 |
! ! |
|
9556 |
||
9557 |
!AbstractSettingsApplication::StyleSettingsAppl methodsFor:'initialization & release'! |
|
9558 |
||
9559 |
closeDownViews |
|
9560 |
"This is a hook method generated by the Browser. |
|
9561 |
It will be invoked when your app/dialog-window is really closed. |
|
9562 |
See also #closeDownViews, which is invoked before and may suppress the close |
|
9563 |
or ask the user for confirmation." |
|
9564 |
||
9565 |
"/ change the code below as required ... |
|
9566 |
"/ This should cleanup any leftover resources |
|
9567 |
"/ (for example, temporary files) |
|
9568 |
"/ super closeRequest will initiate the closeDown |
|
9569 |
||
9570 |
"/ add your code here |
|
9571 |
||
9572 |
"/ do not remove the one below ... |
|
9573 |
^ super closeDownViews |
|
9574 |
! |
|
9575 |
||
9576 |
initialize |
|
9577 |
||
9578 |
|someRsrcFile resourceDir| |
|
9579 |
||
4574 | 9580 |
super initialize. |
9581 |
||
4286 | 9582 |
someRsrcFile := Smalltalk getSystemFileName:('resources' asFilename constructString:'normal.style'). |
9583 |
someRsrcFile isNil ifTrue:[ |
|
9584 |
someRsrcFile := Smalltalk getResourceFileName:'normal.style' forPackage:'stx:libview'. |
|
9585 |
someRsrcFile isNil ifTrue:[ |
|
9586 |
someRsrcFile := Smalltalk getResourceFileName:'styles/normal.style' forPackage:'stx:libview'. |
|
9587 |
]. |
|
9588 |
]. |
|
9589 |
someRsrcFile notNil ifTrue:[ |
|
9590 |
resourceDir := someRsrcFile asFilename directoryName |
|
9591 |
] ifFalse:[ |
|
9592 |
resourceDir := Smalltalk getSystemFileName:'resources'. |
|
4635
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9593 |
resourceDir isNil ifTrue:[ |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9594 |
self warn:'no styles found (missing ''resources'' directory)'. |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9595 |
^ self |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9596 |
]. |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9597 |
]. |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9598 |
|
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9599 |
[ |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9600 |
styleDirectoryContents := resourceDir asFilename directoryContents. |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9601 |
] on:FileStream openErrorSignal do:[:ex| |
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9602 |
self warn:'no styles found (unaccessable ''resources'' directory)'. |
4286 | 9603 |
^ self |
9604 |
]. |
|
4635
6e9480e52468
Handle openErrorSignal in preparition for change openErrorSignal
Stefan Vogel <sv@exept.de>
parents:
4598
diff
changeset
|
9605 |
|
4286 | 9606 |
self updateList. |
9607 |
(self class standardStyles includes:View defaultStyle) ifFalse:[ |
|
9608 |
self showStandardStylesOnly value:false |
|
9609 |
]. |
|
9610 |
self selectedStyle value:(View defaultStyle). |
|
9611 |
self noticeLabelHolder value:(resources at:'STYLE_MSG' default:'Select a Style') withCRs. |
|
9612 |
! ! |
|
9613 |
||
9614 |
!AbstractSettingsApplication::StyleSettingsAppl methodsFor:'queries'! |
|
9615 |
||
9616 |
hasUnsavedChanges |
|
9617 |
||
9618 |
^ (self selectedStyle value ~= View defaultStyle) |
|
9619 |
! ! |
|
9620 |
||
4398 | 9621 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'defaults'! |
9622 |
||
9623 |
emphasisList |
|
9624 |
||
9625 |
^ #( |
|
9626 |
#normal |
|
9627 |
#underline |
|
9628 |
#'red underline' |
|
9629 |
#underwave |
|
9630 |
#'red underwave' |
|
9631 |
#bold |
|
9632 |
#boldUnderline |
|
9633 |
#'bold+red underline' |
|
9634 |
#boldUnderwave |
|
9635 |
#'bold+red underwave' |
|
9636 |
#italic |
|
9637 |
#italicUnderline |
|
9638 |
#'italic+red underline' |
|
9639 |
#italicUnderwave |
|
9640 |
#'italic+red underwave' |
|
9641 |
#reverse |
|
9642 |
) |
|
9643 |
! |
|
9644 |
||
9645 |
exampleText |
|
9646 |
||
9647 |
^ 'methodSelector:methodArg |
|
9648 |
"method comment: |
|
9649 |
some stupid code to show the current settings" |
|
9650 |
||
9651 |
|methodVar| |
|
9652 |
||
9653 |
"/ another comment ... |
|
9654 |
self at:methodArg. "/ a message |
|
9655 |
self fooBarBaz:methodVar. "/ a bad message |
|
9656 |
methodVar := Array new:1. |
|
9657 |
unknonVar := 1. "/ a bad variable |
|
9658 |
UnknonVar := 1. "/ another bad variable |
|
9659 |
"self bar:methodVar. detect commented code easily" |
|
9660 |
1 to:5 do:[:i | self at:i + 1]. |
|
9661 |
Transcript showCR:''some string'' , #someSymbol. |
|
9662 |
^ self. |
|
9663 |
'. |
|
9664 |
! |
|
9665 |
||
9666 |
fontList |
|
9667 |
||
9668 |
^ #( |
|
9669 |
normal |
|
9670 |
underline |
|
9671 |
#'red underline' |
|
9672 |
underwave |
|
9673 |
#'red underwave' |
|
9674 |
bold |
|
9675 |
boldUnderline |
|
9676 |
#'bold+red underline' |
|
9677 |
boldUnderwave |
|
9678 |
#'bold+red underwave' |
|
9679 |
italic |
|
9680 |
italicUnderline |
|
9681 |
#'italic+red underline' |
|
9682 |
italicUnderwave |
|
9683 |
#'italic+red underwave' |
|
9684 |
reverse |
|
9685 |
) |
|
9686 |
! ! |
|
9687 |
||
9688 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'image specs'! |
|
9689 |
||
9690 |
defaultIcon |
|
9691 |
"This resource specification was automatically generated |
|
9692 |
by the ImageEditor of ST/X." |
|
9693 |
||
9694 |
"Do not manually edit this!! If it is corrupted, |
|
9695 |
the ImageEditor may not be able to read the specification." |
|
9696 |
||
9697 |
" |
|
9698 |
self defaultIcon inspect |
|
9699 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
9700 |
Icon flushCachedIcons |
|
9701 |
" |
|
9702 |
||
9703 |
<resource: #image> |
|
9704 |
||
9705 |
^Icon |
|
9706 |
constantNamed:#'AbstractSettingsApplication::SyntaxColorSettingsAppl class defaultIcon' |
|
9707 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
9708 |
A0\GA0\GA0\GA0\GA0\GA0\GA0\GA0\IBP$IBP$IBP$IBP$IBP$IBP$IBP\GBP$ABP$I@P$IBP$CBPLIBP$IBPLGA0$ABP$IBP$ABP$I@0$CBP$IBPLIA0\I |
|
9709 |
@P$IBP$I@P$IBP$IBP$IBP$CBP\GBPDIBP$IBPDIBP$IBP$IBP$CBP$GA0$ABP$IBP$ABP$IBP$IBP$I@0$IA0\I@P$IBP$I@P$IBP$IBP$I@0$IBP\GBPDI |
|
9710 |
BP$IBPDIBP$IBP$IBPLIBP$GA0$I@P$IBPDIBP$IBP$IBPLIBP$IA0\IBP$IBP$IBP$IBP$IBP$IBP$IBP\GBP$I@P$IBP$IBP$IBP$IBP$IBP$GA0$I@P$I |
|
9711 |
BP$IBP$IBP$IBP$IBP$IA0\IBPDIBP$ABP$I@P$IBP$IBP$IBP\GBPDA@P$ABPDI@P$ABP$ABP$IBP$GA0$I@P$I@P$ABPDI@P$IBP$IBP$IA0\IBPDIBPDI |
|
9712 |
@P$ABPDIBP$IBP$IBP\GBP$ABP$I@P$IBPDIBP$ABP$IBP$GA0$IBP$IBP$IBP$IBP$IBP$IBP$IA0\IA@$DBPPIA@$DBPPIBP$IBP$IBP\GBP$DBPPIA@$D |
|
9713 |
BPPIA@$IBP$IBP$GA0\GA0\GA0\GA0\GA0\GA0\GA0\GA0@a') ; colorMapFromArray:#[160 160 160 0 0 0 48 48 48 0 0 255 255 0 0 255 168 88 195 195 195 88 88 88 255 220 168 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<') ; yourself); yourself] |
|
9714 |
! ! |
|
9715 |
||
9716 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'interface specs'! |
|
9717 |
||
9718 |
windowSpec |
|
9719 |
"This resource specification was automatically generated |
|
9720 |
by the UIPainter of ST/X." |
|
9721 |
||
9722 |
"Do not manually edit this!! If it is corrupted, |
|
9723 |
the UIPainter may not be able to read the specification." |
|
9724 |
||
9725 |
" |
|
9726 |
UIPainter new openOnClass:AbstractSettingsApplication::SyntaxColorSettingsAppl andSelector:#windowSpec |
|
9727 |
AbstractSettingsApplication::SyntaxColorSettingsAppl new openInterface:#windowSpec |
|
9728 |
AbstractSettingsApplication::SyntaxColorSettingsAppl open |
|
9729 |
" |
|
9730 |
||
9731 |
<resource: #canvas> |
|
9732 |
||
9733 |
^ |
|
9734 |
#(#FullSpec |
|
9735 |
#name: #windowSpec |
|
9736 |
#window: |
|
9737 |
#(#WindowSpec |
|
9738 |
#label: 'Syntax Color Settings' |
|
9739 |
#name: 'Syntax Color Settings' |
|
9740 |
#min: #(#Point 10 10) |
|
9741 |
#max: #(#Point 1024 768) |
|
9742 |
#bounds: #(#Rectangle 16 42 711 651) |
|
9743 |
) |
|
9744 |
#component: |
|
9745 |
#(#SpecCollection |
|
9746 |
#collection: #( |
|
9747 |
#(#VerticalPanelViewSpec |
|
9748 |
#name: 'VerticalPanel2' |
|
9749 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
9750 |
#horizontalLayout: #fit |
|
9751 |
#verticalLayout: #topSpace |
|
9752 |
#horizontalSpace: 3 |
|
9753 |
#verticalSpace: 3 |
|
9754 |
#component: |
|
9755 |
#(#SpecCollection |
|
9756 |
#collection: #( |
|
9757 |
#(#VerticalPanelViewSpec |
|
9758 |
#name: 'VerticalPanel1' |
|
9759 |
#horizontalLayout: #fitSpace |
|
9760 |
#verticalLayout: #topSpace |
|
9761 |
#horizontalSpace: 5 |
|
9762 |
#verticalSpace: 8 |
|
9763 |
#component: |
|
9764 |
#(#SpecCollection |
|
9765 |
#collection: #( |
|
9766 |
#(#CheckBoxSpec |
|
9767 |
#label: 'Syntax Coloring' |
|
9768 |
#name: 'CheckBox1' |
|
9769 |
#model: #syntaxColoring |
|
9770 |
#translateLabel: true |
|
9771 |
#extent: #(#Point 685 22) |
|
9772 |
) |
|
9773 |
#(#CheckBoxSpec |
|
9774 |
#label: 'Immediate Selector Check' |
|
9775 |
#name: 'ImmediateSelectorCheckBox' |
|
9776 |
#enableChannel: #syntaxColoring |
|
9777 |
#model: #fullSelectorCheck |
|
9778 |
#translateLabel: true |
|
9779 |
#extent: #(#Point 685 22) |
|
9780 |
) |
|
9781 |
#(#TextEditorSpec |
|
9782 |
#name: 'TextEditor2' |
|
9783 |
#enableChannel: #syntaxColoring |
|
9784 |
#model: #coloredText |
|
9785 |
#hasHorizontalScrollBar: true |
|
9786 |
#hasVerticalScrollBar: true |
|
9787 |
#isReadOnly: true |
|
9788 |
#extent: #(#Point 685 280) |
|
9789 |
) |
|
9790 |
#(#ViewSpec |
|
9791 |
#name: 'Box11' |
|
9792 |
#component: |
|
9793 |
#(#SpecCollection |
|
9794 |
#collection: #( |
|
9795 |
#(#ComboListSpec |
|
9796 |
#name: 'ComboList3' |
|
9797 |
#layout: #(#LayoutFrame 0 0 -22 1 0 1 0 1) |
|
9798 |
#enableChannel: #syntaxColoring |
|
9799 |
#model: #syntaxElementSelection |
|
9800 |
#comboList: #syntaxElementList |
|
9801 |
#useIndex: false |
|
9802 |
) |
|
9803 |
) |
|
9804 |
||
9805 |
) |
|
9806 |
#extent: #(#Point 685 35) |
|
9807 |
) |
|
9808 |
#(#ViewSpec |
|
9809 |
#name: 'Box12' |
|
9810 |
#component: |
|
9811 |
#(#SpecCollection |
|
9812 |
#collection: #( |
|
9813 |
#(#ComboListSpec |
|
9814 |
#name: 'ComboList5' |
|
9815 |
#layout: #(#LayoutFrame 0 0 -22 1 0 1 0 1) |
|
9816 |
#enableChannel: #syntaxColoring |
|
9817 |
#model: #syntaxEmphasisSelection |
|
9818 |
#comboList: #syntaxEmphasisList |
|
9819 |
#useIndex: false |
|
9820 |
) |
|
9821 |
#(#LabelSpec |
|
9822 |
#label: 'Emphasis:' |
|
9823 |
#name: 'Label1' |
|
9824 |
#layout: #(#LayoutFrame 0 0 0 0 205 0 22 0) |
|
9825 |
#translateLabel: true |
|
9826 |
#adjust: #left |
|
9827 |
) |
|
9828 |
) |
|
9829 |
||
9830 |
) |
|
9831 |
#extent: #(#Point 685 44) |
|
9832 |
) |
|
9833 |
#(#ViewSpec |
|
9834 |
#name: 'Box1' |
|
9835 |
#component: |
|
9836 |
#(#SpecCollection |
|
9837 |
#collection: #( |
|
9838 |
#(#ColorMenuSpec |
|
9839 |
#name: 'ColorMenu2' |
|
9840 |
#layout: #(#LayoutFrame 0 0 -22 1 0 1 0 1) |
|
9841 |
#enableChannel: #syntaxColoring |
|
9842 |
#model: #syntaxColor |
|
9843 |
#labelsAreColored: true |
|
9844 |
) |
|
9845 |
#(#LabelSpec |
|
9846 |
#label: 'Text Color:' |
|
9847 |
#name: 'Label2' |
|
9848 |
#layout: #(#LayoutFrame 0 0 0 0 205 0 22 0) |
|
9849 |
#translateLabel: true |
|
9850 |
#adjust: #left |
|
9851 |
) |
|
9852 |
) |
|
9853 |
||
9854 |
) |
|
9855 |
#extent: #(#Point 685 44) |
|
9856 |
) |
|
9857 |
#(#ViewSpec |
|
9858 |
#name: 'Box10' |
|
9859 |
#component: |
|
9860 |
#(#SpecCollection |
|
9861 |
#collection: #( |
|
9862 |
#(#ActionButtonSpec |
|
9863 |
#label: 'Reset To:' |
|
9864 |
#name: 'Button2' |
|
9865 |
#layout: #(#LayoutFrame 0 0 -22 1 150 0 0 1) |
|
9866 |
#translateLabel: true |
|
9867 |
#model: #resetToColorScheme |
|
9868 |
#enableChannel: #syntaxColoring |
|
9869 |
) |
|
9870 |
#(#ComboListSpec |
|
9871 |
#name: 'ComboList4' |
|
9872 |
#layout: #(#LayoutFrame 150 0 -22 1 0 1 0 1) |
|
9873 |
#enableChannel: #syntaxColoring |
|
9874 |
#model: #resetListSelection |
|
9875 |
#comboList: #resetList |
|
9876 |
#useIndex: false |
|
9877 |
) |
|
9878 |
) |
|
9879 |
||
9880 |
) |
|
9881 |
#extent: #(#Point 685 35) |
|
9882 |
) |
|
9883 |
) |
|
9884 |
||
9885 |
) |
|
9886 |
#extent: #(#Point 695 609) |
|
9887 |
) |
|
9888 |
) |
|
9889 |
||
9890 |
) |
|
9891 |
) |
|
9892 |
) |
|
9893 |
||
9894 |
) |
|
9895 |
) |
|
9896 |
! ! |
|
9897 |
||
9898 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'actions'! |
|
9899 |
||
4574 | 9900 |
basicSaveSettings |
9901 |
||
9902 |
oldUserPreferences := currentUserPrefs copy. |
|
9903 |
currentUserPrefs syntaxColoring:self syntaxColoring value. |
|
9904 |
currentUserPrefs at:#fullSelectorCheck put:self fullSelectorCheck value. |
|
9905 |
! |
|
9906 |
||
4398 | 9907 |
formattingConfiguration |
9908 |
"automatically generated by UIPainter ..." |
|
9909 |
||
9910 |
"*** the code below performs no action" |
|
9911 |
"*** (except for some feedback on the Transcript)" |
|
9912 |
"*** Please change as required and accept in the browser." |
|
9913 |
||
9914 |
"action to be added ..." |
|
9915 |
||
9916 |
Transcript showCR:self class name, ': action for formattingConfiguration ...'. |
|
9917 |
! |
|
9918 |
||
9919 |
help |
|
9920 |
||
9921 |
"/ self warn:'no help available here'. |
|
9922 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/sourceSettings.html']. |
|
9923 |
! |
|
9924 |
||
4574 | 9925 |
readSettings |
9926 |
|colorList resetListLoc| |
|
4398 | 9927 |
|
9928 |
oldUserPreferences notNil ifTrue:[ |
|
4574 | 9929 |
(UserPreferences |
9930 |
reset; |
|
9931 |
current) declareAllFrom:oldUserPreferences |
|
4398 | 9932 |
]. |
9933 |
self syntaxColoring value:currentUserPrefs syntaxColoring. |
|
9934 |
self fullSelectorCheck value:currentUserPrefs fullSelectorCheck. |
|
9935 |
oldUserPreferences := currentUserPrefs copy. |
|
9936 |
colorList := UserPreferences syntaxColorNames. |
|
4574 | 9937 |
resetListLoc := currentUserPrefs listOfPredefinedSyntaxColoringSchemes |
9938 |
collect:[:entry | entry second]. |
|
4398 | 9939 |
self resetList value:resetListLoc. |
9940 |
self resetListSelection value:resetListLoc first. |
|
9941 |
self syntaxEmphasisList value:self class emphasisList. |
|
9942 |
self syntaxElementList value:colorList. |
|
9943 |
self syntaxElementSelection value:(colorList at:1). |
|
4574 | 9944 |
self modifiedChannel value:false |
4398 | 9945 |
! |
9946 |
||
9947 |
recolor |
|
9948 |
||
9949 |
|text| |
|
9950 |
||
9951 |
self syntaxColoring value ifTrue:[ |
|
9952 |
text := SyntaxHighlighter formatMethod:self class exampleText in:nil. |
|
9953 |
] ifFalse:[ |
|
9954 |
text := self class exampleText. |
|
9955 |
]. |
|
9956 |
self coloredText value:text |
|
9957 |
! |
|
9958 |
||
9959 |
resetToColorScheme |
|
9960 |
||
9961 |
|resetSelector| |
|
9962 |
||
9963 |
resetSelector := resetListDictionary keyAtValue:(self resetListSelection value). |
|
9964 |
currentUserPrefs perform:resetSelector. |
|
9965 |
self recolor. |
|
9966 |
self evaluateModified. |
|
9967 |
! ! |
|
9968 |
||
9969 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'aspects'! |
|
9970 |
||
9971 |
coloredText |
|
9972 |
||
9973 |
coloredText isNil ifTrue:[ |
|
9974 |
coloredText := ValueHolder new. |
|
9975 |
]. |
|
9976 |
^ coloredText. |
|
9977 |
! |
|
9978 |
||
9979 |
fullSelectorCheck |
|
9980 |
||
9981 |
fullSelectorCheck isNil ifTrue:[ |
|
9982 |
fullSelectorCheck := currentUserPrefs fullSelectorCheck asValue. |
|
9983 |
fullSelectorCheck onChangeSend:#evaluateModified to:self |
|
9984 |
]. |
|
9985 |
^ fullSelectorCheck. |
|
9986 |
! |
|
9987 |
||
9988 |
resetList |
|
9989 |
||
9990 |
resetList isNil ifTrue:[ |
|
9991 |
resetList := ValueHolder new. |
|
9992 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
9993 |
"/ resetList addDependent:self. |
|
9994 |
"/ resetList onChangeSend:#resetListChanged to:self. |
|
9995 |
]. |
|
9996 |
^ resetList. |
|
9997 |
! |
|
9998 |
||
9999 |
resetListSelection |
|
10000 |
||
10001 |
resetListSelection isNil ifTrue:[ |
|
10002 |
resetListSelection := ValueHolder new. |
|
10003 |
]. |
|
10004 |
^ resetListSelection. |
|
10005 |
! |
|
10006 |
||
10007 |
syntaxColor |
|
10008 |
||
10009 |
syntaxColor isNil ifTrue:[ |
|
10010 |
syntaxColor := ValueHolder new. |
|
10011 |
syntaxColor addDependent:self. |
|
10012 |
]. |
|
10013 |
^ syntaxColor. |
|
10014 |
! |
|
10015 |
||
10016 |
syntaxColoring |
|
10017 |
||
10018 |
syntaxColoring isNil ifTrue:[ |
|
10019 |
syntaxColoring := true asValue. |
|
10020 |
syntaxColoring addDependent:self. |
|
10021 |
syntaxColoring onChangeSend:#evaluateModified to:self. |
|
10022 |
]. |
|
10023 |
^ syntaxColoring. |
|
10024 |
! |
|
10025 |
||
10026 |
syntaxElementList |
|
10027 |
"automatically generated by UIPainter ..." |
|
10028 |
||
10029 |
"*** the code below creates a default model when invoked." |
|
10030 |
"*** (which may not be the one you wanted)" |
|
10031 |
"*** Please change as required and accept it in the browser." |
|
10032 |
"*** (and replace this comment by something more useful ;-)" |
|
10033 |
||
10034 |
syntaxElementList isNil ifTrue:[ |
|
10035 |
syntaxElementList := ValueHolder new. |
|
10036 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
10037 |
"/ syntaxElementList addDependent:self. |
|
10038 |
"/ syntaxElementList onChangeSend:#syntaxElementListChanged to:self. |
|
10039 |
]. |
|
10040 |
^ syntaxElementList. |
|
10041 |
! |
|
10042 |
||
10043 |
syntaxElementSelection |
|
10044 |
||
10045 |
syntaxElementSelection isNil ifTrue:[ |
|
10046 |
syntaxElementSelection := ValueHolder new. |
|
10047 |
syntaxElementSelection addDependent:self. |
|
10048 |
"/ syntaxElementSelection onChangeSend:#syntaxElementSelectionChanged to:self. |
|
10049 |
]. |
|
10050 |
^ syntaxElementSelection. |
|
10051 |
! |
|
10052 |
||
10053 |
syntaxEmphasisList |
|
10054 |
"automatically generated by UIPainter ..." |
|
10055 |
||
10056 |
"*** the code below creates a default model when invoked." |
|
10057 |
"*** (which may not be the one you wanted)" |
|
10058 |
"*** Please change as required and accept it in the browser." |
|
10059 |
"*** (and replace this comment by something more useful ;-)" |
|
10060 |
||
10061 |
syntaxEmphasisList isNil ifTrue:[ |
|
10062 |
syntaxEmphasisList := ValueHolder new. |
|
10063 |
"/ if your app needs to be notified of changes, uncomment one of the lines below: |
|
10064 |
"/ syntaxEmphasisList addDependent:self. |
|
10065 |
"/ syntaxEmphasisList onChangeSend:#syntaxEmphasisListChanged to:self. |
|
10066 |
]. |
|
10067 |
^ syntaxEmphasisList. |
|
10068 |
! |
|
10069 |
||
10070 |
syntaxEmphasisSelection |
|
10071 |
||
10072 |
syntaxEmphasisSelection isNil ifTrue:[ |
|
10073 |
syntaxEmphasisSelection := ValueHolder new. |
|
10074 |
syntaxEmphasisSelection addDependent:self. |
|
10075 |
]. |
|
10076 |
^ syntaxEmphasisSelection. |
|
10077 |
! ! |
|
10078 |
||
10079 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'change & update'! |
|
10080 |
||
10081 |
getEmphasis:anEmphasisOrSymbol |
|
10082 |
" return emphasis Symbol for emphasis or emphasis for emphasis symbol " |
|
10083 |
||
10084 |
^ emphasisDictionary at:anEmphasisOrSymbol ifAbsent:[nil] |
|
10085 |
! |
|
10086 |
||
10087 |
syntaxColorChanged |
|
10088 |
||
10089 |
currentUserPrefs at:(self syntaxColorSelector value) put:(self syntaxColor value). |
|
10090 |
self recolor. |
|
10091 |
self evaluateModified. |
|
10092 |
! |
|
10093 |
||
10094 |
syntaxElementSelectionChanged |
|
10095 |
||
10096 |
| syntaxEmphasisValue | |
|
10097 |
||
10098 |
self syntaxColor value:(currentUserPrefs perform:(self syntaxColorSelector value)). |
|
10099 |
syntaxEmphasisValue := (currentUserPrefs perform:(self syntaxEmphasisSelector value)). |
|
10100 |
self syntaxEmphasisSelection value:(self getEmphasis:syntaxEmphasisValue). |
|
10101 |
self recolor. |
|
10102 |
! |
|
10103 |
||
10104 |
syntaxEmphasisSelectionChanged |
|
10105 |
||
10106 |
|em| |
|
10107 |
||
10108 |
em := self getEmphasis:self syntaxEmphasisSelection value. |
|
10109 |
currentUserPrefs at:(self syntaxEmphasisSelector value) value put:em. |
|
10110 |
self recolor. |
|
10111 |
self evaluateModified. |
|
10112 |
! |
|
10113 |
||
10114 |
update:something with:aParameter from:changedObject |
|
10115 |
changedObject == self syntaxElementSelection ifTrue:[ |
|
10116 |
self syntaxElementSelectionChanged. |
|
10117 |
^ self. |
|
10118 |
]. |
|
10119 |
changedObject == self syntaxColor ifTrue:[ |
|
10120 |
self syntaxColorChanged. |
|
10121 |
^ self. |
|
10122 |
]. |
|
10123 |
changedObject == self syntaxEmphasisSelection ifTrue:[ |
|
10124 |
self syntaxEmphasisSelectionChanged. |
|
10125 |
^ self. |
|
10126 |
]. |
|
10127 |
changedObject == self syntaxColoring ifTrue:[ |
|
10128 |
self recolor. |
|
10129 |
^ self. |
|
10130 |
]. |
|
10131 |
||
10132 |
super update:something with:aParameter from:changedObject |
|
10133 |
! ! |
|
10134 |
||
10135 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'initialization & release'! |
|
10136 |
||
10137 |
initialize |
|
10138 |
self initializeEmphasisDictionary. |
|
4574 | 10139 |
super initialize. |
10140 |
||
4398 | 10141 |
resetListDictionary := Dictionary new. |
4574 | 10142 |
currentUserPrefs listOfPredefinedSyntaxColoringSchemes do:[:entry | |
10143 |
resetListDictionary at:(entry at:1) put:(entry at:2) |
|
10144 |
]. |
|
4398 | 10145 |
! |
10146 |
||
10147 |
initializeEmphasisDictionary |
|
10148 |
||
10149 |
emphasisDictionary := Dictionary new. |
|
10150 |
self class emphasisList do:[ : entry | |
|
10151 |
entry == #'red underline' ifTrue:[ |
|
10152 |
emphasisDictionary at:entry put:(Array with:#underline with:(#underlineColor->Color red)). |
|
10153 |
emphasisDictionary at:(Array with:#underline with:(#underlineColor->Color red)) put:entry. |
|
10154 |
] ifFalse:[ |
|
10155 |
entry == #'red underwave' ifTrue:[ |
|
10156 |
emphasisDictionary at:entry put:(Array with:#underwave with:(#underlineColor->Color red)). |
|
10157 |
emphasisDictionary at:(Array with:#underwave with:(#underlineColor->Color red)) put:entry. |
|
10158 |
] ifFalse:[ |
|
10159 |
entry == #'bold+red underline' ifTrue:[ |
|
10160 |
emphasisDictionary at:entry put:(Array with:#bold with:#underline with:(#underlineColor->Color red)). |
|
10161 |
emphasisDictionary at:(Array with:#bold with:#underline with:(#underlineColor->Color red)) put:entry. |
|
10162 |
] ifFalse:[ |
|
10163 |
entry == #'bold+red underwave' ifTrue:[ |
|
10164 |
emphasisDictionary at:entry put:(Array with:#bold with:#underwave with:(#underlineColor->Color red)). |
|
10165 |
emphasisDictionary at:(Array with:#bold with:#underwave with:(#underlineColor->Color red)) put:entry. |
|
10166 |
] ifFalse:[ |
|
10167 |
entry == #'italic+red underline' ifTrue:[ |
|
10168 |
emphasisDictionary at:entry put:(Array with:#italic with:#underline with:(#underlineColor->Color red)). |
|
10169 |
emphasisDictionary at:(Array with:#italic with:#underline with:(#underlineColor->Color red)) put:entry. |
|
10170 |
] ifFalse:[ |
|
10171 |
entry == #'italic+red underwave' ifTrue:[ |
|
10172 |
emphasisDictionary at:entry put:(Array with:#italic with:#underwave with:(#underlineColor->Color red)). |
|
10173 |
emphasisDictionary at:(Array with:#italic with:#underwave with:(#underlineColor->Color red)) put:entry. |
|
10174 |
] ifFalse:[ |
|
10175 |
emphasisDictionary at:entry put:entry |
|
10176 |
] |
|
10177 |
] |
|
10178 |
] |
|
10179 |
] |
|
10180 |
] |
|
10181 |
] |
|
10182 |
]. |
|
10183 |
! |
|
10184 |
||
10185 |
release |
|
10186 |
||
10187 |
oldUserPreferences notNil ifTrue:[ |
|
10188 |
(UserPreferences reset; current) declareAllFrom:oldUserPreferences |
|
10189 |
]. |
|
10190 |
super release |
|
10191 |
! ! |
|
10192 |
||
10193 |
!AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'queries'! |
|
10194 |
||
10195 |
hasUnsavedChanges |
|
10196 |
||
10197 |
|colorList colorPerformer emphasisPerformer| |
|
10198 |
||
10199 |
colorList := UserPreferences syntaxColorNames. |
|
10200 |
colorList do:[:syntaxElement | |
|
10201 |
colorPerformer := (self syntaxColorSelectorForElement:syntaxElement) value. |
|
10202 |
emphasisPerformer := (self syntaxEmphasisSelectorForElement:syntaxElement) value. |
|
10203 |
((oldUserPreferences perform:colorPerformer) ~= (currentUserPrefs perform:colorPerformer)) ifTrue:[ |
|
10204 |
^ true |
|
10205 |
]. |
|
10206 |
((oldUserPreferences perform:emphasisPerformer) ~= (currentUserPrefs perform:emphasisPerformer)) ifTrue:[ |
|
10207 |
^ true |
|
10208 |
]. |
|
10209 |
syntaxElement |
|
10210 |
]. |
|
10211 |
currentUserPrefs syntaxColoring ~= self syntaxColoring value ifTrue:[^ true]. |
|
10212 |
currentUserPrefs fullSelectorCheck ~= self fullSelectorCheck value ifTrue:[^ true]. |
|
10213 |
^ false |
|
10214 |
! |
|
10215 |
||
10216 |
syntaxColorSelector |
|
10217 |
||
10218 |
^ self syntaxColorSelectorForElement:self syntaxElementSelection value |
|
10219 |
! |
|
10220 |
||
10221 |
syntaxColorSelectorForElement:aSyntaxElement |
|
10222 |
||
10223 |
^ [(aSyntaxElement replChar:$ withString: '') asLowercaseFirst asSymbol] |
|
10224 |
! |
|
10225 |
||
10226 |
syntaxEmphasisSelector |
|
10227 |
||
10228 |
^ self syntaxEmphasisSelectorForElement:self syntaxElementSelection value |
|
10229 |
! |
|
10230 |
||
10231 |
syntaxEmphasisSelectorForElement:anEmElement |
|
10232 |
||
10233 |
^ [((((self syntaxColorSelectorForElement:anEmElement) value) readStream upToAll: 'Color'), 'Emphasis') asLowercaseFirst asSymbol] |
|
10234 |
! ! |
|
10235 |
||
4312 | 10236 |
!AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'image specs'! |
10237 |
||
10238 |
defaultIcon |
|
10239 |
"This resource specification was automatically generated |
|
10240 |
by the ImageEditor of ST/X." |
|
10241 |
||
10242 |
"Do not manually edit this!! If it is corrupted, |
|
10243 |
the ImageEditor may not be able to read the specification." |
|
10244 |
||
10245 |
" |
|
10246 |
self defaultIcon inspect |
|
10247 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
10248 |
Icon flushCachedIcons |
|
10249 |
" |
|
10250 |
||
10251 |
<resource: #image> |
|
10252 |
||
10253 |
^Icon |
|
10254 |
constantNamed:#'AbstractSettingsApplication::SystemMessageSettingsAppl class defaultIcon' |
|
10255 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
10256 |
@@@@@@@@@@@@A XFA @@@@@@@@@@@@@@@@@@@@@@A!!HRCPX@@@@@@@@@@@@@@@@@@@@@A!!H.KP4MA @@@@@@@@@@@@@@@@@@@@XRPB<#H0L@@@@@@@@@@@@@ |
|
10257 |
@@@@@@@FD$@/H2LC@@@@@@@@@@@@@@@@@@@@A!!H6LRH"@P@@@@@@@@@@@@@@@@@@@@XFC#LKB0D@@@@@@@@@@@@@@@@@@@@@@@XZ@PD@@@@@@@@@@@@@@@@@ |
|
10258 |
@@@@@@@FF DA@@@@@@@@@@@@@@@@@@@@@@@@A!!(A@P@@@@@@@@@@@@@@@@@@@@\GA3@ZDQDAAPT@@@@@@@@@@@@@@@\;QDP''EQ@PE@$IAP@@@@@@@@@@@@@G |
|
10259 |
N4QDI1TPDAPIBPT@@@@@@@@@@@@@A31CP3(UJ"( B (D@@@@@@@@@@@@@@\>Q4\8IR0,J1@PA@@@@@@@@@@@@@@GO$]GNBT,KB,PD@P@@@@@@@@@@@@@A35H |
|
10260 |
RC$&I2\(D1LA@@@@@@@@@@@@@@\?Q$X7G2D!!IATU@P@@@@@@@@@@A0\2P$UEMQ VE!!$WE00B@@@@@@@@@@\GL$IEQSTXE!!XYE1\L@ @@@@@@@@@GA0=CPTD4 |
|
10261 |
GA4]G!!,[B@D@@@@@@@@@@@@GAPPD@ HB@ DA@PD@@@@@@@@a') ; colorMapFromArray:#[0 0 0 2 2 4 38 38 12 58 34 14 60 60 20 74 70 28 78 46 20 82 82 28 94 94 36 95 95 38 107 107 50 110 62 20 114 114 52 118 58 12 122 82 44 122 122 60 125 123 72 130 74 20 133 101 52 135 134 78 142 134 68 145 144 88 146 146 92 152 152 98 153 153 106 158 158 108 162 114 44 162 162 116 163 163 120 163 164 116 165 164 116 165 165 120 167 165 116 167 166 118 168 90 24 168 98 26 168 167 124 170 169 124 170 170 128 170 170 130 170 171 128 171 168 122 172 170 128 172 171 130 172 172 130 178 106 36 178 122 60 181 121 48 182 122 52 184 116 49 184 184 140 187 122 43 187 186 148 188 188 150 196 141 89 198 198 162 203 203 172 204 203 170 205 202 168 210 210 178 219 217 188 219 219 190 220 220 188 220 220 190 222 174 132 232 231 214 233 233 216 234 234 212 236 231 208 236 236 220 241 241 232 243 243 232 243 243 234]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@G @@O @@_0@@_0@@_0@@_0@@_0@@G @@G @@G @@?<@A?>@A?>@A?>@A?>@A?>@A?>@A?>@G??@G??@G??@A?>@') ; yourself); yourself] |
|
10262 |
! ! |
|
10263 |
||
4286 | 10264 |
!AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'interface specs'! |
10265 |
||
10266 |
windowSpec |
|
10267 |
"This resource specification was automatically generated |
|
10268 |
by the UIPainter of ST/X." |
|
10269 |
||
10270 |
"Do not manually edit this!! If it is corrupted, |
|
10271 |
the UIPainter may not be able to read the specification." |
|
10272 |
||
10273 |
" |
|
4310 | 10274 |
UIPainter new openOnClass:AbstractSettingsApplication::SystemMessageSettingsAppl andSelector:#windowSpec |
10275 |
AbstractSettingsApplication::SystemMessageSettingsAppl new openInterface:#windowSpec |
|
10276 |
AbstractSettingsApplication::SystemMessageSettingsAppl open |
|
4286 | 10277 |
" |
10278 |
||
10279 |
<resource: #canvas> |
|
10280 |
||
10281 |
^ |
|
10282 |
#(#FullSpec |
|
10283 |
#name: #windowSpec |
|
10284 |
#window: |
|
10285 |
#(#WindowSpec |
|
4398 | 10286 |
#label: 'Messages Settings' |
10287 |
#name: 'Messages Settings' |
|
4286 | 10288 |
#min: #(#Point 10 10) |
10289 |
#max: #(#Point 1024 768) |
|
4398 | 10290 |
#bounds: #(#Rectangle 16 42 577 391) |
4286 | 10291 |
) |
10292 |
#component: |
|
10293 |
#(#SpecCollection |
|
10294 |
#collection: #( |
|
4310 | 10295 |
#(#VerticalPanelViewSpec |
10296 |
#name: 'VerticalPanel2' |
|
10297 |
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0) |
|
4398 | 10298 |
#horizontalLayout: #fitSpace |
10299 |
#verticalLayout: #topSpace |
|
10300 |
#horizontalSpace: 5 |
|
10301 |
#verticalSpace: 5 |
|
4286 | 10302 |
#component: |
10303 |
#(#SpecCollection |
|
10304 |
#collection: #( |
|
4310 | 10305 |
#(#VerticalPanelViewSpec |
10306 |
#name: 'VerticalPanel1' |
|
10307 |
#horizontalLayout: #fit |
|
4398 | 10308 |
#verticalLayout: #topSpace |
4310 | 10309 |
#horizontalSpace: 3 |
4398 | 10310 |
#verticalSpace: 20 |
4310 | 10311 |
#component: |
10312 |
#(#SpecCollection |
|
10313 |
#collection: #( |
|
4398 | 10314 |
#(#FramedBoxSpec |
10315 |
#label: 'Info & Error Messages' |
|
10316 |
#name: 'FramedBox2' |
|
10317 |
#labelPosition: #topLeft |
|
4310 | 10318 |
#translateLabel: true |
4398 | 10319 |
#component: |
10320 |
#(#SpecCollection |
|
10321 |
#collection: #( |
|
10322 |
#(#CheckBoxSpec |
|
10323 |
#label: 'VM Info Messages' |
|
10324 |
#name: 'VMInfoMessages' |
|
10325 |
#layout: #(#LayoutFrame 5 0 5 0 -5 1 27 0) |
|
10326 |
#model: #vmInfo |
|
10327 |
#translateLabel: true |
|
10328 |
) |
|
10329 |
#(#CheckBoxSpec |
|
10330 |
#label: 'VM Error Messages' |
|
10331 |
#name: 'VMErrorMessages' |
|
10332 |
#layout: #(#LayoutFrame 5 0 30 0 -5 1 52 0) |
|
10333 |
#model: #vmErrors |
|
10334 |
#translateLabel: true |
|
10335 |
) |
|
10336 |
#(#CheckBoxSpec |
|
10337 |
#label: 'Display Error Messages (Xlib, Xtlib, WinAPI ...)' |
|
10338 |
#name: 'DisplayErrorMessages' |
|
10339 |
#layout: #(#LayoutFrame 5 0 55 0 -5 1 77 0) |
|
10340 |
#model: #displayErrors |
|
10341 |
#translateLabel: true |
|
10342 |
) |
|
10343 |
#(#CheckBoxSpec |
|
10344 |
#label: 'Other Info Messages' |
|
10345 |
#name: 'OtherInfoMessages' |
|
10346 |
#layout: #(#LayoutFrame 5 0 80 0 -5 1 102 0) |
|
10347 |
#model: #classInfos |
|
10348 |
#translateLabel: true |
|
10349 |
) |
|
10350 |
) |
|
10351 |
||
10352 |
) |
|
10353 |
#extent: #(#Point 551 133) |
|
10354 |
) |
|
10355 |
#(#FramedBoxSpec |
|
10356 |
#label: 'Change File' |
|
10357 |
#name: 'FramedBox1' |
|
10358 |
#labelPosition: #topLeft |
|
4310 | 10359 |
#translateLabel: true |
4398 | 10360 |
#component: |
10361 |
#(#SpecCollection |
|
10362 |
#collection: #( |
|
10363 |
#(#CheckBoxSpec |
|
10364 |
#label: 'Log compiles in Changefile' |
|
10365 |
#name: 'CheckBox1' |
|
10366 |
#layout: #(#LayoutFrame 5 0 5 0 -5 1 27 0) |
|
10367 |
#model: #updChanges |
|
10368 |
#translateLabel: true |
|
10369 |
) |
|
10370 |
#(#CheckBoxSpec |
|
10371 |
#label: 'Log doIts in Changefile' |
|
10372 |
#name: 'CheckBox2' |
|
10373 |
#layout: #(#LayoutFrame 5 0 30 0 -5 1 52 0) |
|
10374 |
#model: #logDoits |
|
10375 |
#translateLabel: true |
|
10376 |
) |
|
10377 |
#(#LabelSpec |
|
10378 |
#label: 'Changefile Name:' |
|
10379 |
#name: 'ChangefileNameLabel' |
|
10380 |
#layout: #(#LayoutFrame 5 0 55 0 200 0 77 0) |
|
10381 |
#translateLabel: true |
|
10382 |
#adjust: #right |
|
10383 |
) |
|
10384 |
#(#InputFieldSpec |
|
10385 |
#name: 'ChangeFileNameEntryField' |
|
10386 |
#layout: #(#LayoutFrame 200 0 55 0 -5 1 77 0) |
|
10387 |
#model: #changeFileName |
|
10388 |
#immediateAccept: true |
|
10389 |
#acceptOnReturn: true |
|
10390 |
#acceptOnTab: true |
|
10391 |
#acceptOnLostFocus: true |
|
4658 | 10392 |
#acceptOnPointerLeave: true |
4398 | 10393 |
) |
10394 |
) |
|
10395 |
||
10396 |
) |
|
10397 |
#extent: #(#Point 551 120) |
|
4310 | 10398 |
) |
10399 |
) |
|
10400 |
||
10401 |
) |
|
4398 | 10402 |
#extent: #(#Point 551 250) |
4286 | 10403 |
) |
10404 |
) |
|
10405 |
||
10406 |
) |
|
10407 |
) |
|
10408 |
) |
|
10409 |
||
10410 |
) |
|
10411 |
) |
|
10412 |
! ! |
|
10413 |
||
10414 |
!AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'actions'! |
|
10415 |
||
4574 | 10416 |
basicSaveSettings |
10417 |
||
10418 |
ObjectMemory infoPrinting:self vmInfo value. |
|
10419 |
ObjectMemory debugPrinting:self vmErrors value. |
|
10420 |
Object infoPrinting:self classInfos value. |
|
10421 |
DeviceWorkstation errorPrinting:self displayErrors value. |
|
10422 |
ObjectMemory nameForChanges:self changeFileName value. |
|
10423 |
Smalltalk logDoits:self logDoits value. |
|
10424 |
Class updateChanges:self updChanges value. |
|
10425 |
! |
|
10426 |
||
4286 | 10427 |
help |
10428 |
||
10429 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/messageSettings.html']. |
|
10430 |
! |
|
10431 |
||
4574 | 10432 |
readSettings |
4286 | 10433 |
self vmInfo value:ObjectMemory infoPrinting. |
10434 |
self vmErrors value:ObjectMemory debugPrinting. |
|
10435 |
self classInfos value:Object infoPrinting. |
|
10436 |
self displayErrors value:DeviceWorkstation errorPrinting. |
|
4398 | 10437 |
self changeFileName value:ObjectMemory nameForChanges. |
10438 |
self logDoits value:Smalltalk logDoits. |
|
10439 |
self updChanges value:Class updatingChanges. |
|
4574 | 10440 |
self modifiedChannel value:false |
4286 | 10441 |
! ! |
10442 |
||
10443 |
!AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'aspects'! |
|
10444 |
||
4398 | 10445 |
changeFileName |
10446 |
||
10447 |
changeFileName isNil ifTrue:[ |
|
10448 |
changeFileName := ObjectMemory nameForChanges asValue. |
|
10449 |
changeFileName onChangeSend:#evaluateModified to:self |
|
10450 |
]. |
|
10451 |
^ changeFileName. |
|
10452 |
! |
|
10453 |
||
4286 | 10454 |
classInfos |
10455 |
||
10456 |
classInfos isNil ifTrue:[ |
|
10457 |
classInfos := Object infoPrinting asValue. |
|
10458 |
classInfos onChangeSend:#evaluateModified to:self |
|
10459 |
]. |
|
10460 |
^ classInfos. |
|
10461 |
! |
|
10462 |
||
10463 |
displayErrors |
|
10464 |
||
10465 |
displayErrors isNil ifTrue:[ |
|
10466 |
displayErrors := DeviceWorkstation errorPrinting asValue. |
|
10467 |
displayErrors onChangeSend:#evaluateModified to:self |
|
10468 |
]. |
|
10469 |
^ displayErrors. |
|
10470 |
! |
|
10471 |
||
4398 | 10472 |
logDoits |
10473 |
||
10474 |
logDoits isNil ifTrue:[ |
|
10475 |
logDoits := Smalltalk logDoits asValue. |
|
10476 |
logDoits onChangeSend:#evaluateModified to:self |
|
10477 |
]. |
|
10478 |
^ logDoits. |
|
10479 |
! |
|
10480 |
||
10481 |
updChanges |
|
10482 |
||
10483 |
updChanges isNil ifTrue:[ |
|
10484 |
updChanges := Class updatingChanges asValue. |
|
10485 |
updChanges onChangeSend:#evaluateModified to:self |
|
10486 |
]. |
|
10487 |
^ updChanges. |
|
10488 |
! |
|
10489 |
||
4286 | 10490 |
vmErrors |
10491 |
||
10492 |
vmErrors isNil ifTrue:[ |
|
10493 |
vmErrors := ObjectMemory debugPrinting asValue. |
|
10494 |
vmErrors onChangeSend:#evaluateModified to:self |
|
10495 |
]. |
|
10496 |
^ vmErrors. |
|
10497 |
! |
|
10498 |
||
10499 |
vmInfo |
|
10500 |
||
10501 |
vmInfo isNil ifTrue:[ |
|
10502 |
vmInfo := ObjectMemory infoPrinting asValue. |
|
10503 |
vmInfo onChangeSend:#evaluateModified to:self |
|
10504 |
]. |
|
10505 |
^ vmInfo. |
|
10506 |
! ! |
|
10507 |
||
10508 |
!AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'initialization & release'! |
|
10509 |
||
10510 |
initialize |
|
10511 |
||
4387 | 10512 |
resources := self class classResources. |
4286 | 10513 |
super initialize |
10514 |
! ! |
|
10515 |
||
10516 |
!AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'queries'! |
|
10517 |
||
10518 |
hasUnsavedChanges |
|
10519 |
||
10520 |
^(self vmInfo value ~= ObjectMemory infoPrinting or:[ |
|
10521 |
self vmErrors value ~= ObjectMemory debugPrinting or:[ |
|
10522 |
self classInfos value ~= Object infoPrinting or:[ |
|
4398 | 10523 |
Smalltalk logDoits ~= self logDoits value or:[ |
10524 |
Class updatingChanges ~= self updChanges value or:[ |
|
10525 |
ObjectMemory nameForChanges ~= self changeFileName value or:[ |
|
10526 |
self displayErrors value ~= DeviceWorkstation errorPrinting ]]]]]]) |
|
4286 | 10527 |
! ! |
10528 |
||
4312 | 10529 |
!AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'image specs'! |
10530 |
||
10531 |
defaultIcon |
|
10532 |
"This resource specification was automatically generated |
|
10533 |
by the ImageEditor of ST/X." |
|
10534 |
||
10535 |
"Do not manually edit this!! If it is corrupted, |
|
10536 |
the ImageEditor may not be able to read the specification." |
|
10537 |
||
10538 |
" |
|
10539 |
self defaultIcon inspect |
|
10540 |
ImageEditor openOnClass:self andSelector:#defaultIcon |
|
10541 |
Icon flushCachedIcons |
|
10542 |
" |
|
10543 |
||
10544 |
<resource: #image> |
|
10545 |
||
10546 |
^Icon |
|
10547 |
constantNamed:#'AbstractSettingsApplication::ToolsSettingsAppl class defaultIcon' |
|
10548 |
ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(8 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:' |
|
10549 |
@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@@@@@@@@@@@@@@@@@@@@@@@@@@@B@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ H@ |
|
10550 |
@@@@@@@D@ XFA @@@@@@@@@@@@HB@@@@@@@@@@HC@ XFA @@@@@@@@@B@ @@@@@@@@@@@@\BCPXF@@@@@@@@@ H@@@@RB @@@@@@@ <MA @@@@@@@@HB@@@@ |
|
10551 |
D <MB@@B@ MC0X@@@@@@@@B@ @@@@LCD@4OCP<MC08FA X@@@@@@ H@@@DR@0LCD@<MC08FA FA @@@@HB@@@@D!!HR@0LC@0LCA <LBPXF@@@B@ @@@@@@ |
|
10552 |
D!!HRD!!HC@0LCC04KBP@@@ H@@@@@@@@@@AHRD!!HR@0LCDP<@@@HB@@@@@@@@@@@@@@@@D!!HR@0LC@@@B@ @@@@@@@@@@@@X@@@@@D!!HR@0@@@ H@@@@@@@@@ |
|
10553 |
@@@@@@@@@@@@D 4@@@HB@@@@@@@@@@@@@@@@@@@@@@@@@@@B@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ H@@@@@@@@@@@@@@@@@@@@@@@@@@@HB@ HB@ HB@ HB |
|
10554 |
@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ HB@ @a') ; colorMapFromArray:#[0 0 0 48 48 48 96 100 96 120 120 120 128 128 128 248 172 168 168 172 168 184 184 184 192 192 192 192 196 192 200 196 200 200 204 200 208 208 208 224 220 224 232 232 232 232 236 232 240 236 240 240 240 240 248 252 248]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@?@@@?0@@_8@GO<@G3<@G?>@G??@G?? G?? C?? @?? @G? @B_ @@G @@A @@@@@@@@@@@@@@@@') ; yourself); yourself] |
|
10555 |
! ! |
|
10556 |
||
4286 | 10557 |
!AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'interface specs'! |
10558 |
||
10559 |
windowSpec |
|
10560 |
"This resource specification was automatically generated |
|
10561 |
by the UIPainter of ST/X." |
|
10562 |
||
10563 |
"Do not manually edit this!! If it is corrupted, |
|
10564 |
the UIPainter may not be able to read the specification." |
|
10565 |
||
10566 |
" |
|
4310 | 10567 |
UIPainter new openOnClass:AbstractSettingsApplication::ToolsSettingsAppl andSelector:#windowSpec |
10568 |
AbstractSettingsApplication::ToolsSettingsAppl new openInterface:#windowSpec |
|
10569 |
AbstractSettingsApplication::ToolsSettingsAppl open |
|
4286 | 10570 |
" |
10571 |
||
10572 |
<resource: #canvas> |
|
10573 |
||
10574 |
^ |
|
10575 |
#(#FullSpec |
|
10576 |
#name: #windowSpec |
|
10577 |
#window: |
|
10578 |
#(#WindowSpec |
|
4405 | 10579 |
#label: 'Tool Settings' |
10580 |
#name: 'Tool Settings' |
|
4286 | 10581 |
#min: #(#Point 10 10) |
10582 |
#max: #(#Point 1024 768) |
|
4387 | 10583 |
#bounds: #(#Rectangle 16 42 511 513) |
4286 | 10584 |
) |
10585 |
#component: |
|
10586 |
#(#SpecCollection |
|
10587 |
#collection: #( |
|
4310 | 10588 |
#(#VerticalPanelViewSpec |
4387 | 10589 |
#name: 'VerticalPanel2' |
4464
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10590 |
#layout: #(#LayoutFrame 0 0 0 0 358 0 234 0) |
4387 | 10591 |
#horizontalLayout: #left |
10592 |
#verticalLayout: #top |
|
4286 | 10593 |
#horizontalSpace: 3 |
10594 |
#verticalSpace: 3 |
|
10595 |
#component: |
|
10596 |
#(#SpecCollection |
|
10597 |
#collection: #( |
|
4387 | 10598 |
#(#CheckBoxSpec |
10599 |
#label: 'Use the New Changes Browser' |
|
10600 |
#name: 'ChangesBrowser' |
|
10601 |
#model: #useNewChangesBrowser |
|
10602 |
#translateLabel: true |
|
10603 |
#extent: #(#Point 489 25) |
|
10604 |
) |
|
10605 |
#(#CheckBoxSpec |
|
10606 |
#label: 'Use the New System Browser' |
|
10607 |
#name: 'NewSystemBrowser' |
|
10608 |
#model: #useNewSystemBrowser |
|
10609 |
#translateLabel: true |
|
10610 |
#extent: #(#Point 489 25) |
|
10611 |
) |
|
10612 |
#(#CheckBoxSpec |
|
10613 |
#label: 'Use the New VersionDiff Browser' |
|
10614 |
#name: 'VersionDiffBrowser' |
|
10615 |
#model: #useNewVersionDiffBrowser |
|
10616 |
#translateLabel: true |
|
10617 |
#extent: #(#Point 489 25) |
|
10618 |
) |
|
10619 |
#(#CheckBoxSpec |
|
10620 |
#label: 'Use the New File Browser' |
|
10621 |
#name: 'NewFileBrowser' |
|
10622 |
#model: #useNewFileBrowser |
|
10623 |
#translateLabel: true |
|
10624 |
#extent: #(#Point 489 25) |
|
10625 |
) |
|
10626 |
#(#CheckBoxSpec |
|
10627 |
#label: 'Use the New FileTree File Dialog' |
|
10628 |
#name: 'UseNewFileDialogCheckBox' |
|
10629 |
#model: #useNewFileDialog |
|
10630 |
#translateLabel: true |
|
10631 |
#extent: #(#Point 489 25) |
|
10632 |
) |
|
10633 |
#(#CheckBoxSpec |
|
10634 |
#label: 'Use the New Settings Dialog' |
|
10635 |
#name: 'UseNewSettinsApplicationCheckBox' |
|
10636 |
#model: #useNewSettingsApplication |
|
10637 |
#translateLabel: true |
|
10638 |
#extent: #(#Point 489 25) |
|
10639 |
) |
|
10640 |
#(#CheckBoxSpec |
|
4464
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10641 |
#label: 'Use the New Process Monitor' |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10642 |
#name: 'UseNewProcessMonitor' |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10643 |
#model: #useProcessMonitorV2 |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10644 |
#translateLabel: true |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10645 |
#extent: #(#Point 489 25) |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10646 |
) |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10647 |
#(#CheckBoxSpec |
4387 | 10648 |
#label: 'Use Hierarchical Inspector' |
10649 |
#name: 'HierarchicalInspector' |
|
10650 |
#model: #useNewInspector |
|
10651 |
#translateLabel: true |
|
10652 |
#extent: #(#Point 489 25) |
|
10653 |
) |
|
10654 |
#(#CheckBoxSpec |
|
10655 |
#label: 'Show Clock in Launcher' |
|
10656 |
#name: 'Clock' |
|
10657 |
#model: #showClockInLauncher |
|
10658 |
#translateLabel: true |
|
10659 |
#extent: #(#Point 489 25) |
|
10660 |
) |
|
10661 |
#(#ViewSpec |
|
10662 |
#name: 'Box1' |
|
4310 | 10663 |
#component: |
10664 |
#(#SpecCollection |
|
10665 |
#collection: #( |
|
4387 | 10666 |
#(#LabelSpec |
10667 |
#label: 'Transcripts Buffer Size:' |
|
10668 |
#name: 'Label1' |
|
10669 |
#layout: #(#LayoutFrame 5 0 5 0 144 0 27 0) |
|
4310 | 10670 |
#translateLabel: true |
4387 | 10671 |
#adjust: #right |
10672 |
) |
|
10673 |
#(#InputFieldSpec |
|
10674 |
#name: 'Transcripts Buffer Size' |
|
10675 |
#layout: #(#LayoutFrame 147 0 5 0 -5 1 27 0) |
|
10676 |
#model: #transcriptBufferSize |
|
10677 |
#type: #number |
|
10678 |
#immediateAccept: true |
|
10679 |
#acceptOnReturn: true |
|
10680 |
#acceptOnTab: true |
|
10681 |
#acceptOnLostFocus: true |
|
4658 | 10682 |
#acceptOnPointerLeave: true |
4310 | 10683 |
) |
10684 |
) |
|
10685 |
||
10686 |
) |
|
4387 | 10687 |
#extent: #(#Point 489 27) |
4286 | 10688 |
) |
10689 |
) |
|
10690 |
||
10691 |
) |
|
4387 | 10692 |
#useDefaultExtent: true |
4286 | 10693 |
) |
10694 |
) |
|
10695 |
||
10696 |
) |
|
10697 |
) |
|
10698 |
! ! |
|
10699 |
||
10700 |
!AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'actions'! |
|
10701 |
||
4574 | 10702 |
basicSaveSettings |
4286 | 10703 |
|
4398 | 10704 |
| showClock launcher reopenLauncher| |
10705 |
||
10706 |
currentUserPrefs := UserPreferences current. |
|
4286 | 10707 |
currentUserPrefs useNewInspector:self useNewInspector value. |
10708 |
currentUserPrefs useNewChangesBrowser:self useNewChangesBrowser value. |
|
10709 |
currentUserPrefs useNewSystemBrowser:self useNewSystemBrowser value. |
|
10710 |
currentUserPrefs useNewVersionDiffBrowser:self useNewVersionDiffBrowser value. |
|
4387 | 10711 |
currentUserPrefs useNewFileDialog:self useNewFileDialog value. |
4464
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10712 |
currentUserPrefs useProcessMonitorV2:self useProcessMonitorV2 value. |
4387 | 10713 |
currentUserPrefs useNewSettingsApplication ~= self useNewSettingsApplication value ifTrue:[ |
10714 |
currentUserPrefs useNewSettingsApplication:self useNewSettingsApplication value. |
|
10715 |
reopenLauncher := true. |
|
10716 |
]. |
|
4286 | 10717 |
(Smalltalk at:#FileBrowserV2) isBehavior ifTrue:[ |
4387 | 10718 |
currentUserPrefs useNewFileBrowser ~= self useNewFileBrowser value ifTrue:[ |
10719 |
currentUserPrefs useNewFileBrowser:self useNewFileBrowser value. |
|
10720 |
(self useNewFileBrowser value and:[FileBrowserV2 isLoaded]) ifTrue:[ |
|
10721 |
FileBrowserV2 installInLauncher. |
|
10722 |
] ifFalse:[ |
|
4286 | 10723 |
FileBrowserV2 removeFromLauncher. |
4387 | 10724 |
]. |
10725 |
reopenLauncher := true. |
|
10726 |
] |
|
4286 | 10727 |
]. |
10728 |
showClock := self showClockInLauncher value. |
|
10729 |
currentUserPrefs showClockInLauncher ~= showClock ifTrue:[ |
|
10730 |
currentUserPrefs showClockInLauncher:showClock. |
|
10731 |
launcher := Transcript application. |
|
10732 |
(launcher isKindOf:ToolApplicationModel) ifTrue:[ |
|
10733 |
showClock ifTrue:[ |
|
10734 |
launcher startClock |
|
10735 |
] ifFalse:[ |
|
10736 |
launcher stopClock |
|
10737 |
] |
|
10738 |
] |
|
10739 |
]. |
|
10740 |
Inspector := currentUserPrefs inspectorClassSetting. |
|
10741 |
Transcript current lineLimit:self transcriptBufferSize value. |
|
4387 | 10742 |
reopenLauncher ifTrue:[ |
10743 |
launcher := Transcript application. |
|
10744 |
(launcher isKindOf:ToolApplicationModel) ifTrue:[ |
|
10745 |
launcher reopenLauncher. |
|
10746 |
] |
|
10747 |
]. |
|
4574 | 10748 |
! |
10749 |
||
10750 |
help |
|
10751 |
||
10752 |
self withWaitCursorDo:[HTMLDocumentView openFullOnHelpFile:'Launcher/toolSettings.html']. |
|
10753 |
! |
|
10754 |
||
10755 |
readSettings |
|
10756 |
currentUserPrefs := UserPreferences current. |
|
10757 |
self showClockInLauncher value:currentUserPrefs showClockInLauncher. |
|
10758 |
self transcriptBufferSize value:Transcript current lineLimit. |
|
10759 |
self useNewChangesBrowser value:currentUserPrefs useNewChangesBrowser. |
|
10760 |
self useNewFileBrowser value:currentUserPrefs useNewFileBrowser. |
|
10761 |
self useNewInspector value:currentUserPrefs useNewInspector. |
|
10762 |
self useNewSystemBrowser value:currentUserPrefs useNewSystemBrowser. |
|
10763 |
self useNewVersionDiffBrowser |
|
10764 |
value:currentUserPrefs useNewVersionDiffBrowser. |
|
10765 |
self useProcessMonitorV2 value:currentUserPrefs useProcessMonitorV2. |
|
10766 |
self useNewFileDialog value:currentUserPrefs useNewFileDialog. |
|
10767 |
self useNewSettingsApplication |
|
10768 |
value:currentUserPrefs useNewSettingsApplication. |
|
10769 |
self modifiedChannel value:false |
|
4286 | 10770 |
! ! |
10771 |
||
10772 |
!AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'aspects'! |
|
10773 |
||
10774 |
showClockInLauncher |
|
10775 |
||
10776 |
showClockInLauncher isNil ifTrue:[ |
|
10777 |
showClockInLauncher := currentUserPrefs showClockInLauncher asValue. |
|
10778 |
showClockInLauncher onChangeSend:#evaluateModified to:self |
|
10779 |
]. |
|
10780 |
^ showClockInLauncher. |
|
10781 |
! |
|
10782 |
||
10783 |
transcriptBufferSize |
|
10784 |
||
10785 |
transcriptBufferSize isNil ifTrue:[ |
|
10786 |
transcriptBufferSize := Transcript current lineLimit asValue. |
|
10787 |
transcriptBufferSize onChangeSend:#evaluateModified to:self |
|
10788 |
]. |
|
10789 |
^ transcriptBufferSize. |
|
10790 |
! |
|
10791 |
||
10792 |
useNewChangesBrowser |
|
10793 |
||
10794 |
useNewChangesBrowser isNil ifTrue:[ |
|
10795 |
useNewChangesBrowser := currentUserPrefs useNewChangesBrowser asValue. |
|
10796 |
useNewChangesBrowser onChangeSend:#evaluateModified to:self |
|
10797 |
]. |
|
10798 |
^ useNewChangesBrowser. |
|
10799 |
! |
|
10800 |
||
10801 |
useNewFileBrowser |
|
10802 |
||
10803 |
useNewFileBrowser isNil ifTrue:[ |
|
10804 |
useNewFileBrowser := currentUserPrefs useNewFileBrowser asValue. |
|
10805 |
useNewFileBrowser onChangeSend:#evaluateModified to:self |
|
10806 |
]. |
|
10807 |
^ useNewFileBrowser. |
|
10808 |
! |
|
10809 |
||
4387 | 10810 |
useNewFileDialog |
10811 |
||
10812 |
useNewFileDialog isNil ifTrue:[ |
|
10813 |
useNewFileDialog := true asValue. |
|
10814 |
useNewFileDialog onChangeSend:#evaluateModified to:self |
|
10815 |
]. |
|
10816 |
^ useNewFileDialog. |
|
10817 |
! |
|
10818 |
||
4286 | 10819 |
useNewInspector |
10820 |
||
10821 |
useNewInspector isNil ifTrue:[ |
|
10822 |
useNewInspector := currentUserPrefs useNewInspector asValue. |
|
10823 |
useNewInspector onChangeSend:#evaluateModified to:self |
|
10824 |
]. |
|
10825 |
^ useNewInspector. |
|
10826 |
! |
|
10827 |
||
4387 | 10828 |
useNewSettingsApplication |
10829 |
||
10830 |
useNewSettingsApplication isNil ifTrue:[ |
|
10831 |
useNewSettingsApplication := true asValue. |
|
10832 |
useNewSettingsApplication onChangeSend:#evaluateModified to:self |
|
10833 |
]. |
|
10834 |
^ useNewSettingsApplication. |
|
10835 |
! |
|
10836 |
||
4286 | 10837 |
useNewSystemBrowser |
10838 |
||
10839 |
useNewSystemBrowser isNil ifTrue:[ |
|
10840 |
useNewSystemBrowser := currentUserPrefs useNewSystemBrowser asValue. |
|
10841 |
useNewSystemBrowser onChangeSend:#evaluateModified to:self |
|
10842 |
]. |
|
10843 |
^ useNewSystemBrowser. |
|
10844 |
! |
|
10845 |
||
10846 |
useNewVersionDiffBrowser |
|
10847 |
||
10848 |
useNewVersionDiffBrowser isNil ifTrue:[ |
|
10849 |
useNewVersionDiffBrowser := currentUserPrefs useNewVersionDiffBrowser asValue. |
|
10850 |
useNewVersionDiffBrowser onChangeSend:#evaluateModified to:self |
|
10851 |
]. |
|
10852 |
^ useNewVersionDiffBrowser. |
|
4464
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10853 |
! |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10854 |
|
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10855 |
useProcessMonitorV2 |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10856 |
|
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10857 |
useProcessMonitorV2 isNil ifTrue:[ |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10858 |
useProcessMonitorV2 := currentUserPrefs useProcessMonitorV2 asValue. |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10859 |
useProcessMonitorV2 onChangeSend:#evaluateModified to:self |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10860 |
]. |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10861 |
^ useProcessMonitorV2. |
4286 | 10862 |
! ! |
10863 |
||
10864 |
!AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'queries'! |
|
10865 |
||
10866 |
hasUnsavedChanges |
|
10867 |
||
10868 |
^ ((self useNewInspector value ~= currentUserPrefs useNewInspector) or:[ |
|
10869 |
(self useNewChangesBrowser value ~= currentUserPrefs useNewChangesBrowser) or:[ |
|
10870 |
(self useNewSystemBrowser value ~= currentUserPrefs useNewSystemBrowser) or:[ |
|
10871 |
(self showClockInLauncher value ~= currentUserPrefs showClockInLauncher) or:[ |
|
10872 |
(self useNewVersionDiffBrowser value ~= currentUserPrefs useNewVersionDiffBrowser) or:[ |
|
10873 |
(self useNewFileBrowser value ~= currentUserPrefs useNewFileBrowser) or:[ |
|
4387 | 10874 |
(self useNewFileDialog value ~= currentUserPrefs useNewFileDialog) or:[ |
10875 |
(self useNewSettingsApplication value ~= currentUserPrefs useNewSettingsApplication) or:[ |
|
4464
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10876 |
(self useProcessMonitorV2 value ~= currentUserPrefs useProcessMonitorV2) or:[ |
997576abcb7f
add ProcessMonitorV2 access from menu dependent on userPreferences
penk
parents:
4457
diff
changeset
|
10877 |
(self transcriptBufferSize value ~= Transcript current lineLimit)]]]]]]]]]) |
4286 | 10878 |
! ! |
10879 |
||
4226 | 10880 |
!AbstractSettingsApplication class methodsFor:'documentation'! |
10881 |
||
10882 |
version |
|
4851 | 10883 |
^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.59 2003-04-29 10:07:20 penk Exp $' |
10884 |
! ! |