NewSystemBrowser.st
changeset 6050 300b21c10c71
parent 6049 52a035d239a6
child 6053 d6802f302d78
equal deleted inserted replaced
6049:52a035d239a6 6050:300b21c10c71
  5397                   label: 'Application'
  5397                   label: 'Application'
  5398                   itemValue: classMenuNewApplication
  5398                   itemValue: classMenuNewApplication
  5399                   translateLabel: true
  5399                   translateLabel: true
  5400                 )
  5400                 )
  5401                (MenuItem
  5401                (MenuItem
       
  5402                   label: 'WebApplication'
       
  5403                   itemValue: classMenuNewWebApplication
       
  5404                   translateLabel: true
       
  5405                 )
       
  5406                (MenuItem
  5402                   label: 'Dialog'
  5407                   label: 'Dialog'
  5403                   itemValue: classMenuNewDialog
  5408                   itemValue: classMenuNewDialog
  5404                   translateLabel: true
  5409                   translateLabel: true
  5405                 )
  5410                 )
  5406                (MenuItem
  5411                (MenuItem
  5690                   label: 'Initialized Instance Creation'
  5695                   label: 'Initialized Instance Creation'
  5691                   itemValue: classMenuGenerateStandardInitializationMethods
  5696                   itemValue: classMenuGenerateStandardInitializationMethods
  5692                   translateLabel: true
  5697                   translateLabel: true
  5693                 )
  5698                 )
  5694                (MenuItem
  5699                (MenuItem
  5695                   enabled: hasApplicationClassSelectedHolder
  5700                   enabled: hasApplicationOrHTTPServiceClassSelectedHolder
  5696                   label: 'Application Code'
  5701                   label: 'Application Code'
  5697                   itemValue: classMenuGenerateApplicationCode
  5702                   itemValue: classMenuGenerateApplicationCode
  5698                   translateLabel: true
  5703                   translateLabel: true
  5699                 )
  5704                 )
  5700                (MenuItem
  5705                (MenuItem
 11268     ^ [ self hasApplicationClassSelected ]
 11273     ^ [ self hasApplicationClassSelected ]
 11269 
 11274 
 11270     "Created: / 4.2.2000 / 22:02:53 / cg"
 11275     "Created: / 4.2.2000 / 22:02:53 / cg"
 11271 !
 11276 !
 11272 
 11277 
       
 11278 hasApplicationOrHTTPServiceClassSelectedHolder
       
 11279     ^ [ self hasApplicationClassSelected 
       
 11280         | self hasWebApplicationClassSelected]
       
 11281 
       
 11282     "Created: / 4.2.2000 / 22:02:53 / cg"
       
 11283 !
       
 11284 
 11273 hasAtMostOneClassesSelected
 11285 hasAtMostOneClassesSelected
 11274     ^ self selectedClasses value size <= 1
 11286     ^ self selectedClasses value size <= 1
 11275 !
 11287 !
 11276 
 11288 
 11277 hasAtMostOneClassesSelectedHolder
 11289 hasAtMostOneClassesSelectedHolder
 12478 !
 12490 !
 12479 
 12491 
 12480 hasVisitedClassesHolder
 12492 hasVisitedClassesHolder
 12481     ^ [ self hasVisitedClasses ]
 12493     ^ [ self hasVisitedClasses ]
 12482 
 12494 
       
 12495 !
       
 12496 
       
 12497 hasWebApplicationClassSelected
       
 12498     |selectedClasses|
       
 12499 
       
 12500     selectedClasses := self selectedClasses value.
       
 12501     selectedClasses size == 0 ifTrue:[^ false].
       
 12502     ^ selectedClasses conform:[:each | each theNonMetaclass isSubclassOf:HTTPService].
 12483 !
 12503 !
 12484 
 12504 
 12485 haskellModulePresent
 12505 haskellModulePresent
 12486     ^ HaskellModule notNil and:[HaskellParser notNil]
 12506     ^ HaskellModule notNil and:[HaskellParser notNil]
 12487 !
 12507 !
 16811     "create application code methods"
 16831     "create application code methods"
 16812 
 16832 
 16813     self 
 16833     self 
 16814         generateUndoableChangeOverSelectedClasses:'Generate ApplicationCode in %(singleClassNameOrNumberOfClasses)' 
 16834         generateUndoableChangeOverSelectedClasses:'Generate ApplicationCode in %(singleClassNameOrNumberOfClasses)' 
 16815         via:[:generator :eachClass |
 16835         via:[:generator :eachClass |
 16816             generator createApplicationCodeFor:eachClass theNonMetaclass 
 16836             |cls|
       
 16837 
       
 16838             cls := eachClass theNonMetaclass.
       
 16839             (cls isSubclassOf:HTTPService) ifTrue:[
       
 16840                 generator createWebApplicationCodeFor:cls.
       
 16841             ] ifFalse:[
       
 16842                 generator createApplicationCodeFor:cls 
       
 16843             ]
 16817         ]
 16844         ]
 16818 !
 16845 !
 16819 
 16846 
 16820 classMenuGenerateClassTypeTestMethods
 16847 classMenuGenerateClassTypeTestMethods
 16821     "create isXXX test- methods here and in subclasses"
 16848     "create isXXX test- methods here and in subclasses"
 17463         in:(self theSingleSelectedCategory ? 'TestCases') 
 17490         in:(self theSingleSelectedCategory ? 'TestCases') 
 17464         asNamespace:false 
 17491         asNamespace:false 
 17465         private:false.
 17492         private:false.
 17466 
 17493 
 17467     self codeAspect:#newTestCase.
 17494     self codeAspect:#newTestCase.
       
 17495 !
       
 17496 
       
 17497 classMenuNewWebApplication
       
 17498     "create a class-definition prototype for a web application"
       
 17499 
       
 17500     self 
       
 17501         classClassDefinitionTemplateFor:HTTPActionService 
       
 17502         in:(self theSingleSelectedCategory ? 'WebApplications') 
       
 17503         asNamespace:false 
       
 17504         private:false.
       
 17505 
       
 17506     self codeAspect:#newWebApplication.
 17468 !
 17507 !
 17469 
 17508 
 17470 classMenuPrimitiveCode:aspect
 17509 classMenuPrimitiveCode:aspect
 17471     "show the classes primitiveFunction in the codeView.
 17510     "show the classes primitiveFunction in the codeView.
 17472      Also, set accept action to change it."
 17511      Also, set accept action to change it."
 35529         ]
 35568         ]
 35530     ].
 35569     ].
 35531     ^ returnValue.
 35570     ^ returnValue.
 35532 !
 35571 !
 35533 
 35572 
       
 35573 askForInitialApplicationCodeFor:aClass
       
 35574     |cls mcls codeAspect msg|
       
 35575 
       
 35576     cls := aClass theNonMetaclass.
       
 35577     mcls := aClass theMetaclass.
       
 35578 
       
 35579     codeAspect := self codeAspect.
       
 35580     codeAspect == #newApplication
       
 35581     ifTrue:[ msg := 'Generate initial application code ?' ].
       
 35582 
       
 35583     codeAspect == #newDialog
       
 35584     ifTrue:[ msg := 'Generate initial dialog code ?' ].
       
 35585 
       
 35586     codeAspect == #newWebApplication
       
 35587     ifTrue:[ msg := 'Generate initial webApplication code ?' ].
       
 35588 
       
 35589     (msg notNil and:[self confirm:(resources string:msg)])
       
 35590     ifTrue:[
       
 35591         CodeGeneratorTool createDocumentationMethodsFor:mcls.
       
 35592         (codeAspect == #newWebApplication) ifTrue:[
       
 35593             CodeGeneratorTool createWebApplicationCodeFor:cls.
       
 35594         ] ifFalse:[
       
 35595             CodeGeneratorTool createExamplesMethodFor:mcls.
       
 35596             CodeGeneratorTool createApplicationCodeFor:cls.
       
 35597         ].
       
 35598         ^ self.
       
 35599     ].
       
 35600 
       
 35601     (codeAspect == #newTestCase) ifTrue:[
       
 35602         CodeGeneratorTool createDocumentationMethodsFor:mcls.
       
 35603         CodeGeneratorTool createTestCaseSampleCodeFor:cls.
       
 35604         ^ self.
       
 35605     ]
       
 35606 !
       
 35607 
 35534 checkCodeQuality:code
 35608 checkCodeQuality:code
 35535     |col|
 35609     |col|
 35536 
 35610 
 35537     code asCollectionOfLines keysAndValuesDo:[:lineNr :eachLine |
 35611     code asCollectionOfLines keysAndValuesDo:[:lineNr :eachLine |
 35538         |lineString|
 35612         |lineString|
 35732                             ].
 35806                             ].
 35733 
 35807 
 35734                             returnValue ifTrue:[
 35808                             returnValue ifTrue:[
 35735                                 cls := rslt theNonMetaclass.
 35809                                 cls := rslt theNonMetaclass.
 35736                                 mcls := rslt theMetaclass.
 35810                                 mcls := rslt theMetaclass.
 35737                                 (((self codeAspect == #newApplication) and:[self confirm:'Generate initial application code ?'])
 35811                                 self askForInitialApplicationCodeFor:mcls.
 35738                                 or:[ (self codeAspect == #newDialog) and:[self confirm:'Generate initial dialog code ?']]) 
       
 35739                                 ifTrue:[
       
 35740                                     CodeGeneratorTool createDocumentationMethodsFor:mcls.
       
 35741                                     CodeGeneratorTool createExamplesMethodFor:mcls.
       
 35742                                     CodeGeneratorTool createApplicationCodeFor:cls.
       
 35743                                 ].
       
 35744 
       
 35745                                 (self codeAspect == #newTestCase) ifTrue:[
       
 35746                                     CodeGeneratorTool createDocumentationMethodsFor:mcls.
       
 35747                                     CodeGeneratorTool createTestCaseSampleCodeFor:cls.
       
 35748                                 ]
       
 35749                             ].
 35812                             ].
 35750                         ]
 35813                         ]
 35751                     ]
 35814                     ]
 35752                 ].
 35815                 ].
 35753             ].
 35816             ].
 36289 ! !
 36352 ! !
 36290 
 36353 
 36291 !NewSystemBrowser class methodsFor:'documentation'!
 36354 !NewSystemBrowser class methodsFor:'documentation'!
 36292 
 36355 
 36293 version
 36356 version
 36294     ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.784 2004-09-29 11:29:55 cg Exp $'
 36357     ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.785 2004-09-30 10:31:10 ca Exp $'
 36295 ! !
 36358 ! !
 36296 
 36359 
 36297 NewSystemBrowser initialize!
 36360 NewSystemBrowser initialize!