Tools__ProjectDefinitionEditor.st
changeset 2121 ef8750cd1bab
parent 2111 fd5f44a752ee
child 2128 b64b5a143005
equal deleted inserted replaced
2120:270de066caa1 2121:ef8750cd1bab
     8 		fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder
     8 		fileMajorVersionNrHolder minorVersionNrHolder iconFileNameHolder
     9 		fileReleaseNrHolder productNameHolder majorVersionNrHolder
     9 		fileReleaseNrHolder productNameHolder majorVersionNrHolder
    10 		fileRevisionNrHolder fileDescriptionHolder releaseNrHolder
    10 		fileRevisionNrHolder fileDescriptionHolder releaseNrHolder
    11 		fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder
    11 		fileMinorVersionNrHolder descriptionHolder legalCopyrightHolder
    12 		isApplicationDefinitionHolder isNonGUIApplicationHolder
    12 		isApplicationDefinitionHolder isNonGUIApplicationHolder
    13 		startSinglethreadedHolder hasConsoleHolder startupClassNameHolder
    13 		startSinglethreadedHolder hasConsoleHolder shownHasConsoleHolder
    14 		startupSelectorHolder prerequisitesList classListHolder
    14 		startupClassNameHolder startupSelectorHolder prerequisitesList
    15 		extensionsListHolder prerequisitesListHolder'
    15 		classListHolder extensionsListHolder prerequisitesListHolder
       
    16 		documentExtensionsListStringHolder stcOptimizationFlagsHolder
       
    17 		ccOptimizationFlagsHolder'
    16 	classVariableNames:''
    18 	classVariableNames:''
    17 	poolDictionaries:''
    19 	poolDictionaries:''
    18 	category:'Interface-Tools'
    20 	category:'Interface-Tools'
    19 !
    21 !
    20 
    22 
    68 								[exBegin]
    70 								[exBegin]
    69     (ProjectDefinitionEditor new
    71     (ProjectDefinitionEditor new
    70 	definitionClass:bosch_dapasx_application) open
    72 	definitionClass:bosch_dapasx_application) open
    71 								[exEnd]
    73 								[exEnd]
    72 "
    74 "
       
    75 ! !
       
    76 
       
    77 !ProjectDefinitionEditor class methodsFor:'help specs'!
       
    78 
       
    79 flyByHelpSpec
       
    80     "This resource specification was automatically generated
       
    81      by the UIHelpTool of ST/X."
       
    82 
       
    83     "Do not manually edit this!! If it is corrupted,
       
    84      the UIHelpTool may not be able to read the specification."
       
    85 
       
    86     "
       
    87      UIHelpTool openOnClass:Tools::ProjectDefinitionEditor    
       
    88     "
       
    89 
       
    90     <resource: #help>
       
    91 
       
    92     ^ super flyByHelpSpec addPairsFrom:#(
       
    93 
       
    94 #documentExtensions
       
    95 '";"-separated list of file extensions'
       
    96 
       
    97 )
       
    98 
       
    99     "Created: / 15-10-2006 / 14:34:57 / cg"
       
   100 !
       
   101 
       
   102 helpSpec
       
   103     "This resource specification was automatically generated
       
   104      by the UIHelpTool of ST/X."
       
   105 
       
   106     "Do not manually edit this!! If it is corrupted,
       
   107      the UIHelpTool may not be able to read the specification."
       
   108 
       
   109     "
       
   110      UIHelpTool openOnClass:Tools::ProjectDefinitionEditor    
       
   111     "
       
   112 
       
   113     <resource: #help>
       
   114 
       
   115     ^ super helpSpec addPairsFrom:#(
       
   116 
       
   117 #documentExtensions
       
   118 '";"-separated list of file extensions'
       
   119 
       
   120 )
    73 ! !
   121 ! !
    74 
   122 
    75 !ProjectDefinitionEditor class methodsFor:'interface specs'!
   123 !ProjectDefinitionEditor class methodsFor:'interface specs'!
    76 
   124 
    77 classesSpec
   125 classesSpec
   131      Tools::ProjectDefinitionEditor new openInterface:#compilationSpec
   179      Tools::ProjectDefinitionEditor new openInterface:#compilationSpec
   132     "
   180     "
   133 
   181 
   134     <resource: #canvas>
   182     <resource: #canvas>
   135 
   183 
   136     ^
   184     ^ 
   137      #(FullSpec
   185      #(FullSpec
   138 	name: compilationSpec
   186         name: compilationSpec
   139 	window:
   187         window: 
   140        (WindowSpec
   188        (WindowSpec
   141 	  label: 'NewApplication'
   189           label: 'NewApplication'
   142 	  name: 'NewApplication'
   190           name: 'NewApplication'
   143 	  min: (Point 0 0)
   191           min: (Point 0 0)
   144 	  bounds: (Rectangle 0 0 433 300)
   192           bounds: (Rectangle 0 0 433 300)
   145 	)
   193         )
   146 	component:
   194         component: 
   147        (SpecCollection
   195        (SpecCollection
   148 	  collection: (
   196           collection: (
   149 	   (FramedBoxSpec
   197            (FramedBoxSpec
   150 	      label: 'Optimization'
   198               label: 'Optimization'
   151 	      name: 'FramedBox1'
   199               name: 'FramedBox1'
   152 	      layout: (LayoutFrame 0 0 0 0 0 1 93 0)
   200               layout: (LayoutFrame 0 0 0 0 0 1 93 0)
   153 	      labelPosition: topLeft
   201               labelPosition: topLeft
   154 	      translateLabel: true
   202               translateLabel: true
   155 	      component:
   203               component: 
   156 	     (SpecCollection
   204              (SpecCollection
   157 		collection: (
   205                 collection: (
   158 		 (LabelSpec
   206                  (LabelSpec
   159 		    label: 'STC Optimization Flags:'
   207                     label: 'STC Optimization Flags:'
   160 		    name: 'Label1'
   208                     name: 'Label1'
   161 		    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
   209                     layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
   162 		    translateLabel: true
   210                     translateLabel: true
   163 		    adjust: right
   211                     adjust: right
   164 		  )
   212                   )
   165 		 (InputFieldSpec
   213                  (ComboBoxSpec
   166 		    name: 'STCOptimizationFlagsEntryField'
   214                     name: 'STCOptimizationFlagsComboBox'
   167 		    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
   215                     layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
   168 		    model: stcOptimizationFlagsHolder
   216                     model: stcOptimizationFlagsHolder
   169 		    acceptOnReturn: true
   217                     acceptOnPointerLeave: false
   170 		    acceptOnTab: true
   218                     comboList: stcOptimizationFlagList
   171 		    acceptOnLostFocus: true
   219                     postBuildCallback: flagHolderBuilt:
   172 		    acceptOnPointerLeave: false
   220                   )
   173 		  )
   221                  (LabelSpec
   174 		 (LabelSpec
   222                     label: 'CC Optimization Flags:'
   175 		    label: 'CC Optimization Flags:'
   223                     name: 'Label2'
   176 		    name: 'Label2'
   224                     layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
   177 		    layout: (LayoutFrame 0 0.0 35 0 160 0 57 0)
   225                     translateLabel: true
   178 		    translateLabel: true
   226                     adjust: right
   179 		    adjust: right
   227                   )
   180 		  )
   228                  (ComboBoxSpec
   181 		 (InputFieldSpec
   229                     name: 'CCOptimizationFlagsComboBox'
   182 		    name: 'CCOptimizationFlagsEntryField'
   230                     layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
   183 		    layout: (LayoutFrame 162 0.0 33 0 0 1.0 55 0)
   231                     model: ccOptimizationFlagsHolder
   184 		    model: ccOptimizationFlagsHolder
   232                     acceptOnPointerLeave: false
   185 		    acceptOnReturn: true
   233                     comboList: ccOptimizationFlagList
   186 		    acceptOnTab: true
   234                     postBuildCallback: flagHolderBuilt:
   187 		    acceptOnLostFocus: true
   235                   )
   188 		    acceptOnPointerLeave: false
   236                  )
   189 		  )
   237                
   190 		 )
   238               )
   191 
   239             )
   192 	      )
   240            (FramedBoxSpec
   193 	    )
   241               label: 'Includes'
   194 	   (FramedBoxSpec
   242               name: 'FramedBox2'
   195 	      label: 'Includes'
   243               layout: (LayoutFrame 0 0 98 0 0 1 160 0)
   196 	      name: 'FramedBox2'
   244               labelPosition: topLeft
   197 	      layout: (LayoutFrame 0 0 98 0 0 1 160 0)
   245               translateLabel: true
   198 	      labelPosition: topLeft
   246               component: 
   199 	      translateLabel: true
   247              (SpecCollection
   200 	      component:
   248                 collection: (
   201 	     (SpecCollection
   249                  (LabelSpec
   202 		collection: (
   250                     label: 'Additional Includes:'
   203 		 (LabelSpec
   251                     name: 'Label3'
   204 		    label: 'Additional Includes:'
   252                     layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
   205 		    name: 'Label3'
   253                     translateLabel: true
   206 		    layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
   254                     adjust: right
   207 		    translateLabel: true
   255                   )
   208 		    adjust: right
   256                  (InputFieldSpec
   209 		  )
   257                     name: 'IncludeFlagsEntryField'
   210 		 (InputFieldSpec
   258                     layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
   211 		    name: 'IncludeFlagsEntryField'
   259                     model: includeFlagsHolder
   212 		    layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
   260                     acceptOnReturn: true
   213 		    model: includeFlagsHolder
   261                     acceptOnTab: true
   214 		    acceptOnReturn: true
   262                     acceptOnLostFocus: true
   215 		    acceptOnTab: true
   263                     acceptOnPointerLeave: false
   216 		    acceptOnLostFocus: true
   264                   )
   217 		    acceptOnPointerLeave: false
   265                  )
   218 		  )
   266                
   219 		 )
   267               )
   220 
   268             )
   221 	      )
   269            )
   222 	    )
   270          
   223 	   )
   271         )
   224 
       
   225 	)
       
   226       )
   272       )
   227 !
   273 !
   228 
   274 
   229 descriptionSpec
   275 descriptionSpec
   230     "This resource specification was automatically generated
   276     "This resource specification was automatically generated
   567         component: 
   613         component: 
   568        (SpecCollection
   614        (SpecCollection
   569           collection: (
   615           collection: (
   570            (FramedBoxSpec
   616            (FramedBoxSpec
   571               label: 'Startup'
   617               label: 'Startup'
   572               name: 'FramedBox1'
   618               name: 'StartupFrame'
   573               layout: (LayoutFrame 0 0 0 0 0 1 93 0)
   619               layout: (LayoutFrame 0 0 0 0 0 1 93 0)
   574               labelPosition: topLeft
   620               labelPosition: topLeft
   575               translateLabel: true
   621               translateLabel: true
   576               component: 
   622               component: 
   577              (SpecCollection
   623              (SpecCollection
   612                
   658                
   613               )
   659               )
   614             )
   660             )
   615            (FramedBoxSpec
   661            (FramedBoxSpec
   616               label: 'Execution'
   662               label: 'Execution'
   617               name: 'FramedBox2'
   663               name: 'ExecutionFrame'
   618               layout: (LayoutFrame 0 0 97 0 0 1 186 0)
   664               layout: (LayoutFrame 0 0 94 0 0 1 176 0)
   619               labelPosition: topLeft
   665               labelPosition: topLeft
   620               translateLabel: true
   666               translateLabel: true
   621               component: 
   667               component: 
   622              (SpecCollection
   668              (SpecCollection
   623                 collection: (
   669                 collection: (
   639                  (CheckBoxSpec
   685                  (CheckBoxSpec
   640                     label: 'Has Console'
   686                     label: 'Has Console'
   641                     name: 'HasConsoleCheckBox1'
   687                     name: 'HasConsoleCheckBox1'
   642                     layout: (LayoutFrame 0 0.5 34 0 0 1 56 0)
   688                     layout: (LayoutFrame 0 0.5 34 0 0 1 56 0)
   643                     enableChannel: isGUIApplicationHolder
   689                     enableChannel: isGUIApplicationHolder
   644                     model: hasConsoleHolder
   690                     model: shownHasConsoleHolder
   645                     translateLabel: true
   691                     translateLabel: true
       
   692                   )
       
   693                  )
       
   694                
       
   695               )
       
   696             )
       
   697            (FramedBoxSpec
       
   698               label: 'File Extensions'
       
   699               name: 'FileExtensionsFrame'
       
   700               layout: (LayoutFrame 0 0 177 0 0 1 237 0)
       
   701               labelPosition: topLeft
       
   702               translateLabel: true
       
   703               component: 
       
   704              (SpecCollection
       
   705                 collection: (
       
   706                  (LabelSpec
       
   707                     label: 'Document Extensions:'
       
   708                     name: 'Label3'
       
   709                     layout: (LayoutFrame 0 0.0 7 0 160 0 29 0)
       
   710                     activeHelpKey: documentExtensions
       
   711                     translateLabel: true
       
   712                     adjust: right
       
   713                   )
       
   714                  (InputFieldSpec
       
   715                     activeHelpKey: documentExtensions
       
   716                     name: 'EntryField1'
       
   717                     layout: (LayoutFrame 162 0.0 5 0 0 1.0 27 0)
       
   718                     model: documentExtensionsListStringHolder
       
   719                     type: string
       
   720                     acceptOnReturn: true
       
   721                     acceptOnTab: true
       
   722                     acceptOnLostFocus: true
       
   723                     acceptOnPointerLeave: false
   646                   )
   724                   )
   647                  )
   725                  )
   648                
   726                
   649               )
   727               )
   650             )
   728             )
   651            )
   729            )
   652          
   730          
   653         )
   731         )
   654       )
   732       )
       
   733 
       
   734     "Modified: / 15-10-2006 / 14:35:12 / cg"
   655 !
   735 !
   656 
   736 
   657 windowSpec
   737 windowSpec
   658     "This resource specification was automatically generated
   738     "This resource specification was automatically generated
   659      by the UIPainter of ST/X."
   739      by the UIPainter of ST/X."
   903 
   983 
   904     <resource: #menu>
   984     <resource: #menu>
   905 
   985 
   906     ^
   986     ^
   907      #(Menu
   987      #(Menu
   908 	(
   988         (
   909 	 (MenuItem
   989          (MenuItem
   910 	    label: 'File'
   990             label: 'File'
   911 	    translateLabel: true
   991             translateLabel: true
   912 	    submenu:
   992             submenu:
   913 	   (Menu
   993            (Menu
   914 	      (
   994               (
   915 	       (MenuItem
   995                (MenuItem
   916 		  label: 'New'
   996                   label: 'New Library'
   917 		  itemValue: menuNew
   997                   itemValue: menuNewLibraryDefinition
   918 		  translateLabel: true
   998                   translateLabel: true
   919 		)
   999                 )
   920 	       (MenuItem
  1000                (MenuItem
   921 		  label: '-'
  1001                   label: 'New Application'
   922 		)
  1002                   itemValue: menuNewApplicationDefinition
   923 	       (MenuItem
  1003                   translateLabel: true
   924 		  label: 'Open...'
  1004                 )
   925 		  itemValue: menuOpen
  1005                (MenuItem
   926 		  translateLabel: true
  1006                   label: '-'
   927 		)
  1007                 )
   928 	       (MenuItem
  1008                (MenuItem
   929 		  label: '-'
  1009                   label: 'Open...'
   930 		)
  1010                   itemValue: menuOpen
   931 	       (MenuItem
  1011                   translateLabel: true
   932 		  enabled: hasDefinitionClassHolder
  1012                 )
   933 		  label: 'Save'
  1013                (MenuItem
   934 		  itemValue: menuSave
  1014                   label: '-'
   935 		  translateLabel: true
  1015                 )
   936 		)
  1016                (MenuItem
   937 	       (MenuItem
  1017                   enabled: hasDefinitionClassHolder
   938 		  enabled: hasDefinitionClassHolder
  1018                   label: 'Save'
   939 		  label: 'Save As...'
  1019                   itemValue: menuSave
   940 		  itemValue: menuSaveAs
  1020                   translateLabel: true
   941 		  translateLabel: true
  1021                 )
   942 		)
  1022                (MenuItem
   943 	       (MenuItem
  1023                   enabled: hasDefinitionClassHolder
   944 		  label: '-'
  1024                   label: 'Save As...'
   945 		)
  1025                   itemValue: menuSaveAs
   946 	       (MenuItem
  1026                   translateLabel: true
   947 		  label: 'Exit'
  1027                 )
   948 		  itemValue: closeRequest
  1028                (MenuItem
   949 		  translateLabel: true
  1029                   label: '-'
   950 		)
  1030                 )
   951 	       )
  1031                (MenuItem
   952 	      nil
  1032                   label: 'Exit'
   953 	      nil
  1033                   itemValue: closeRequest
   954 	    )
  1034                   translateLabel: true
   955 	  )
  1035                 )
   956 	 (MenuItem
  1036                )
   957 	    label: 'Definition'
  1037               nil
   958 	    translateLabel: true
  1038               nil
   959 	    submenu:
  1039             )
   960 	   (Menu
  1040           )
   961 	      (
  1041          (MenuItem
   962 	       (MenuItem
  1042             label: 'Definition'
   963 		  enabled: hasDefinitionClassHolder
  1043             translateLabel: true
   964 		  label: 'Generate Definitions'
  1044             submenu:
   965 		  itemValue: menuGenerateProjectDefinitions
  1045            (Menu
   966 		  translateLabel: true
  1046               (
   967 		)
  1047                (MenuItem
   968 	       )
  1048                   enabled: hasDefinitionClassHolder
   969 	      nil
  1049                   label: 'Generate Definitions'
   970 	      nil
  1050                   itemValue: menuGenerateProjectDefinitions
   971 	    )
  1051                   translateLabel: true
   972 	  )
  1052                 )
   973 	 (MenuItem
  1053                )
   974 	    label: 'Classes'
  1054               nil
   975 	    translateLabel: true
  1055               nil
   976 	    isVisible: classesMenuVisibleHolder
  1056             )
   977 	    submenuChannel: classListMenu
  1057           )
   978 	    keepLinkedMenu: true
  1058          (MenuItem
   979 	  )
  1059             label: 'Classes'
   980 	 (MenuItem
  1060             translateLabel: true
   981 	    label: 'Extensions'
  1061             isVisible: classesMenuVisibleHolder
   982 	    translateLabel: true
  1062             submenuChannel: classListMenu
   983 	    isVisible: extensionsMenuVisibleHolder
  1063             keepLinkedMenu: true
   984 	    submenuChannel: extensionsListMenu
  1064           )
   985 	    keepLinkedMenu: true
  1065          (MenuItem
   986 	  )
  1066             label: 'Extensions'
   987 	 (MenuItem
  1067             translateLabel: true
   988 	    label: 'Prerequisites'
  1068             isVisible: extensionsMenuVisibleHolder
   989 	    translateLabel: true
  1069             submenuChannel: extensionsListMenu
   990 	    isVisible: prerequisitesMenuVisibleHolder
  1070             keepLinkedMenu: true
   991 	    submenuChannel: prerequisitesListMenu
  1071           )
   992 	    keepLinkedMenu: true
  1072          (MenuItem
   993 	  )
  1073             label: 'Prerequisites'
   994 	 (MenuItem
  1074             translateLabel: true
   995 	    label: 'Help'
  1075             isVisible: prerequisitesMenuVisibleHolder
   996 	    translateLabel: true
  1076             submenuChannel: prerequisitesListMenu
   997 	    startGroup: right
  1077             keepLinkedMenu: true
   998 	    submenu:
  1078           )
   999 	   (Menu
  1079          (MenuItem
  1000 	      (
  1080             label: 'Help'
  1001 	       (MenuItem
  1081             translateLabel: true
  1002 		  label: 'Documentation'
  1082             startGroup: right
  1003 		  itemValue: openDocumentation
  1083             submenu:
  1004 		  translateLabel: true
  1084            (Menu
  1005 		)
  1085               (
  1006 	       (MenuItem
  1086                (MenuItem
  1007 		  label: '-'
  1087                   label: 'Documentation'
  1008 		)
  1088                   itemValue: openDocumentation
  1009 	       (MenuItem
  1089                   translateLabel: true
  1010 		  label: 'About this Application...'
  1090                 )
  1011 		  itemValue: openAboutThisApplication
  1091                (MenuItem
  1012 		  translateLabel: true
  1092                   label: '-'
  1013 		)
  1093                 )
  1014 	       )
  1094                (MenuItem
  1015 	      nil
  1095                   label: 'About this Application...'
  1016 	      nil
  1096                   itemValue: openAboutThisApplication
  1017 	    )
  1097                   translateLabel: true
  1018 	  )
  1098                 )
  1019 	 )
  1099                )
  1020 	nil
  1100               nil
  1021 	nil
  1101               nil
       
  1102             )
       
  1103           )
       
  1104          )
       
  1105         nil
       
  1106         nil
  1022       )
  1107       )
       
  1108 
       
  1109     "Modified: / 15-10-2006 / 14:52:43 / cg"
  1023 !
  1110 !
  1024 
  1111 
  1025 prerequisitesListMenu
  1112 prerequisitesListMenu
  1026     "This resource specification was automatically generated
  1113     "This resource specification was automatically generated
  1027      by the MenuEditor of ST/X."
  1114      by the MenuEditor of ST/X."
  1193     "Created: / 06-09-2006 / 19:24:10 / cg"
  1280     "Created: / 06-09-2006 / 19:24:10 / cg"
  1194 ! !
  1281 ! !
  1195 
  1282 
  1196 !ProjectDefinitionEditor methodsFor:'aspects'!
  1283 !ProjectDefinitionEditor methodsFor:'aspects'!
  1197 
  1284 
       
  1285 ccOptimizationFlagList
       
  1286     ^ #(
       
  1287         '-O'
       
  1288         '-g'
       
  1289     )
       
  1290 
       
  1291     "Created: / 15-10-2006 / 15:14:39 / cg"
       
  1292 !
       
  1293 
       
  1294 ccOptimizationFlagsHolder
       
  1295     ccOptimizationFlagsHolder isNil ifTrue:[
       
  1296         ccOptimizationFlagsHolder := ValueHolder new.
       
  1297     ].
       
  1298     ^ ccOptimizationFlagsHolder
       
  1299 
       
  1300     "Created: / 15-10-2006 / 15:13:14 / cg"
       
  1301 !
       
  1302 
  1198 classListHolder
  1303 classListHolder
  1199     classListHolder isNil ifTrue:[
  1304     classListHolder isNil ifTrue:[
  1200 	classListHolder := #() asValue.
  1305 	classListHolder := #() asValue.
  1201     ].
  1306     ].
  1202     ^ classListHolder.
  1307     ^ classListHolder.
  1227 	descriptionHolder := ValueHolder new.
  1332 	descriptionHolder := ValueHolder new.
  1228     ].
  1333     ].
  1229     ^ descriptionHolder.
  1334     ^ descriptionHolder.
  1230 
  1335 
  1231     "Modified: / 04-09-2006 / 17:58:15 / cg"
  1336     "Modified: / 04-09-2006 / 17:58:15 / cg"
       
  1337 !
       
  1338 
       
  1339 documentExtensionsListStringHolder
       
  1340     documentExtensionsListStringHolder isNil ifTrue:[
       
  1341         documentExtensionsListStringHolder := '' asValue.
       
  1342     ].
       
  1343     ^ documentExtensionsListStringHolder.
       
  1344 
       
  1345     "Created: / 15-10-2006 / 14:32:29 / cg"
  1232 !
  1346 !
  1233 
  1347 
  1234 extensionsListHolder
  1348 extensionsListHolder
  1235     extensionsListHolder isNil ifTrue:[
  1349     extensionsListHolder isNil ifTrue:[
  1236 	extensionsListHolder := #() asValue.
  1350 	extensionsListHolder := #() asValue.
  1367     "Created: / 20-09-2006 / 14:38:32 / cg"
  1481     "Created: / 20-09-2006 / 14:38:32 / cg"
  1368 !
  1482 !
  1369 
  1483 
  1370 isNonGUIApplicationHolder
  1484 isNonGUIApplicationHolder
  1371     isNonGUIApplicationHolder isNil ifTrue:[
  1485     isNonGUIApplicationHolder isNil ifTrue:[
  1372 	isNonGUIApplicationHolder := false asValue.
  1486         isNonGUIApplicationHolder := false asValue.
       
  1487         isNonGUIApplicationHolder addDependent:self.
  1373     ].
  1488     ].
  1374     ^ isNonGUIApplicationHolder.
  1489     ^ isNonGUIApplicationHolder.
  1375 
  1490 
  1376     "Created: / 05-09-2006 / 13:34:31 / cg"
  1491     "Created: / 05-09-2006 / 13:34:31 / cg"
       
  1492     "Modified: / 15-10-2006 / 14:00:03 / cg"
  1377 !
  1493 !
  1378 
  1494 
  1379 legalCopyrightHolder
  1495 legalCopyrightHolder
  1380     "automatically generated by UIPainter ..."
  1496     "automatically generated by UIPainter ..."
  1381 
  1497 
  1502 "/       selectedClassIndexHolder onChangeSend:#selectedClassIndexHolderChanged to:self.
  1618 "/       selectedClassIndexHolder onChangeSend:#selectedClassIndexHolderChanged to:self.
  1503     ].
  1619     ].
  1504     ^ selectedClassIndexHolder.
  1620     ^ selectedClassIndexHolder.
  1505 !
  1621 !
  1506 
  1622 
       
  1623 shownHasConsoleHolder
       
  1624     shownHasConsoleHolder isNil ifTrue:[
       
  1625         shownHasConsoleHolder := IndirectValue for:self hasConsoleHolder.
       
  1626     ].
       
  1627     ^ shownHasConsoleHolder
       
  1628 
       
  1629     "Created: / 15-10-2006 / 13:59:01 / cg"
       
  1630 !
       
  1631 
       
  1632 shownHasConsoleValue
       
  1633     ^ BlockValue 
       
  1634         with:[:m1 :m2 | self isGUIApplicationHolder value not
       
  1635                         or:[ self hasConsoleHolder value] ]
       
  1636         argument:(self hasConsoleHolder)
       
  1637         argument:(self isGUIApplicationHolder).
       
  1638 
       
  1639     "Created: / 15-10-2006 / 13:54:16 / cg"
       
  1640 !
       
  1641 
  1507 startSinglethreadedHolder
  1642 startSinglethreadedHolder
  1508     startSinglethreadedHolder isNil ifTrue:[
  1643     startSinglethreadedHolder isNil ifTrue:[
  1509 	startSinglethreadedHolder := false asValue.
  1644 	startSinglethreadedHolder := false asValue.
  1510     ].
  1645     ].
  1511     ^ startSinglethreadedHolder.
  1646     ^ startSinglethreadedHolder.
  1527 	startupSelectorHolder := '' asValue.
  1662 	startupSelectorHolder := '' asValue.
  1528     ].
  1663     ].
  1529     ^ startupSelectorHolder.
  1664     ^ startupSelectorHolder.
  1530 
  1665 
  1531     "Created: / 05-09-2006 / 13:34:20 / cg"
  1666     "Created: / 05-09-2006 / 13:34:20 / cg"
       
  1667 !
       
  1668 
       
  1669 stcOptimizationFlagList
       
  1670     ^ #(
       
  1671         '+optSpace'
       
  1672         '+optSpace2'
       
  1673         '+optSpace3'
       
  1674         '+optInline'
       
  1675         '-optInline'
       
  1676         '-inlineNew'
       
  1677         '-inlineNot'
       
  1678     )
       
  1679 
       
  1680     "Created: / 15-10-2006 / 15:14:29 / cg"
       
  1681 !
       
  1682 
       
  1683 stcOptimizationFlagsHolder
       
  1684     stcOptimizationFlagsHolder isNil ifTrue:[
       
  1685         stcOptimizationFlagsHolder := ValueHolder new.
       
  1686     ].
       
  1687     ^ stcOptimizationFlagsHolder
       
  1688 
       
  1689     "Modified: / 15-10-2006 / 15:13:10 / cg"
  1532 !
  1690 !
  1533 
  1691 
  1534 tabList
  1692 tabList
  1535     "Generated by the TabListEditor"
  1693     "Generated by the TabListEditor"
  1536 
  1694 
  1669         self startupClassNameHolder value:startupClassName.
  1827         self startupClassNameHolder value:startupClassName.
  1670         self startupSelectorHolder value:startupSelector.
  1828         self startupSelectorHolder value:startupSelector.
  1671 
  1829 
  1672         self iconFileNameHolder value:(definitionClass iconFileName).
  1830         self iconFileNameHolder value:(definitionClass iconFileName).
  1673         self tabList value:(self class tabListForApplication).
  1831         self tabList value:(self class tabListForApplication).
       
  1832         self documentExtensionsListStringHolder value:(definitionClass documentExtensions asStringWith:';').
  1674     ] ifFalse:[
  1833     ] ifFalse:[
  1675         self tabList value:(self class tabListForLibrary).
  1834         self tabList value:(self class tabListForLibrary).
  1676     ].
  1835     ].
  1677 
  1836 
  1678     self companyNameHolder value:(definitionClass companyName).
  1837     self companyNameHolder value:(definitionClass companyName).
  1701                     ifFalse:'Library' )
  1860                     ifFalse:'Library' )
  1702                         , ' Definition: ',definitionClass name.
  1861                         , ' Definition: ',definitionClass name.
  1703     ].
  1862     ].
  1704 
  1863 
  1705     "Created: / 04-09-2006 / 16:34:39 / cg"
  1864     "Created: / 04-09-2006 / 16:34:39 / cg"
  1706     "Modified: / 04-10-2006 / 21:19:19 / cg"
  1865     "Modified: / 15-10-2006 / 14:32:45 / cg"
  1707 !
  1866 !
  1708 
  1867 
  1709 refetchDefinitionValues
  1868 refetchDefinitionValues
  1710     self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ).
  1869     self isApplicationDefinitionHolder value:( definitionClass isApplicationDefinition ).
  1711     self fetchValues.
  1870     self fetchValues.
  1713     "Created: / 07-09-2006 / 12:26:54 / cg"
  1872     "Created: / 07-09-2006 / 12:26:54 / cg"
  1714 !
  1873 !
  1715 
  1874 
  1716 update:something with:parameter from:changedObject
  1875 update:something with:parameter from:changedObject
  1717     changedObject == self selectedTabIndexHolder ifTrue:[
  1876     changedObject == self selectedTabIndexHolder ifTrue:[
  1718 	self updateMenuVisibility.
  1877         self updateMenuVisibility.
  1719 	^ self.
  1878         ^ self.
       
  1879     ].
       
  1880     changedObject == self isNonGUIApplicationHolder ifTrue:[
       
  1881         changedObject value ifTrue:[
       
  1882             "/ a NON-GUI application - always has a console
       
  1883             self shownHasConsoleHolder valueHolder:true
       
  1884         ] ifFalse:[
       
  1885             "/ a GUI application - sometimes has a console
       
  1886             self shownHasConsoleHolder valueHolder:(self hasConsoleHolder)
       
  1887         ].
       
  1888         ^ self.
  1720     ].
  1889     ].
  1721     ^ super update:something with:parameter from:changedObject
  1890     ^ super update:something with:parameter from:changedObject
  1722 
  1891 
  1723     "Created: / 03-09-2006 / 10:59:42 / cg"
  1892     "Created: / 03-09-2006 / 10:59:42 / cg"
       
  1893     "Modified: / 15-10-2006 / 14:08:23 / cg"
  1724 !
  1894 !
  1725 
  1895 
  1726 updateMenuVisibility
  1896 updateMenuVisibility
  1727     self classesMenuVisibleHolder value:(self hasClassesTabSelected).
  1897     self classesMenuVisibleHolder value:(self hasClassesTabSelected).
  1728     self extensionsMenuVisibleHolder value:(self hasExtensionsTabSelected).
  1898     self extensionsMenuVisibleHolder value:(self hasExtensionsTabSelected).
  1744     ^ super closeRequest
  1914     ^ super closeRequest
  1745 
  1915 
  1746     "Modified: / 03-09-2006 / 10:53:14 / cg"
  1916     "Modified: / 03-09-2006 / 10:53:14 / cg"
  1747 !
  1917 !
  1748 
  1918 
       
  1919 flagHolderBuilt:aComboBox
       
  1920     aComboBox menuSelectAction:[:txt |
       
  1921         self updateFlagsIn:aComboBox from:txt
       
  1922     ].
       
  1923 
       
  1924     "Created: / 15-10-2006 / 15:11:50 / cg"
       
  1925 !
       
  1926 
  1749 postBuildWith:aBuilder
  1927 postBuildWith:aBuilder
  1750     super postBuildWith:aBuilder.
  1928     super postBuildWith:aBuilder.
  1751     self selectedTabIndexHolder value:1.
  1929     self selectedTabIndexHolder value:1.
  1752     self updateMenuVisibility.
  1930     self updateMenuVisibility.
  1753     self fetchValues.
  1931     self fetchValues.
  1765 
  1943 
  1766     ^ super postOpenWith:aBuilder
  1944     ^ super postOpenWith:aBuilder
  1767 ! !
  1945 ! !
  1768 
  1946 
  1769 !ProjectDefinitionEditor methodsFor:'menu actions'!
  1947 !ProjectDefinitionEditor methodsFor:'menu actions'!
       
  1948 
       
  1949 editNew:definitionClass
       
  1950     |className class newPackage|
       
  1951 
       
  1952     self hasUnsavedChanges ifTrue:[
       
  1953         self halt.
       
  1954     ].
       
  1955     className := Dialog
       
  1956                     requestClassName:'Name of new Definition class'
       
  1957                     okLabel:'Create'
       
  1958                     initialAnswer:'private_myProject'.
       
  1959     className isEmptyOrNil ifTrue:[^ self].
       
  1960 
       
  1961     class := Smalltalk classNamed:className.
       
  1962     class notNil ifTrue:[
       
  1963         (class isLibraryDefinition == (definitionClass == LibraryDefinition)) ifFalse:[
       
  1964             Dialog warn:(resources
       
  1965                             string:'A class named "%1" already exists as %2.'
       
  1966                             with:className allBold
       
  1967                             with:(class isLibraryDefinition 
       
  1968                                     ifTrue:'Library'
       
  1969                                     ifFalse:'Application')).
       
  1970             ^ self
       
  1971         ].
       
  1972         Dialog warn:(resources
       
  1973                             string:'A class named "%1" already exists. Editing the existing definition.'
       
  1974                             with:className allBold).
       
  1975     ] ifFalse:[
       
  1976         newPackage := className copy replaceAll:$_ with:$/.
       
  1977         newPackage replaceAll:$/ with:$:. 
       
  1978         class := definitionClass newNamed:className package:newPackage.
       
  1979     ].
       
  1980     self definitionClass:class.
       
  1981 
       
  1982     "Created: / 15-10-2006 / 14:50:15 / cg"
       
  1983 !
  1770 
  1984 
  1771 menuGenerateProjectDefinitions
  1985 menuGenerateProjectDefinitions
  1772     |action|
  1986     |action|
  1773 
  1987 
  1774     action := [:generator :defClass |
  1988     action := [:generator :defClass |
  1803 
  2017 
  1804     "/ change below and add any actions as required here ...
  2018     "/ change below and add any actions as required here ...
  1805     self warn:'no action for ''new'' available.'.
  2019     self warn:'no action for ''new'' available.'.
  1806 !
  2020 !
  1807 
  2021 
       
  2022 menuNewApplicationDefinition
       
  2023     self editNew:ApplicationDefinition
       
  2024 
       
  2025     "Created: / 15-10-2006 / 14:49:53 / cg"
       
  2026 !
       
  2027 
       
  2028 menuNewLibraryDefinition
       
  2029     self editNew:LibraryDefinition
       
  2030 
       
  2031     "Created: / 15-10-2006 / 14:49:46 / cg"
       
  2032 !
       
  2033 
  1808 menuOpen
  2034 menuOpen
  1809     |projectID class answer|
  2035     |projectID class answer|
  1810 
  2036 
  1811     projectID := Dialog requestProject:'Project' initialAnswer:'' suggestions:nil.
  2037     projectID := Dialog requestProject:'Project' initialAnswer:'' suggestions:nil.
  1812     class := ProjectDefinition definitionClassForPackage:projectID.
  2038     class := ProjectDefinition definitionClassForPackage:projectID.
  1848 
  2074 
  1849 menuSaveAs
  2075 menuSaveAs
  1850     |className class newPackage|
  2076     |className class newPackage|
  1851 
  2077 
  1852     className := Dialog
  2078     className := Dialog
  1853 		    requestClassName:'Name of new Definition class'
  2079                     requestClassName:'Name of new Definition class'
  1854 		    okLabel:'Create'
  2080                     okLabel:'Create'
  1855 		    initialAnswer:'privete_myProject'.
  2081                     initialAnswer:'private_myProject'.
  1856     className isEmptyOrNil ifTrue:[^ self].
  2082     className isEmptyOrNil ifTrue:[^ self].
  1857     class := Smalltalk classNamed:className.
  2083     class := Smalltalk classNamed:className.
  1858     class notNil ifTrue:[
  2084     class notNil ifTrue:[
  1859 	Dialog warn:(resources
  2085         Dialog warn:(resources
  1860 			    string:'A class named %1 already exists'
  2086                             string:'A class named %1 already exists'
  1861 			    with:className).
  2087                             with:className).
  1862 	^ self.
  2088         ^ self.
  1863     ].
  2089     ].
  1864     newPackage := className copy replaceAll:$_ with:$/.
  2090     newPackage := className copy replaceAll:$_ with:$/.
  1865     newPackage replace:$/ with:$:.
  2091     newPackage replaceAll:$/ with:$:. 
  1866     class := ApplicationDefinition newNamed:className package:newPackage.
  2092     class := ApplicationDefinition newNamed:className package:newPackage.
  1867     self menuSaveAs:class.
  2093     self menuSaveAs:class.
  1868 
  2094 
  1869     "Modified: / 05-09-2006 / 16:20:16 / cg"
  2095     "Modified: / 15-10-2006 / 14:47:53 / cg"
  1870 !
  2096 !
  1871 
  2097 
  1872 menuSaveAs:aClassName
  2098 menuSaveAs:aClassName
  1873     self halt.
  2099     self halt.
  1874 
  2100 
  1893     HTMLDocumentView openFullOnDocumentationFile:'TOP.html'.
  2119     HTMLDocumentView openFullOnDocumentationFile:'TOP.html'.
  1894 
  2120 
  1895     "/ add application-specific help files under the 'doc/online/<language>/help/appName'
  2121     "/ add application-specific help files under the 'doc/online/<language>/help/appName'
  1896     "/ directory, and open a viewer with:
  2122     "/ directory, and open a viewer with:
  1897     "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
  2123     "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
       
  2124 !
       
  2125 
       
  2126 updateFlagsIn:aComboBox from:flag
       
  2127     |s flags base negation|
       
  2128 
       
  2129     s := aComboBox editor contents.
       
  2130     flags := s asCollectionOfWords.
       
  2131     (flags includes:flag) ifFalse:[
       
  2132         base := (flag copyFrom:2).
       
  2133         negation := (flag startsWith:'+') 
       
  2134                         ifTrue:[ ('-',base) ]
       
  2135                         ifFalse:[ ('+',base) ].
       
  2136         flags remove:negation ifAbsent:[].
       
  2137         flags add:flag.
       
  2138         aComboBox editor contents:(flags asStringWith:' ').
       
  2139     ].
       
  2140 
       
  2141     "Created: / 15-10-2006 / 15:35:53 / cg"
  1898 ! !
  2142 ! !
  1899 
  2143 
  1900 !ProjectDefinitionEditor methodsFor:'queries'!
  2144 !ProjectDefinitionEditor methodsFor:'queries'!
  1901 
  2145 
  1902 hasClassesTabSelected
  2146 hasClassesTabSelected