--- a/AbstractSettingsApplication.st Wed Feb 05 19:59:26 2014 +0100
+++ b/AbstractSettingsApplication.st Wed Feb 05 19:59:28 2014 +0100
@@ -332,7 +332,7 @@
showEmbeddedTestRunnerInBrowser showBookmarkBar
webBrowserLikeLayout sortAndIndentClassesByInheritance
showLocalHistory showGlobalHistory useInPlaceSearchInBrowserLists
- sourceCodeManagementMenuLayout'
+ sourceCodeManagementMenuLayout confirmRefactorings'
classVariableNames:''
poolDictionaries:''
privateIn:AbstractSettingsApplication
@@ -348,6 +348,22 @@
privateIn:AbstractSettingsApplication
!
+AbstractSettingsApplication subclass:#ToolboxSettingsAppl
+ instanceVariableNames:'changesBrowserClassName fileBrowserClassName'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:AbstractSettingsApplication
+!
+
+ApplicationModel subclass:#ClassToolSetting
+ instanceVariableNames:'optionValueHolder optionValueList optionLabelHolder
+ optionSelectionHolder optionLabelList optionCustomValueHolder
+ optionCustomValueVisibleHolder optionCustomValueBackgroundHolder'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:AbstractSettingsApplication::ToolboxSettingsAppl
+!
+
AbstractSettingsApplication subclass:#ToolsSettingsAppl
instanceVariableNames:'useNewVersionDiffBrowser transcriptBufferSize useNewInspector
showClockInLauncher useNewChangesBrowser useNewFileBrowser
@@ -6552,11 +6568,11 @@
initialize
super initialize.
-
+
mappings := Screen current keyboardMap.
- rawKeyList := (mappings keys collect:[:key | key asString]) asArray sort.
- functionKeyList := (mappings values asSet collect:[:key | key asString]) asArray sort.
+ rawKeyList := (mappings keys collect:[:key | key asString] as:Array) sort.
+ functionKeyList := (mappings values asSet collect:[:key | key asString] as:Array) sort.
self labelTextHolder value:(resources at:'KEY_MSG2' default:'keyboard mapping:') withCRs.
! !
@@ -14681,16 +14697,17 @@
| entry dlg |
entry := managerPerMatchingModule at: selectedManagerPerMatchingModuleHolder value.
- dlg := PerModuleManagerSettingDialog new.
+ dlg := PerModuleManagerSettingDialog new.
dlg package: entry package.
dlg manager: entry manager.
dlg open ifTrue:[
- entry package: dlg package.
- entry manager: dlg manager.
- entry changed.
+ entry package: dlg package.
+ entry manager: dlg manager.
+ entry changed.
+ self updateModifiedChannel.
]
- "Modified: / 09-07-2011 / 16:04:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 29-03-2012 / 11:53:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
actionMoveDown
@@ -15150,7 +15167,7 @@
availableManagers := self availableManagers.
availableManagers size == 1 ifTrue:[
- ^ availableManagers
+ ^ availableManagers anElement
].
idx := self selectedManagerTypeIndexHolder value.
@@ -17122,7 +17139,7 @@
!AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'actions'!
aspects
- ^ #(
+ ^ #(
"/ showAcceptCancelBarInBrowser
useSearchBarInBrowser
showMethodTemplate
@@ -17135,9 +17152,11 @@
showLocalHistory
useInPlaceSearchInBrowserLists
sourceCodeManagementMenuLayout
+ confirmRefactorings
)
"Created: / 25-11-2011 / 15:09:28 / cg"
+ "Modified: / 04-04-2012 / 14:03:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
basicReadSettings
@@ -17160,6 +17179,17 @@
!AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'aspects'!
+confirmRefactorings
+
+ confirmRefactorings isNil ifTrue:[
+ confirmRefactorings := false asValue.
+ confirmRefactorings onChangeSend:#updateModifiedChannel to:self
+ ].
+ ^ confirmRefactorings.
+
+ "Created: / 07-06-2011 / 14:34:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
showAcceptCancelBarInBrowser
showAcceptCancelBarInBrowser isNil ifTrue:[
showAcceptCancelBarInBrowser := false asValue.
@@ -17738,6 +17768,661 @@
"Modified: / 10-11-2010 / 12:08:25 / cg"
! !
+!AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'image specs'!
+
+defaultIcon
+ "This resource specification was automatically generated
+ by the ImageEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the ImageEditor may not be able to read the specification."
+
+ "
+ self defaultIcon inspect
+ ImageEditor openOnClass:self andSelector:#defaultIcon
+ Icon flushCachedIcons
+ "
+
+ <resource: #image>
+
+ ^Icon
+ constantNamed:'AbstractSettingsApplication::ToolboxSettingsAppl class defaultIcon'
+ ifAbsentPut:[(Depth8Image new) width: 24; height: 24; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XFA (@@@@@@@@@@@@@@@@@@@@@@@@@@@DA@PDJA @@
+@@@@@@@@@@@@@@@@@@@@B DB@PDA@PX@@@@@@@@@@@@@@@@@@@@@@@DB@ HB@PX@@@@@@@@@@@@@A XFA XIB@ GA0XFA ,FA XF@@@@@@@FAPTEAPTEAPLC
+@0LC@0LC@0LCA @@@@@EAPTEAPTEAPLC@0LCA XC@0LC@0@@@@@EAPTEAPTEAPLC@0LC@PDH@0LC@0@@@@@FAPTEAPTEAPLC@0LC@PDG@0LCA @@@@@FAPTE
+APTEAPLC@0LC@PDH@0LCA @@@@@FAPTEAPTEAPLC@0LCA HC@0LCA @@@@@FAPTEAPTEAPLC@0LC@0LC@0LCA @@@@@FAPTEAPTEAPLC@0LC@0LC@0LCA @@
+@@@FAPTEAPTEAPLC@0LC@0LC@0LCA @@@@@FAPTEAPTEAPLC@0LC@0LC@0LCA @@@@@FAPTEAPTEAPLC@0LC@0LC@0XF@@@@@@@@A0TEAPTEAPLC@0LCB@XF
+@@@@@@@@@@@@@@@KA XI@0LGA ,@@@@@@@@@@@@@@@@@@@@@@@@@A@P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[107 107 107 253 252 252 180 180 180 254 102 102 154 154 154 255 0 0 46 49 49 98 53 53 171 80 80 155 25 25 128 128 128 73 74 74]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@C0@@C<@@G>@@G>@G??8O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??8G??@A?0@@F@@@@@@@@@@@@@@') ; yourself); yourself]
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'interface specs'!
+
+developmentToolsSpec
+ "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:AbstractSettingsApplication::ToolboxSettingsAppl andSelector:#developmentToolsSpec
+ AbstractSettingsApplication::ToolboxSettingsAppl new openInterface:#developmentToolsSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: developmentToolsSpec
+ window:
+ (WindowSpec
+ label: 'Development'
+ name: 'Development'
+ bounds: (Rectangle 0 0 674 614)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (VerticalPanelViewSpec
+ name: 'DevToolsPanel'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ horizontalLayout: fit
+ verticalLayout: top
+ horizontalSpace: 3
+ verticalSpace: 3
+ postBuildCallback: developmentToolSettingsInto:
+ )
+ )
+
+ )
+ )
+
+ "Modified: / 03-04-2012 / 10:51:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+miscToolsSpec
+ "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:AbstractSettingsApplication::ToolboxSettingsAppl andSelector:#developmentToolsSpec
+ AbstractSettingsApplication::ToolboxSettingsAppl new openInterface:#developmentToolsSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: miscToolsSpec
+ window:
+ (WindowSpec
+ label: 'Other'
+ name: 'Other'
+ bounds: (Rectangle 0 0 674 614)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (VerticalPanelViewSpec
+ name: 'DevToolsPanel'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ horizontalLayout: fit
+ verticalLayout: top
+ horizontalSpace: 3
+ verticalSpace: 3
+ postBuildCallback: miscToolSettingsInto:
+ )
+ )
+
+ )
+ )
+
+ "Created: / 03-04-2012 / 10:51:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+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:AbstractSettingsApplication::ToolboxSettingsAppl andSelector:#windowSpec
+ AbstractSettingsApplication::ToolboxSettingsAppl new openInterface:#windowSpec
+ AbstractSettingsApplication::ToolboxSettingsAppl open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'Toolbox Settings'
+ name: 'Toolbox Settings'
+ bounds: (Rectangle 0 0 551 561)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (NoteBookViewSpec
+ name: 'NoteBook'
+ layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+ menu: notebookTabList
+ )
+ )
+
+ )
+ )
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'list specs'!
+
+notebookTabList
+ "This resource specification was automatically generated
+ by the TabListEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the TabListEditor may not be able to read the specification."
+
+ "
+ TabListEditor new openOnClass: self andSelector:#notebookTabList
+ "
+
+ <resource: #tabList>
+
+ ^ #(
+ (TabItem
+ label: 'Development'
+ minorKey: developmentToolsSpec
+ createNewBuilder: false
+ )
+ (TabItem
+ label: 'Miscelaneous'
+ minorKey: miscToolsSpec
+ createNewBuilder: false
+ )
+
+ )
+
+ collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
+
+ "Modified: / 03-04-2012 / 10:52:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'aspects'!
+
+aspects
+
+ ^#(
+ "Development"
+ changesBrowserClassName
+
+ "Misc"
+ fileBrowserClassName
+ )
+
+ "Created: / 14-02-2012 / 18:36:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+changesBrowserClassName
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ changesBrowserClassName isNil ifTrue:[
+ changesBrowserClassName := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/ changesBrowserClassName addDependent:self.
+ changesBrowserClassName onChangeSend:#updateModifiedChannel to:self.
+ ].
+ ^ changesBrowserClassName.
+
+ "Modified: / 14-02-2012 / 18:58:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+fileBrowserClassName
+ <resource: #uiAspect>
+
+ fileBrowserClassName isNil ifTrue:[
+ fileBrowserClassName := ValueHolder new.
+ fileBrowserClassName onChangeSend:#updateModifiedChannel to:self.
+ ].
+ ^ fileBrowserClassName.
+
+ "Modified: / 14-02-2012 / 18:58:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 03-04-2012 / 10:54:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+notebookTabList
+ "Generated by the TabListEditor"
+
+ |list|
+
+ (list := builder bindingAt:#notebookTabList) isNil ifTrue:[
+ builder aspectAt:#notebookTabList put:(list := self class notebookTabList).
+ ].
+ ^ list
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'hooks'!
+
+developmentToolSettingsInto:panel
+
+ (self addClassToolSettingTo: panel)
+ label: 'Changes Browser';
+ classes:#( #ChangesBrowser
+ #NewChangesBrowser
+ #Tools::ChangeSetBrowser2 );
+ labels: #( 'ChangesBrowser - default'
+ 'NewChangesBrowser - experimental, not maintained'
+ 'Tools::ChangeSetBrowser2 - experimental' );
+ model: self changesBrowserClassName
+
+ "Created: / 14-02-2012 / 16:20:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+miscToolSettingsInto:panel
+
+ (self addClassToolSettingTo: panel)
+ label: 'File Browser';
+ classes:#( #FileBrowser
+ #FileBrowserV2
+ #FileBrowserV3 );
+ labels: #( 'FileBrowser'
+ 'FileBrowserV2 - default'
+ 'FileBrowserV3 - experimental' );
+ model: self fileBrowserClassName
+
+ "Created: / 03-04-2012 / 10:54:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'private'!
+
+addClassToolSettingTo: panel
+
+ | model setting canvas |
+ canvas := ApplicationSubView new.
+ setting := ClassToolSetting new.
+ setting createBuilder.
+ setting model: model.
+ setting window: canvas.
+ canvas client: setting.
+ canvas height: 30.
+ panel addSubView: canvas.
+ ^setting
+
+ "Created: / 14-02-2012 / 18:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'protocol'!
+
+basicReadSettings
+ "superclass AbstractSettingsApplication says that I am responsible to implement this method"
+
+ self readAspects: self aspects from: currentUserPrefs.
+
+ "Modified: / 14-02-2012 / 18:37:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+basicSaveSettings
+ "superclass AbstractSettingsApplication says that I am responsible to implement this method"
+
+ self writeAspects: self aspects to: currentUserPrefs
+
+ "Modified: / 14-02-2012 / 18:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+helpFilename
+ "subclasses must return the relative name of a helpFile
+ in the doc/online/<language>/help directory.
+ Or nil, if no help is available."
+
+ ^ self shouldImplement
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'queries'!
+
+hasUnsavedChanges
+ "superclass AbstractSettingsApplication says that I am responsible to implement this method"
+
+ ^self hasChangedAspectIn: self aspects asComparedTo:currentUserPrefs
+
+ "Modified: / 14-02-2012 / 18:38:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting class methodsFor:'interface specs'!
+
+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:AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting andSelector:#windowSpec
+ AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting new openInterface:#windowSpec
+ AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ window:
+ (WindowSpec
+ label: 'ToolSetting'
+ name: 'ToolSetting'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 431 60)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (LabelSpec
+ label: 'Tool...'
+ name: 'Label'
+ layout: (LayoutFrame 0 0 0 0 150 0 30 0)
+ translateLabel: true
+ labelChannel: optionLabelHolder
+ adjust: left
+ )
+ (PopUpListSpec
+ label: 'Please select...'
+ name: 'OptionList'
+ layout: (LayoutFrame 150 0 3 0 0 1 27 0)
+ model: optionSelectionHolder
+ menu: optionLabelList
+ useIndex: true
+ )
+ (InputFieldSpec
+ name: 'EntryField1'
+ layout: (LayoutFrame 150 0 33 0 0 1 56 0)
+ visibilityChannel: optionCustomValueVisibleHolder
+ backgroundChannel: optionCustomValueBackgroundHolder
+ model: optionCustomValueHolder
+ type: string
+ immediateAccept: true
+ acceptOnReturn: true
+ acceptOnTab: true
+ acceptOnPointerLeave: true
+ )
+ )
+
+ )
+ )
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'accessing'!
+
+classes: aCollection
+
+ optionValueList := aCollection.
+
+ "Created: / 14-02-2012 / 18:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label: aString
+
+ self optionLabelHolder value: aString
+
+ "Created: / 14-02-2012 / 18:22:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+labels: aCollection
+
+ | labels |
+ labels := aCollection asOrderedCollection.
+ labels add: (self class resources at: 'Custom class') asText allItalic.
+ self optionLabelList value: labels.
+
+ "Created: / 14-02-2012 / 18:21:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+model: aValueHolder
+
+ self optionValueHolder: aValueHolder
+
+ "Created: / 14-02-2012 / 18:22:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'aspects'!
+
+optionCustomValueBackgroundHolder
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ optionCustomValueBackgroundHolder isNil ifTrue:[
+ optionCustomValueBackgroundHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/ optionCustomValueBackgroundHolder addDependent:self.
+"/ optionCustomValueBackgroundHolder onChangeSend:#optionCustomValueBackgroundHolderChanged to:self.
+ ].
+ ^ optionCustomValueBackgroundHolder.
+!
+
+optionCustomValueBackgroundHolder:something
+ "set the 'optionCustomValueBackgroundHolder' value holder (automatically generated)"
+
+ optionCustomValueBackgroundHolder := something.
+!
+
+optionCustomValueHolder
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ optionCustomValueHolder isNil ifTrue:[
+ optionCustomValueHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+ optionCustomValueHolder addDependent:self.
+"/ optionCustomValueHolder onChangeSend:#optionCustomValueHolderChanged to:self.
+ ].
+ ^ optionCustomValueHolder.
+
+ "Modified: / 14-02-2012 / 18:18:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+optionCustomValueVisibleHolder
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ optionCustomValueVisibleHolder isNil ifTrue:[
+ optionCustomValueVisibleHolder := false asValue.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+ optionCustomValueVisibleHolder addDependent:self.
+"/ optionCustomValueVisibleHolder onChangeSend:#optionCustomValueVisibleHolderChanged to:self.
+ ].
+ ^ optionCustomValueVisibleHolder.
+
+ "Modified: / 14-02-2012 / 18:27:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+optionLabelHolder
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ optionLabelHolder isNil ifTrue:[
+ optionLabelHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/ optionLabelHolder addDependent:self.
+"/ optionLabelHolder onChangeSend:#optionLabelHolderChanged to:self.
+ ].
+ ^ optionLabelHolder.
+!
+
+optionLabelList
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ optionLabelList isNil ifTrue:[
+ optionLabelList := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/ optionLabelList addDependent:self.
+"/ optionLabelList onChangeSend:#optionLabelListChanged to:self.
+ ].
+ ^ optionLabelList.
+!
+
+optionLabelList:something
+ "set the 'optionLabelList' value holder (automatically generated)"
+
+ optionLabelList := something.
+!
+
+optionSelectionHolder
+ <resource: #uiAspect>
+
+ "automatically generated by UIPainter ..."
+
+ "*** the code below creates a default model when invoked."
+ "*** (which may not be the one you wanted)"
+ "*** Please change as required and accept it in the browser."
+ "*** (and replace this comment by something more useful ;-)"
+
+ optionSelectionHolder isNil ifTrue:[
+ optionSelectionHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+ optionSelectionHolder addDependent:self.
+"/ optionSelectionHolder onChangeSend:#optionSelectionHolderChanged to:self.
+ ].
+ ^ optionSelectionHolder.
+
+ "Modified: / 14-02-2012 / 18:26:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+optionSelectionHolder:something
+ "set the 'optionSelectionHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ optionSelectionHolder notNil ifTrue:[
+ oldValue := optionSelectionHolder value.
+ optionSelectionHolder removeDependent:self.
+ ].
+ optionSelectionHolder := something.
+ optionSelectionHolder notNil ifTrue:[
+ optionSelectionHolder addDependent:self.
+ ].
+ newValue := optionSelectionHolder value.
+ oldValue ~~ newValue ifTrue:[
+ self update:#value with:newValue from:optionSelectionHolder.
+ ].
+!
+
+optionValueHolder
+ "return/create the 'optionValueHolder' value holder (automatically generated)"
+
+ optionValueHolder isNil ifTrue:[
+ optionValueHolder := ValueHolder new.
+ optionValueHolder addDependent:self.
+ ].
+ ^ optionValueHolder
+!
+
+optionValueHolder:something
+ "set the 'optionValueHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ optionValueHolder notNil ifTrue:[
+ oldValue := optionValueHolder value.
+ optionValueHolder removeDependent:self.
+ ].
+ optionValueHolder := something.
+ optionValueHolder notNil ifTrue:[
+ optionValueHolder addDependent:self.
+ ].
+ newValue := optionValueHolder value.
+ oldValue ~~ newValue ifTrue:[
+ self update:#value with:newValue from:optionValueHolder.
+ ].
+! !
+
+!AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'change & update'!
+
+update:something with:aParameter from:changedObject
+ "Invoked when an object that I depend upon sends a change notification."
+
+ "stub code automatically generated - please change as required"
+
+ changedObject == optionSelectionHolder ifTrue:[
+ | idx |
+
+ idx := self optionSelectionHolder value.
+ self optionCustomValueVisibleHolder value: (idx == optionLabelList value size).
+ idx <= optionValueList size ifTrue:[
+ self optionValueHolder value: (optionValueList at: idx)
+ ].
+ ^ self.
+ ].
+ changedObject == optionCustomValueVisibleHolder ifTrue:[
+ self window notNil ifTrue:[
+ optionCustomValueVisibleHolder value ifTrue:[
+ self window height: 60
+ ] ifFalse:[
+ self window height: 30
+ ]
+ ]
+ ].
+
+ changedObject == optionValueHolder ifTrue:[
+ | idx |
+
+ self optionSelectionHolder value: ((optionValueList ? #()) indexOf: optionValueHolder value ifAbsent:[optionLabelList value size]).
+ self optionCustomValueHolder value: optionValueHolder value.
+
+ ].
+
+
+ super update:something with:aParameter from:changedObject
+
+ "Modified: / 14-02-2012 / 19:01:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'help specs'!
flyByHelpSpec
@@ -18384,10 +19069,10 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.508 2014-02-05 10:02:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.509 2014-02-05 18:59:28 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.508 2014-02-05 10:02:29 cg Exp $'
-! !
-
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.509 2014-02-05 18:59:28 cg Exp $'
+! !
+