"{ Package: 'stx:libtool' }"
ApplicationModel subclass:#FileBrowserV2SettingsDialog
instanceVariableNames:'appList requestor selectionInApplList subCanvasApplicationHolder
help applList appIsCategory enableButtons doReload doSave
settingsAppl'
classVariableNames:'ApplicationList'
poolDictionaries:''
category:'Interface-Tools-File'
!
!FileBrowserV2SettingsDialog class methodsFor:'interface specs'!
mainMenu
"This resource specification was automatically generated
by the MenuEditor of ST/X."
"Do not manually edit this!! If it is corrupted,
the MenuEditor may not be able to read the specification."
"
MenuEditor new openOnClass:FileBrowserV2SettingsFrame andSelector:#mainMenu
(Menu new fromLiteralArrayEncoding:(FileBrowserV2SettingsFrame mainMenu)) startUp
"
<resource: #menu>
^
#(#Menu
#(
#(#MenuItem
#label: 'File'
#translateLabel: true
#submenu:
#(#Menu
#(
#(#MenuItem
#label: 'Load Settings from...'
#itemValue: #loadSettingsFromFile
#translateLabel: true
)
#(#MenuItem
#label: 'Save Settings to...'
#itemValue: #saveSettingsIntoFile
#translateLabel: true
)
#(#MenuItem
#label: 'Exit'
#itemValue: #closeRequest
#translateLabel: true
)
)
nil
nil
)
)
)
nil
nil
)
!
windowSpec
"This resource specification was automatically generated
by the UIPainter of ST/X."
"Do not manually edit this!! If it is corrupted,
the UIPainter may not be able to read the specification."
"
UIPainter new openOnClass:FileBrowserV2SettingsFrame andSelector:#windowSpec
FileBrowserV2SettingsFrame new openInterface:#windowSpec
FileBrowserV2SettingsFrame open
"
<resource: #canvas>
^
#(#FullSpec
#name: #windowSpec
#window:
#(#WindowSpec
#label: 'Settings Dialog'
#name: 'Settings Dialog'
#min: #(#Point 10 10)
#max: #(#Point 1024 768)
#bounds: #(#Rectangle 12 22 365 596)
#menu: #mainMenu
)
#component:
#(#SpecCollection
#collection: #(
#(#ViewSpec
#name: 'Box2'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
#component:
#(#SpecCollection
#collection: #(
#(#SubCanvasSpec
#name: 'FileBrowserV2SettingsAppl'
#layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -34 1)
#level: 0
#hasHorizontalScrollBar: false
#hasVerticalScrollBar: false
#majorKey: #FileBrowserV2SettingsAppl
#createNewApplication: true
#createNewBuilder: true
#postBuildCallback: #postBuildSubCanvas:
)
#(#HorizontalPanelViewSpec
#name: 'HorizontalPanel1'
#layout: #(#LayoutFrame 0 0.0 -34 1 0 1.0 0 1)
#horizontalLayout: #fitSpace
#verticalLayout: #center
#horizontalSpace: 3
#verticalSpace: 3
#component:
#(#SpecCollection
#collection: #(
#(#ActionButtonSpec
#label: 'OK'
#name: 'OK'
#translateLabel: true
#model: #doSave
#enableChannel: #enableButtons
#extent: #(#Point 84 22)
)
#(#ActionButtonSpec
#label: 'Reload'
#name: 'Reload'
#translateLabel: true
#model: #doReload
#enableChannel: #enableButtons
#extent: #(#Point 85 22)
)
#(#ActionButtonSpec
#label: 'Cancel'
#name: 'Cancel'
#translateLabel: true
#model: #closeRequest
#extent: #(#Point 84 22)
)
#(#ActionButtonSpec
#label: 'Help'
#name: 'Help'
#translateLabel: true
#model: #help
#enableChannel: #enableButtons
#extent: #(#Point 85 22)
)
)
)
)
)
)
)
)
)
)
! !
!FileBrowserV2SettingsDialog methodsFor:'accessing'!
requestor
"return the value of the instance variable 'requestor' (automatically generated)"
^ requestor
!
requestor:something
"set the value of the instance variable 'requestor' (automatically generated)"
requestor := something.
! !
!FileBrowserV2SettingsDialog methodsFor:'actions'!
doReload
settingsAppl readSettings.
!
doSave
settingsAppl saveRequest.
self closeRequest.
!
help
settingsAppl help
! !
!FileBrowserV2SettingsDialog methodsFor:'initialization & release'!
closeRequest
"This is a hook method generated by the Browser.
It will be invoked when your app/dialog-window is about to be
closed (this method has a chance to suppress the close).
See also #closeDownViews, which is invoked when the close is really done."
settingsAppl saveRequest ifFalse:[
^ self
].
^ super closeRequest
!
initialize
super initialize.
!
postBuildSubCanvas:aWidget
settingsAppl := aWidget client.
aWidget keepClientView:true.
! !
!FileBrowserV2SettingsDialog methodsFor:'menu actions'!
loadSettingsFromFile
"restore settings from a settings-file."
"a temporary kludge - we need a central systemSettings object for this,
which can be saved/restored with a single store/read."
|fileName|
fileName := Dialog
requestFileName:(resources string:'Load Settings From:')
default:'settings.stx'
ok:(resources string:'Load')
abort:(resources string:'Cancel')
pattern:'*.stx'
fromDirectory:nil.
(fileName size == 0) ifTrue:[
"/ canceled
^ self
].
self withWaitCursorDo:[
Smalltalk fileIn:fileName.
Transcript current topView model reOpen.
self doReload.
].
!
saveSettingsIntoFile
|fileName resources|
resources := self class classResources.
self doReload.
fileName := Dialog
requestFileName:(resources string:'Save settings in:')
default:'settings.stx'
ok:(resources string:'Save')
abort:(resources string:'Cancel')
pattern:'*.stx'
fromDirectory:'.'.
fileName size ~~ 0 ifTrue:[
"not canceled"
UserPreferences current saveIn:fileName.
]
! !
!FileBrowserV2SettingsDialog class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2SettingsDialog.st,v 1.2 2003-03-13 15:04:59 mb Exp $'
! !