SettingsDialog.st
changeset 15356 f61e4fef74fb
parent 15348 2747dbea7233
child 15487 a0612a561678
--- a/SettingsDialog.st	Sat Feb 21 15:15:37 2015 +0100
+++ b/SettingsDialog.st	Sat Feb 21 15:16:53 2015 +0100
@@ -193,53 +193,54 @@
 !
 
 defaultSettingsApplicationList
-    ^ #(          
-        #('Language'                            #'AbstractSettingsApplication::LanguageSettingsAppl'            )
-        #('Keyboard Mappings'                   #'AbstractSettingsApplication::KbdMappingSettingsAppl'          )
-        #('ViewStyle'                           #'AbstractSettingsApplication::MiscDisplaySettingsAppl'         )
-        #('ViewStyle/Style'                     #'AbstractSettingsApplication::StyleSettingsAppl'               )
-        #('ViewStyle/Other'                     #'AbstractSettingsApplication::MiscDisplay2SettingsAppl'        )
-        #('ViewStyle/Fonts'                     #'Tools::FontSettingsApplication'                )
-        #('System Messages'                     #'AbstractSettingsApplication::SystemMessageSettingsAppl'       )
-        #('Memory'                              #'AbstractSettingsApplication::MemorySettingsAppl'              )
-        #('Processor & Scheduler'               #'AbstractSettingsApplication::ProcessorSchedulerSettingsAppl'  )
-        #('Tools'                               #'AbstractSettingsApplication::ToolsSettingsAppl'               )
-        #('Tools/Toolbox'                       #'AbstractSettingsApplication::ToolboxSettingsAppl'             )
-        #('Tools/Editor'                        #'AbstractSettingsApplication::EditSettingsAppl'                )
-        #('Tools/Editor/Code Editor 2'          #'Tools::CodeView2SettingsAppl'                                 )
-        #('Tools/Editor/Syntax Color'           #'AbstractSettingsApplication::SyntaxColorSettingsAppl'         )
-        #('Tools/Editor/Code Format'            #'AbstractSettingsApplication::SourceCodeFormatSettingsAppl'    )
-        #('Tools/System Browser'                #'AbstractSettingsApplication::SystemBrowserSettingsAppl'       )
-        #('Tools/System Browser/Code Generator' #'AbstractSettingsApplication::CodeGeneratorSettingsAppl'       )
-        #('Tools/Changes'                       #'AbstractSettingsApplication::ChangeFileSettingsAppl'          )
-        #('Tools/Debugger'                      #'AbstractSettingsApplication::DebuggerSettingsAppl'            )
-        #('Tools/Terminal'                      #'AbstractSettingsApplication::TerminalViewSettingsAppl'            )
-        #('Tools/Compiler'                      #'AbstractSettingsApplication::GeneralCompilerSettingsAppl'     )
-        #('Tools/Compiler/ByteCode'             #'AbstractSettingsApplication::ByteCodeCompilerSettingsAppl'    )
-        #('Tools/Compiler/STC'                  #'AbstractSettingsApplication::STCCompilerSettingsAppl'         )
-        #('Tools/Compiler/Build'                #'AbstractSettingsApplication::BuildSettingsAppl'         )
-        #('Source Code Management'              #'AbstractSettingsApplication::SourceCodeManagementSettingsAppl')
-        "/ see initializeSettingsList for how the following is expanded...
-        #('Source Code Management/[% managerTypeName]'     
-                                                '[ AbstractSourceCodeManager availableManagers 
-                                                     collect:[:each | each settingsApplicationClass] ]'    
-                                                                                                            '[% defaultIcon]' )
-"/        #('Source Code Management/CVS'          #'CVSSourceCodeManagementSettingsAppl')
-"/        #('Source Code Management/PerForce'     #'P4SourceCodeManagementSettingsAppl')
-"/        #('Source Code Management/SVN'          #'SVN::SettingsApp' )
-"/        #('Source Code Management/Store'        #'StoreSourceCodeManagementSettingsAppl')
-"/        #('Source Code Management/SmallTeam'    #'SmallTeamSourceCodeManagementSettingsAppl')
-        #('Printer'                             #'AbstractSettingsApplication::PrinterSettingsAppl'             )
-        #('Display'                             #'AbstractSettingsApplication::DisplaySettingsAppl'             )
-        #('Communication'                       nil                                                         #communicationIcon)
+    ^ OrderedCollection new
+        addAll:#(          
+                #('Language'                            #'AbstractSettingsApplication::LanguageSettingsAppl'            )
+                #('Keyboard Mappings'                   #'AbstractSettingsApplication::KbdMappingSettingsAppl'          )
+                #('ViewStyle'                           #'AbstractSettingsApplication::MiscDisplaySettingsAppl'         )
+                #('ViewStyle/Style'                     #'AbstractSettingsApplication::StyleSettingsAppl'               )
+                #('ViewStyle/Other'                     #'AbstractSettingsApplication::MiscDisplay2SettingsAppl'        )
+                #('ViewStyle/Fonts'                     #'Tools::FontSettingsApplication'                               )
+                #('System Messages'                     #'AbstractSettingsApplication::SystemMessageSettingsAppl'       )
+                #('Memory'                              #'AbstractSettingsApplication::MemorySettingsAppl'              )
+                #('Processor & Scheduler'               #'AbstractSettingsApplication::ProcessorSchedulerSettingsAppl'  )
+                #('Tools'                               #'AbstractSettingsApplication::ToolsSettingsAppl'               )
+                #('Tools/Toolbox'                       #'AbstractSettingsApplication::ToolboxSettingsAppl'             )
+                #('Tools/Editor'                        #'AbstractSettingsApplication::EditSettingsAppl'                )
+                #('Tools/Editor/Code Editor 2'          #'Tools::CodeView2SettingsAppl'                                 )
+                #('Tools/Editor/Syntax Color'           #'AbstractSettingsApplication::SyntaxColorSettingsAppl'         )
+                #('Tools/Editor/Code Format'            #'AbstractSettingsApplication::SourceCodeFormatSettingsAppl'    )
+                #('Tools/System Browser'                #'AbstractSettingsApplication::SystemBrowserSettingsAppl'       )
+                #('Tools/System Browser/Code Generator' #'AbstractSettingsApplication::CodeGeneratorSettingsAppl'       )
+                #('Tools/Changes'                       #'AbstractSettingsApplication::ChangeFileSettingsAppl'          )
+                #('Tools/Debugger'                      #'AbstractSettingsApplication::DebuggerSettingsAppl'            )
+                #('Tools/Terminal'                      #'AbstractSettingsApplication::TerminalViewSettingsAppl'        )
+                #('Tools/Compiler'                      #'AbstractSettingsApplication::GeneralCompilerSettingsAppl'     )
+                #('Tools/Compiler/ByteCode'             #'AbstractSettingsApplication::ByteCodeCompilerSettingsAppl'    )
+                #('Tools/Compiler/STC'                  #'AbstractSettingsApplication::STCCompilerSettingsAppl'         )
+                #('Tools/Compiler/Build'                #'AbstractSettingsApplication::BuildSettingsAppl'               )
+                #('Source Code Management'              #'AbstractSettingsApplication::SourceCodeManagementSettingsAppl')
+            );
+        add:
+            "/ see initializeSettingsList for how the following is expanded...
+            { 'Source Code Management/[% managerTypeName]' .     
+                                                 [ AbstractSourceCodeManager availableManagers 
+                                                     collect:[:each | each settingsApplicationClass] ] .    
+                                                                                              '[% defaultIcon]' };
+        addAll: 
+            #(
+                #('Printer'                             #'AbstractSettingsApplication::PrinterSettingsAppl'             )
+                #('Display'                             #'AbstractSettingsApplication::DisplaySettingsAppl'             )
+                #('Communication'                       nil                                           #communicationIcon)
 
-        #('Communication/Logging'               #'AbstractSettingsApplication::CommunicationLoggingSettingsAppl')
-        #('Communication/RDoIt'                 #'AbstractSettingsApplication::RDoItServerSettingsAppl'         )
-        #('Communication/OSI Protocol'          #'AbstractSettingsApplication::OsiSettingsAppl'                 )
-        #('Communication/Misc'                  #'AbstractSettingsApplication::MiscCommunicationSettingsAppl'   )
-        #('Communication/SQLServer'             #'AbstractSettingsApplication::SQLServerSettingsAppl'           )
-        #('Communication/HTTPServer'            #'AbstractSettingsApplication::HTTPStartServerSettingsApplication'   )
-    ) asOrderedCollection
+                #('Communication/Logging'               #'AbstractSettingsApplication::CommunicationLoggingSettingsAppl')
+                #('Communication/RDoIt'                 #'AbstractSettingsApplication::RDoItServerSettingsAppl'         )
+                #('Communication/OSI Protocol'          #'AbstractSettingsApplication::OsiSettingsAppl'                 )
+                #('Communication/Misc'                  #'AbstractSettingsApplication::MiscCommunicationSettingsAppl'   )
+                #('Communication/SQLServer'             #'AbstractSettingsApplication::SQLServerSettingsAppl'           )
+                #('Communication/HTTPServer'            #'AbstractSettingsApplication::HTTPStartServerSettingsApplication'   )
+            );
+        yourself
 
     "Modified: / 16-12-2002 / 18:12:28 / penk"
     "Modified: / 25-11-2011 / 15:28:42 / cg"
@@ -801,18 +802,21 @@
 
 !SettingsDialog methodsFor:'application list access'!
 
-addApplClass:aClass forApplication:anApplication label:aLabel expand:aBoolean
+addApplClass:aClassName forApplication:anApplication label:aLabel expand:aBoolean
     "add an application to the settingsTree, take the icon from the application classes defaultIcon method"
 
     | class |
 
-    class := Smalltalk classNamed:aClass.
+    class := Smalltalk classNamed:aClassName.
     class isNil ifTrue:[
-        ('SettingsDialog [warning]: can''t find ', aClass asString, ' to register') infoPrintCR.
+        ('SettingsDialog [warning]: can''t find ', aClassName asString, ' to register') infoPrintCR.
+        aClassName isString ifFalse:[
+            thisContext fullPrintAll.
+        ].
         ^ nil
     ].
     class autoload.
-    ^ self createItemForApplication:anApplication class:aClass label:aLabel icon:class defaultIcon expandParent:aBoolean replaceExisting:false
+    ^ self createItemForApplication:anApplication class:aClassName label:aLabel icon:class defaultIcon expandParent:aBoolean replaceExisting:false
 
     "Modified: / 14-02-2011 / 20:10:11 / cg"
 !
@@ -833,23 +837,26 @@
     ^ self addApplClass:aClass withName:aName icon:icon expand:false
 !
 
-addApplClass:aClass withName:aName icon:icon expand:doExpand
+addApplClass:aClassName withName:aName icon:icon expand:doExpand
     |applicationLabel locIcon locClass|
 
 "/    (self applicationNames includes:aName) ifTrue:[
 "/        ^ self getItemForName:aName.
 "/    ].
     
-    aClass isNil ifTrue:[ 
+    aClassName isNil ifTrue:[ 
         self addIcon:icon forCategory:aName.
         ^ self 
     ].
     self addCategoriesFor:aName.
 
     locIcon := icon.
-    locClass := Smalltalk classNamed:aClass.
+    locClass := Smalltalk classNamed:aClassName.
     locClass isNil ifTrue:[
-        ('SettingsDialog [warning]: can''t find ', aClass asString, ' to register') infoPrintCR.
+        ('SettingsDialog [warning]: can''t find ', aClassName asString, ' to register') infoPrintCR.
+        aClassName isString ifFalse:[
+            thisContext fullPrintAll.
+        ].
         ^ nil
     ].
     locClass autoload.
@@ -1965,11 +1972,11 @@
 !SettingsDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.125 2015-02-21 01:48:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.126 2015-02-21 14:16:53 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.125 2015-02-21 01:48:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.126 2015-02-21 14:16:53 cg Exp $'
 ! !