tab confusion
authorClaus Gittinger <cg@exept.de>
Wed, 06 Sep 2006 18:53:28 +0200
changeset 2079 43f28c0ce813
parent 2078 67cc88b7b310
child 2080 b76931b8e953
tab confusion
Tools__ProjectDefinitionEditor.st
--- a/Tools__ProjectDefinitionEditor.st	Tue Sep 05 18:46:36 2006 +0200
+++ b/Tools__ProjectDefinitionEditor.st	Wed Sep 06 18:53:28 2006 +0200
@@ -3,14 +3,14 @@
 "{ NameSpace: Tools }"
 
 ResourceSpecEditor subclass:#ProjectDefinitionEditor
-	instanceVariableNames:'definitionClass classList selectedClassIndexHolder
+	instanceVariableNames:'definitionClass classList extensionsList selectedClassIndexHolder
 		classesTableColumns revisionNrHolder companyNameHolder
 		fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder
 		fileReleaseNrHolder productNameHolder majorVersionNrHolder
 		fileRevisionNrHolder fileDescriptionHolder releaseNrHolder
 		fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder
 		isApplicationDefinitionHolder isNonGUIApplicationHolder
-		startSinglethreadedHolder startupClassHolder
+		startSinglethreadedHolder startupClassNameHolder
 		startupSelectorHolder'
 	classVariableNames:''
 	poolDictionaries:''
@@ -24,6 +24,13 @@
 	privateIn:ProjectDefinitionEditor
 !
 
+Object subclass:#ExtensionsListEntry
+	instanceVariableNames:'className selector'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:ProjectDefinitionEditor
+!
+
 !ProjectDefinitionEditor class methodsFor:'documentation'!
 
 documentation
@@ -567,7 +574,7 @@
                  (InputFieldSpec
                     name: 'StartupClassEntryField'
                     layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
-                    model: startupClassHolder
+                    model: startupClassNameHolder
                     acceptOnReturn: true
                     acceptOnTab: true
                     acceptOnLostFocus: true
@@ -625,6 +632,8 @@
          
         )
       )
+
+    "Modified: / 06-09-2006 / 18:41:56 / cg"
 !
 
 windowSpec
@@ -674,6 +683,12 @@
 
 !ProjectDefinitionEditor class methodsFor:'list specs'!
 
+tabList
+^ self  tabListForApplication.
+
+    "Created: / 06-09-2006 / 13:38:03 / cg"
+!
+
 tabListForApplication
     "This resource specification was automatically generated
      by the TabListEditor of ST/X."
@@ -689,6 +704,10 @@
 
     ^     #(
        (TabItem
+          label: 'Description'
+          minorKey: descriptionSpec
+        )
+       (TabItem
           label: 'Classes'
           createNewBuilder: false
           translateLabel: true
@@ -703,10 +722,6 @@
           minorKey: prerequisitesSpec
         )
        (TabItem
-          label: 'Description'
-          minorKey: descriptionSpec
-        )
-       (TabItem
           label: 'Compilation'
           minorKey: compilationSpec
         )
@@ -719,6 +734,7 @@
       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
 
     "Created: / 05-09-2006 / 16:24:48 / cg"
+    "Modified: / 06-09-2006 / 18:44:34 / cg"
 !
 
 tabListForLibrary
@@ -736,6 +752,10 @@
 
     ^     #(
        (TabItem
+          label: 'Description'
+          minorKey: descriptionSpec
+        )
+       (TabItem
           label: 'Classes'
           createNewBuilder: false
           translateLabel: true
@@ -750,22 +770,15 @@
           minorKey: prerequisitesSpec
         )
        (TabItem
-          label: 'Description'
-          minorKey: descriptionSpec
-        )
-       (TabItem
           label: 'Compilation'
           minorKey: compilationSpec
         )
-       (TabItem
-          label: 'Startup'
-          minorKey: startupSpec
-        )
        )
      
       collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]
 
     "Created: / 05-09-2006 / 16:24:52 / cg"
+    "Modified: / 06-09-2006 / 18:44:38 / cg"
 ! !
 
 !ProjectDefinitionEditor class methodsFor:'menu specs'!
@@ -1019,7 +1032,7 @@
      the DataSetBuilder may not be able to read the specification."
 
     "
-     DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#classesTableColumns
+     DataSetBuilder new openOnClass:Tools::ProjectDefinitionEditor andSelector:#classesTableColumns
     "
 
     <resource: #tableColumns>
@@ -1030,23 +1043,27 @@
          labelButtonType: Button
          rendererType: CheckToggle
          model: autoloaded
+         canSelect: false
        )
       (DataSetColumnSpec
          label: 'Win32'
          labelButtonType: Button
          rendererType: CheckToggle
          model: win32
+         canSelect: false
        )
       (DataSetColumnSpec
          label: 'Unix'
          labelButtonType: Button
          rendererType: CheckToggle
          model: unix
+         canSelect: false
        )
       (DataSetColumnSpec
          label: 'Class'
          labelButtonType: Button
          model: className
+         canSelect: false
        )
       )
     
@@ -1060,7 +1077,7 @@
      the DataSetBuilder may not be able to read the specification."
 
     "
-     DataSetBuilder new openOnClass:ApplicationDefinitionEditor andSelector:#extensionsTableColumns
+     DataSetBuilder new openOnClass:Tools::ProjectDefinitionEditor andSelector:#extensionsTableColumns
     "
 
     <resource: #tableColumns>
@@ -1070,11 +1087,13 @@
          label: 'Class'
          labelButtonType: Button
          model: className
+         canSelect: false
        )
       (DataSetColumnSpec
          label: 'Selector'
          labelButtonType: Button
          model: selector
+         canSelect: false
        )
       )
     
@@ -1157,6 +1176,15 @@
     "Modified: / 04-09-2006 / 17:58:15 / cg"
 !
 
+extensionsList
+    extensionsList isNil ifTrue:[
+        extensionsList := #() asValue.
+    ].
+    ^ extensionsList.
+
+    "Created: / 06-09-2006 / 18:47:54 / cg"
+!
+
 fileDescriptionHolder
     fileDescriptionHolder isNil ifTrue:[
         fileDescriptionHolder := ValueHolder new.
@@ -1406,13 +1434,13 @@
     "Created: / 05-09-2006 / 13:34:54 / cg"
 !
 
-startupClassHolder
-    startupClassHolder isNil ifTrue:[
-        startupClassHolder := '' asValue.
+startupClassNameHolder
+    startupClassNameHolder isNil ifTrue:[
+        startupClassNameHolder := '' asValue.
     ].
-    ^ startupClassHolder.
+    ^ startupClassNameHolder.
 
-    "Created: / 05-09-2006 / 13:34:08 / cg"
+    "Created: / 06-09-2006 / 18:41:52 / cg"
 !
 
 startupSelectorHolder
@@ -1434,7 +1462,7 @@
     ].
     ^ list
 
-    "Modified: / 05-09-2006 / 16:28:09 / cg"
+    "Modified: / 06-09-2006 / 17:58:08 / cg"
 ! !
 
 !ProjectDefinitionEditor methodsFor:'aspects-menu'!
@@ -1491,6 +1519,24 @@
     "Created: / 05-09-2006 / 12:31:26 / cg"
 !
 
+fetchExtensionsListEntries
+    |entries|
+
+    entries := OrderedCollection new.
+    definitionClass 
+        extensionMethodNames pairWiseDo:[:className :selector |
+            |entry|
+
+            entry := ExtensionsListEntry new.
+            entry className:className selector:selector.
+            entries add:entry.
+        ].
+
+    ^ entries.
+
+    "Created: / 06-09-2006 / 18:45:15 / cg"
+!
+
 fetchValues
     |definitionClass isApplicationDefinition|
 
@@ -1501,7 +1547,7 @@
 
     self isApplicationDefinitionHolder value:isApplicationDefinition.
     isApplicationDefinition ifTrue:[
-        self startupClassHolder value:(definitionClass startupClass).
+        self startupClassNameHolder value:(definitionClass startupClassName).
         self startupSelectorHolder value:(definitionClass startupSelector).
         self iconFileNameHolder value:(definitionClass iconFileName).
         self tabList value:(self class tabListForApplication).
@@ -1525,6 +1571,7 @@
     self fileReleaseNrHolder value:(definitionClass fileReleaseNr asInteger).
 
     self classList value:(self fetchClassListEntries).
+    self extensionsList value:(self fetchExtensionsListEntries).
 
     self window 
         label:(isApplicationDefinition 
@@ -1533,7 +1580,7 @@
                     , ' Definition: ',definitionClass name.
 
     "Created: / 04-09-2006 / 16:34:39 / cg"
-    "Modified: / 05-09-2006 / 16:26:45 / cg"
+    "Modified: / 06-09-2006 / 18:45:45 / cg"
 !
 
 update:something with:parameter from:changedObject
@@ -1735,6 +1782,21 @@
     win32 := something.
 ! !
 
+!ProjectDefinitionEditor::ExtensionsListEntry methodsFor:'accessing'!
+
+className
+    ^ className
+!
+
+className:classNameArg selector:selectorArg 
+    className := classNameArg.
+    selector := selectorArg.
+!
+
+selector
+    ^ selector
+! !
+
 !ProjectDefinitionEditor class methodsFor:'documentation'!
 
 version