TabItemEditor.st
changeset 582 3343d860b400
parent 575 7c5fcbde34b8
child 583 70b284bc7116
equal deleted inserted replaced
581:399646a86258 582:3343d860b400
    71   ^ super helpSpec addPairsFrom:#(
    71   ^ super helpSpec addPairsFrom:#(
    72 
    72 
    73 #addTabItem
    73 #addTabItem
    74 'Adds a new tab item.'
    74 'Adds a new tab item.'
    75 
    75 
       
    76 #argument
       
    77 ''
       
    78 
       
    79 #canSelect
       
    80 'Turns on/off selection behavior of the tab list item.'
       
    81 
       
    82 #color
       
    83 'Color of the label.'
       
    84 
       
    85 #fileCreateAspectMethod
       
    86 'Creates the aspect method for the tab list.'
       
    87 
    76 #fileNew
    88 #fileNew
    77 'Creates a new tab list.'
    89 'Creates a new tab list.'
    78 
    90 
    79 #fileReload
    91 #fileReload
    80 'Reload tab list from current class and selector.'
    92 'Reload tab list from current class and selector.'
    81 
    93 
    82 #fileSave
    94 #fileSave
    83 'Saves current tab list.'
    95 'Saves current tab list.'
    84 
    96 
       
    97 #label
       
    98 'Label of the tab list item.'
       
    99 
       
   100 #labelDerivesFromApplication
       
   101 ''
       
   102 
    85 #testPreview
   103 #testPreview
    86 'Toggle on/off preview of the tab list.'
   104 'Turns on/off preview of the tab list.'
    87 
   105 
    88 )
   106 )
    89 ! !
   107 ! !
    90 
   108 
    91 !TabItemEditor class methodsFor:'interface specs'!
   109 !TabItemEditor class methodsFor:'interface specs'!
   180      
   198      
   181        #(#FullSpec
   199        #(#FullSpec
   182           #'window:' 
   200           #'window:' 
   183            #(#WindowSpec
   201            #(#WindowSpec
   184               #'name:' 'Tab Basic'
   202               #'name:' 'Tab Basic'
   185               #'layout:' #(#LayoutFrame 411 0 572 0 773 0 797 0)
   203               #'layout:' #(#LayoutFrame 123 0 255 0 485 0 480 0)
   186               #'label:' 'Tab Basic'
   204               #'label:' 'Tab Basic'
   187               #'min:' #(#Point 10 10)
   205               #'min:' #(#Point 10 10)
   188               #'max:' #(#Point 1280 1024)
   206               #'max:' #(#Point 1280 1024)
   189               #'bounds:' #(#Rectangle 411 572 774 798)
   207               #'bounds:' #(#Rectangle 123 255 486 481)
   190               #'usePreferredExtent:' false
   208               #'usePreferredExtent:' false
   191           )
   209           )
   192           #'component:' 
   210           #'component:' 
   193            #(#SpecCollection
   211            #(#SpecCollection
   194               #'collection:' 
   212               #'collection:' 
   206                     #'model:' #label
   224                     #'model:' #label
   207                 )
   225                 )
   208                  #(#CheckBoxSpec
   226                  #(#CheckBoxSpec
   209                     #'name:' 'TranslateLabel'
   227                     #'name:' 'TranslateLabel'
   210                     #'layout:' #(#LayoutOrigin 104 0 42 0)
   228                     #'layout:' #(#LayoutOrigin 104 0 42 0)
   211                     #'activeHelpKey:' #translateLabel
   229                     #'activeHelpKey:' #labelDerivesFromApplication
   212                     #'model:' #translateLabel
   230                     #'model:' #translateLabel
   213                     #'label:' 'Label derives from Application'
   231                     #'label:' 'Label derives from Application'
   214                 )
   232                 )
   215                  #(#ColorMenuSpec
   233                  #(#ColorMenuSpec
   216                     #'name:' 'ForegroundColorMenu'
   234                     #'name:' 'ForegroundColorMenu'
   217                     #'layout:' #(#LayoutFrame 75 0 124 0 -5 1.0 146 0)
   235                     #'layout:' #(#LayoutFrame 75 0 124 0 -7 1.0 146 0)
   218                     #'activeHelpKey:' #foregroundColor
   236                     #'activeHelpKey:' #color
   219                     #'model:' #labelForegroundColor
   237                     #'model:' #labelForegroundColor
   220                     #'labelsAreColored:' false
   238                     #'labelsAreColored:' false
   221                 )
   239                 )
   222                  #(#LabelSpec
   240                  #(#LabelSpec
   223                     #'name:' 'ForegroundLabel'
   241                     #'name:' 'ForegroundLabel'
   227                     #'resizeForLabel:' true
   245                     #'resizeForLabel:' true
   228                 )
   246                 )
   229                  #(#CheckBoxSpec
   247                  #(#CheckBoxSpec
   230                     #'name:' 'CanSelect'
   248                     #'name:' 'CanSelect'
   231                     #'layout:' #(#LayoutFrame 107 0 176 0 226 0 198 0)
   249                     #'layout:' #(#LayoutFrame 107 0 176 0 226 0 198 0)
       
   250                     #'activeHelpKey:' #canSelect
   232                     #'model:' #enabled
   251                     #'model:' #enabled
   233                     #'label:' 'Can Select'
   252                     #'label:' 'Can Select'
   234                 )
   253                 )
   235                  #(#LabelSpec
   254                  #(#LabelSpec
   236                     #'name:' 'ArgumentLabel'
   255                     #'name:' 'ArgumentLabel'
   239                     #'resizeForLabel:' true
   258                     #'resizeForLabel:' true
   240                 )
   259                 )
   241                  #(#InputFieldSpec
   260                  #(#InputFieldSpec
   242                     #'name:' 'ArgumentField'
   261                     #'name:' 'ArgumentField'
   243                     #'layout:' #(#LayoutFrame 107 0 80 0 -5 1.0 102 0)
   262                     #'layout:' #(#LayoutFrame 107 0 80 0 -5 1.0 102 0)
   244                     #'activeHelpKey:' #label
   263                     #'activeHelpKey:' #argument
   245                     #'model:' #editAgument
   264                     #'model:' #editAgument
   246                 )
   265                 )
   247               )
   266               )
   248           )
   267           )
   249       )
   268       )
   397        #(#Menu
   416        #(#Menu
   398           
   417           
   399            #(
   418            #(
   400              #(#MenuItem
   419              #(#MenuItem
   401                 #'label:' 'About'
   420                 #'label:' 'About'
       
   421                 #'activeHelpKey:' #about
   402                 #'labelImage:' #(#ResourceRetriever nil #menuIcon)
   422                 #'labelImage:' #(#ResourceRetriever nil #menuIcon)
   403                 #'submenuChannel:' #menuAbout
   423                 #'submenuChannel:' #menuAbout
   404             )
   424             )
   405              #(#MenuItem
   425              #(#MenuItem
   406                 #'label:' 'File'
   426                 #'label:' 'File'
       
   427                 #'activeHelpKey:' #file
   407                 #'submenu:' 
   428                 #'submenu:' 
   408                  #(#Menu
   429                  #(#Menu
   409                     
   430                     
   410                      #(
   431                      #(
   411                        #(#MenuItem
   432                        #(#MenuItem
   440                           #'activeHelpKey:' #fileDefineClassAndSelector
   461                           #'activeHelpKey:' #fileDefineClassAndSelector
   441                       )
   462                       )
   442                        #(#MenuItem
   463                        #(#MenuItem
   443                           #'label:' 'Create Aspect Method'
   464                           #'label:' 'Create Aspect Method'
   444                           #'value:' #doInstallAspect
   465                           #'value:' #doInstallAspect
       
   466                           #'activeHelpKey:' #fileCreateAspectMethod
   445                           #'enabled:' #hasClassAndSelector
   467                           #'enabled:' #hasClassAndSelector
   446                       )
   468                       )
   447                        #(#MenuItem
   469                        #(#MenuItem
   448                           #'label:' '-'
   470                           #'label:' '-'
   449                       )
   471                       )
   457                     nil
   479                     nil
   458                 )
   480                 )
   459             )
   481             )
   460              #(#MenuItem
   482              #(#MenuItem
   461                 #'label:' 'Edit'
   483                 #'label:' 'Edit'
       
   484                 #'activeHelpKey:' #edit
   462                 #'submenuChannel:' #menuEdit
   485                 #'submenuChannel:' #menuEdit
   463             )
   486             )
   464              #(#MenuItem
   487              #(#MenuItem
   465                 #'label:' 'Add'
   488                 #'label:' 'Add'
       
   489                 #'activeHelpKey:' #add
   466                 #'submenu:' 
   490                 #'submenu:' 
   467                  #(#Menu
   491                  #(#Menu
   468                     
   492                     
   469                      #(
   493                      #(
   470                        #(#MenuItem
   494                        #(#MenuItem
   477                     nil
   501                     nil
   478                 )
   502                 )
   479             )
   503             )
   480              #(#MenuItem
   504              #(#MenuItem
   481                 #'label:' 'Test'
   505                 #'label:' 'Test'
   482                 #'activeHelpKey:' #testPreview
   506                 #'activeHelpKey:' #test
   483                 #'submenu:' 
   507                 #'submenu:' 
   484                  #(#Menu
   508                  #(#Menu
   485                     
   509                     
   486                      #(
   510                      #(
   487                        #(#MenuItem
   511                        #(#MenuItem
   488                           #'label:' 'Preview'
   512                           #'label:' 'Preview'
       
   513                           #'activeHelpKey:' #testPreview
   489                           #'enabled:' #canShowTestMode
   514                           #'enabled:' #canShowTestMode
   490                           #'indication:' #testMode
   515                           #'indication:' #testMode
   491                       )
   516                       )
   492                     ) nil
   517                     ) nil
   493                     nil
   518                     nil
   494                 )
   519                 )
   495             )
   520             )
   496              #(#MenuItem
   521              #(#MenuItem
   497                 #'label:' 'History'
   522                 #'label:' 'History'
       
   523                 #'activeHelpKey:' #history
   498                 #'submenuChannel:' #menuHistory
   524                 #'submenuChannel:' #menuHistory
   499             )
   525             )
   500              #(#MenuItem
   526              #(#MenuItem
   501                 #'label:' 'Help'
   527                 #'label:' 'Help'
   502                 #'startGroup:' #right
   528                 #'startGroup:' #right
       
   529                 #'activeHelpKey:' #help
   503                 #'submenuChannel:' #menuHelp
   530                 #'submenuChannel:' #menuHelp
   504             )
   531             )
   505           ) nil
   532           ) nil
   506           nil
   533           nil
   507       )
   534       )
   880 
   907 
   881                     spec do:[:aTab|
   908                     spec do:[:aTab|
   882                         list add:aTab label.
   909                         list add:aTab label.
   883                         listOfTabs add:aTab.
   910                         listOfTabs add:aTab.
   884                     ].
   911                     ].
   885                     rebuildMode := false.
   912                     rebuildMode := false.          
   886                     self addToHistory:(className name, ' ', selector) -> #loadFromMessage:                        
   913                     self addToHistory:(className name, ' ', selector) -> #loadFromMessage:                        
   887                 ]
   914                 ]
   888             ]
   915             ]
   889         ]
   916         ]
   890     ].
   917     ].
   894     hasChanged := false.
   921     hasChanged := false.
   895 
   922 
   896     listOfTabs notEmpty ifTrue:[
   923     listOfTabs notEmpty ifTrue:[
   897         self selectionHolder value:1
   924         self selectionHolder value:1
   898     ].
   925     ].
       
   926 
       
   927     self updateInfoLabel
   899 !
   928 !
   900 
   929 
   901 loadFromMessage:aMessage
   930 loadFromMessage:aMessage
   902     "load tabs from class and selector derived from history
   931     "load tabs from class and selector derived from history
   903     "
   932     "
   932 
   961 
   933 !TabItemEditor methodsFor:'help'!
   962 !TabItemEditor methodsFor:'help'!
   934 
   963 
   935 defaultInfoLabel
   964 defaultInfoLabel
   936 
   965 
   937     ^self testMode value
   966     self testMode value
   938         ifTrue:  ['Test mode']
   967         ifTrue:  [^'Test mode']
   939         ifFalse: ['']
   968         ifFalse: [
       
   969         className isNil ifTrue: [^'No tab list class defined'].
       
   970         ^className name, ' >> ', selector printString]
   940 ! !
   971 ! !
   941 
   972 
   942 !TabItemEditor methodsFor:'selection'!
   973 !TabItemEditor methodsFor:'selection'!
   943 
   974 
   944 selectedIndex
   975 selectedIndex