TabItemEditor.st
author tz
Thu, 05 Feb 1998 21:59:12 +0100
changeset 600 82bca69d8d37
parent 583 70b284bc7116
child 604 9d62f4f07c65
permissions -rw-r--r--
enable commit buttons
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     1
"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     4
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    11
"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    12
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    13
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    14
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    15
ToolApplicationModel subclass:#TabItemEditor
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
    16
	instanceVariableNames:'rebuildMode testView className selector aspects listOfTabs
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
    17
		hasChanged selectedIndex'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    18
	classVariableNames:''
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    19
	poolDictionaries:''
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    20
	category:'Interface-UIPainter'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    21
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    22
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    23
!TabItemEditor class methodsFor:'documentation'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    24
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    25
copyright
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    26
"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    27
 COPYRIGHT (c) 1997 by eXept Software AG
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    28
              All Rights Reserved
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    29
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    30
 This software is furnished under a license and may be used
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    35
 hereby transferred.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    36
"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    37
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    38
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    39
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    40
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    41
documentation
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    42
"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    43
    create and modify or inspect a list of tabs
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    44
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    45
    [start with:]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    46
        TabItemEditor open
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    47
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    48
    [see also:]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    49
        TabItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    50
        TabView
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    51
        NoteBookView
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    52
        UIPainter
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    53
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    54
    [author:]
541
5dc124df04e2 author line in doc.
Claus Gittinger <cg@exept.de>
parents: 534
diff changeset
    55
        Claus Atzkern, eXept Software AG
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    56
"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    57
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    58
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    59
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
    60
553
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    61
!TabItemEditor class methodsFor:'help specs'!
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    62
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    63
helpSpec
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    64
    "return a dictionary filled with helpKey -> helptext associations.
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    65
     These are used by the activeHelp tool."
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    66
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    67
    "
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    68
    UIHelpTool openOnClass:TabItemEditor    
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    69
    "
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    70
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    71
  ^ super helpSpec addPairsFrom:#(
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    72
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    73
#addTabItem
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    74
'Adds a new tab item.'
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    75
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
    76
#argument
583
70b284bc7116 update help
tz
parents: 582
diff changeset
    77
'a user defined argument not explicitly used by the tab item.'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
    78
3343d860b400 help texts added
tz
parents: 575
diff changeset
    79
#canSelect
583
70b284bc7116 update help
tz
parents: 582
diff changeset
    80
'Turns on/off selection behavior of the tab item.'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
    81
3343d860b400 help texts added
tz
parents: 575
diff changeset
    82
#color
583
70b284bc7116 update help
tz
parents: 582
diff changeset
    83
'define the foreground color of the  label. The default derives from the style sheet.'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
    84
3343d860b400 help texts added
tz
parents: 575
diff changeset
    85
#fileCreateAspectMethod
3343d860b400 help texts added
tz
parents: 575
diff changeset
    86
'Creates the aspect method for the tab list.'
3343d860b400 help texts added
tz
parents: 575
diff changeset
    87
553
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    88
#fileNew
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    89
'Creates a new tab list.'
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    90
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    91
#fileReload
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    92
'Reload tab list from current class and selector.'
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    93
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    94
#fileSave
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    95
'Saves current tab list.'
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
    96
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
    97
#label
583
70b284bc7116 update help
tz
parents: 582
diff changeset
    98
'Label of the tab item.'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
    99
3343d860b400 help texts added
tz
parents: 575
diff changeset
   100
#labelDerivesFromApplication
583
70b284bc7116 update help
tz
parents: 582
diff changeset
   101
'if the value is off (the default), the tabs label is the string as entered in the label aspect. Otherwise, its the name of the message sent to the application - this should return a string or bitmap image, which is used as logo in the tab.'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   102
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   103
#testPreview
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   104
'Turns on/off preview of the tab list.'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   105
553
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
   106
)
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
   107
! !
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
   108
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   109
!TabItemEditor class methodsFor:'interface specs'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   110
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   111
nameAndSelectorSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   112
    "this window spec was automatically generated by the ST/X UIPainter"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   113
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   114
    "do not manually edit this - the painter/builder may not be able to
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   115
     handle the specification if its corrupted."
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   116
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   117
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   118
     UIPainter new openOnClass:TabItemEditor andSelector:#nameAndSelectorSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   119
     TabItemEditor new openInterface:#nameAndSelectorSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   120
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   121
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   122
    <resource: #canvas>
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   123
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   124
    ^
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   125
     
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   126
       #(#FullSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   127
          #'window:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   128
           #(#WindowSpec
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   129
              #'name:' 'Tab Item Editor'
530
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   130
              #'layout:' #(#LayoutFrame 141 0 424 0 456 0 551 0)
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   131
              #'label:' 'Tab Item Editor'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   132
              #'min:' #(#Point 10 10)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   133
              #'max:' #(#Point 1152 900)
530
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   134
              #'bounds:' #(#Rectangle 141 424 457 552)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   135
              #'usePreferredExtent:' false
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   136
          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   137
          #'component:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   138
           #(#SpecCollection
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   139
              #'collection:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   140
               #(
530
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   141
                 #(#FramedBoxSpec
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   142
                    #'name:' 'framedBox1'
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   143
                    #'layout:' #(#LayoutFrame 0 0.0 3 0.0 0 1.0 -33 1.0)
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   144
                    #'label:' 'Define class and selector'
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   145
                    #'labelPosition:' #topLeft
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   146
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   147
                 #(#LabelSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   148
                    #'name:' 'ClassLabel'
530
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   149
                    #'layout:' #(#AlignmentOrigin 58 0.11 37 0 1 0.5)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   150
                    #'label:' 'Class:'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   151
                    #'adjust:' #right
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   152
                    #'resizeForLabel:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   153
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   154
                 #(#InputFieldSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   155
                    #'name:' 'ClassField'
530
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   156
                    #'layout:' #(#LayoutFrame 62 0.11 26 0 -18 1.0 48 0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   157
                    #'tabable:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   158
                    #'model:' #className
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   159
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   160
                 #(#LabelSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   161
                    #'name:' 'SelectorLabel'
530
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   162
                    #'layout:' #(#AlignmentOrigin 58 0.11 62 0 1 0.5)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   163
                    #'label:' 'Selector:'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   164
                    #'adjust:' #right
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   165
                    #'resizeForLabel:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   166
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   167
                 #(#InputFieldSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   168
                    #'name:' 'SelectorField'
530
badaac1d45e7 dialog style revised
tz
parents: 526
diff changeset
   169
                    #'layout:' #(#LayoutFrame 62 0.11 51 0 -18 1.0 73 0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   170
                    #'tabable:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   171
                    #'model:' #selector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   172
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   173
                 #(#UISubSpecification
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   174
                    #'name:' 'CommitPanel'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   175
                    #'layout:' #(#LayoutFrame 0 0.0 -29 1 0 1.0 -5 1)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   176
                    #'majorKey:' #ToolApplicationModel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   177
                    #'minorKey:' #windowSpecForCommitWithoutChannels
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   178
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   179
              )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   180
          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   181
      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   182
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   183
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   184
tabSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   185
    "this window spec was automatically generated by the ST/X UIPainter"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   186
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   187
    "do not manually edit this - the painter/builder may not be able to
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   188
     handle the specification if its corrupted."
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   189
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   190
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   191
     UIPainter new openOnClass:TabItemEditor andSelector:#tabSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   192
     TabItemEditor new openInterface:#tabSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   193
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   194
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   195
    <resource: #canvas>
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   196
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   197
    ^
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   198
     
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   199
       #(#FullSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   200
          #'window:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   201
           #(#WindowSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   202
              #'name:' 'Tab Basic'
583
70b284bc7116 update help
tz
parents: 582
diff changeset
   203
              #'layout:' #(#LayoutFrame 134 0 107 0 496 0 332 0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   204
              #'label:' 'Tab Basic'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   205
              #'min:' #(#Point 10 10)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   206
              #'max:' #(#Point 1280 1024)
583
70b284bc7116 update help
tz
parents: 582
diff changeset
   207
              #'bounds:' #(#Rectangle 134 107 497 333)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   208
              #'usePreferredExtent:' false
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   209
          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   210
          #'component:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   211
           #(#SpecCollection
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   212
              #'collection:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   213
               #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   214
                 #(#LabelSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   215
                    #'name:' 'Label'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   216
                    #'layout:' #(#AlignmentOrigin 104 0 26 0 1 0.5)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   217
                    #'label:' 'Label:'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   218
                    #'resizeForLabel:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   219
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   220
                 #(#InputFieldSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   221
                    #'name:' 'LabelField'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   222
                    #'layout:' #(#LayoutFrame 107 0 15 0 -5 1.0 37 0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   223
                    #'activeHelpKey:' #label
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   224
                    #'model:' #label
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   225
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   226
                 #(#CheckBoxSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   227
                    #'name:' 'TranslateLabel'
575
7c5fcbde34b8 some corrections
tz
parents: 570
diff changeset
   228
                    #'layout:' #(#LayoutOrigin 104 0 42 0)
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   229
                    #'activeHelpKey:' #labelDerivesFromApplication
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   230
                    #'model:' #translateLabel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   231
                    #'label:' 'Label derives from Application'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   232
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   233
                 #(#ColorMenuSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   234
                    #'name:' 'ForegroundColorMenu'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   235
                    #'layout:' #(#LayoutFrame 75 0 124 0 -7 1.0 146 0)
3343d860b400 help texts added
tz
parents: 575
diff changeset
   236
                    #'activeHelpKey:' #color
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   237
                    #'model:' #labelForegroundColor
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   238
                    #'labelsAreColored:' false
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   239
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   240
                 #(#LabelSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   241
                    #'name:' 'ForegroundLabel'
549
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   242
                    #'layout:' #(#AlignmentOrigin 73 0 136 0 1 0.5)
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   243
                    #'label:' 'Color:'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   244
                    #'adjust:' #right
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   245
                    #'resizeForLabel:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   246
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   247
                 #(#CheckBoxSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   248
                    #'name:' 'CanSelect'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   249
                    #'layout:' #(#LayoutFrame 107 0 176 0 226 0 198 0)
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   250
                    #'activeHelpKey:' #canSelect
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   251
                    #'model:' #enabled
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   252
                    #'label:' 'Can Select'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   253
                )
549
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   254
                 #(#LabelSpec
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   255
                    #'name:' 'ArgumentLabel'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   256
                    #'layout:' #(#AlignmentOrigin 104 0 91 0 1 0.5)
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   257
                    #'label:' 'Argument:'
549
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   258
                    #'resizeForLabel:' true
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   259
                )
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   260
                 #(#InputFieldSpec
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   261
                    #'name:' 'ArgumentField'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   262
                    #'layout:' #(#LayoutFrame 107 0 80 0 -5 1.0 102 0)
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   263
                    #'activeHelpKey:' #argument
549
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   264
                    #'model:' #editAgument
454a490d797f add user defined argument
ca
parents: 546
diff changeset
   265
                )
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   266
              )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   267
          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   268
      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   269
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   270
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   271
windowSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   272
    "this window spec was automatically generated by the ST/X UIPainter"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   273
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   274
    "do not manually edit this - the painter/builder may not be able to
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   275
     handle the specification if its corrupted."
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   276
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   277
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   278
     UIPainter new openOnClass:TabItemEditor andSelector:#windowSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   279
     TabItemEditor new openInterface:#windowSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   280
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   281
    "TabItemEditor open"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   282
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   283
    <resource: #canvas>
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   284
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   285
    ^
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   286
     
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   287
       #(#FullSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   288
          #'window:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   289
           #(#WindowSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   290
              #'name:' 'TabItem Editor'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   291
              #'layout:' #(#LayoutFrame 275 0 353 0 743 0 681 0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   292
              #'label:' 'TabItem Editor'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   293
              #'min:' #(#Point 10 10)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   294
              #'max:' #(#Point 1152 900)
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   295
              #'bounds:' #(#Rectangle 275 353 744 682)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   296
              #'menu:' #menu
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   297
              #'usePreferredExtent:' false
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   298
          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   299
          #'component:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   300
           #(#SpecCollection
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   301
              #'collection:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   302
               #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   303
                 #(#MenuPanelSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   304
                    #'name:' 'menuToolbarView'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   305
                    #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 34 0)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   306
                    #'menu:' #menuToolbar
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   307
                    #'showSeparatingLines:' true
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   308
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   309
                 #(#VariableHorizontalPanelSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   310
                    #'name:' 'VariablePanel'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   311
                    #'layout:' #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -26 1.0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   312
                    #'component:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   313
                     #(#SpecCollection
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   314
                        #'collection:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   315
                         #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   316
                           #(#SequenceViewSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   317
                              #'name:' 'columnView'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   318
                              #'enableChannel:' #isNotModified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   319
                              #'model:' #selectionHolder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   320
                              #'menu:' #menuEdit
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   321
                              #'hasHorizontalScrollBar:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   322
                              #'hasVerticalScrollBar:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   323
                              #'miniScrollerHorizontal:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   324
                              #'useIndex:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   325
                              #'sequenceList:' #listOfLabels
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   326
                          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   327
                           #(#ViewSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   328
                              #'name:' 'specView'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   329
                              #'component:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   330
                               #(#SpecCollection
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   331
                                  #'collection:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   332
                                   #(
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   333
                                     #(#ViewSpec
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   334
                                        #'name:' 'TestView'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   335
                                        #'layout:' #(#LayoutFrame 1 0.0 0 0.0 0 1.0 0 1.0)
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   336
                                        #'component:' 
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   337
                                         #(#SpecCollection
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   338
                                            #'collection:' 
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   339
                                             #(
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   340
                                               #(#TabViewSpec
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   341
                                                  #'name:' 'TestTabsView'
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   342
                                                  #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 0.5)
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   343
                                              )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   344
                                            )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   345
                                        )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   346
                                    )
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   347
                                     #(#SubCanvasSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   348
                                        #'name:' 'specCanvas'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   349
                                        #'layout:' #(#LayoutFrame 1 0.0 0 0.0 0 1.0 -30 1.0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   350
                                        #'specHolder:' #specChannel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   351
                                    )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   352
                                     #(#HorizontalPanelViewSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   353
                                        #'name:' 'modifyPanel'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   354
                                        #'layout:' #(#LayoutFrame 1 0.0 -30 1.0 0 1.0 0 1.0)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   355
                                        #'component:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   356
                                         #(#SpecCollection
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   357
                                            #'collection:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   358
                                             #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   359
                                               #(#ActionButtonSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   360
                                                  #'name:' 'cancelButton'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   361
                                                  #'label:' 'Cancel'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   362
                                                  #'model:' #cancel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   363
                                                  #'enableChannel:' #modifiedChannel
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   364
                                                  #'extent:' #(#Point 166 24)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   365
                                              )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   366
                                               #(#ActionButtonSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   367
                                                  #'name:' 'acceptButton'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   368
                                                  #'label:' 'OK'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   369
                                                  #'model:' #accept
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   370
                                                  #'enableChannel:' #modifiedChannel
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   371
                                                  #'extent:' #(#Point 167 24)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   372
                                              )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   373
                                            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   374
                                        )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   375
                                        #'horizontalLayout:' #fitSpace
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   376
                                        #'verticalLayout:' #fitSpace
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   377
                                        #'horizontalSpace:' 3
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   378
                                        #'verticalSpace:' 3
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   379
                                    )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   380
                                  )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   381
                              )
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   382
                              #'level:' -1
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   383
                          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   384
                        )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   385
                    )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   386
                    #'handles:' #(#Any 0.259875 1.0)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   387
                )
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   388
                 #(#UISubSpecification
534
25e349c437d2 info clock removed
tz
parents: 530
diff changeset
   389
                    #'name:' 'infoBarSubSpec'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   390
                    #'layout:' #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
534
25e349c437d2 info clock removed
tz
parents: 530
diff changeset
   391
                    #'majorKey:' #ToolApplicationModel
25e349c437d2 info clock removed
tz
parents: 530
diff changeset
   392
                    #'minorKey:' #windowSpecForInfoBar
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   393
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   394
              )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   395
          )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   396
      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   397
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   398
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   399
!TabItemEditor class methodsFor:'menu specs'!
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   400
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   401
menu
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   402
    "this window spec was automatically generated by the ST/X MenuEditor"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   403
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   404
    "do not manually edit this - the builder may not be able to
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   405
     handle the specification if its corrupted."
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   406
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   407
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   408
     MenuEditor new openOnClass:TabItemEditor andSelector:#menu
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   409
     (Menu new fromLiteralArrayEncoding:(TabItemEditor menu)) startUp
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   410
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   411
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   412
    <resource: #menu>
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   413
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   414
    ^
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   415
     
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   416
       #(#Menu
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   417
          
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   418
           #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   419
             #(#MenuItem
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   420
                #'label:' 'About'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   421
                #'activeHelpKey:' #about
546
aac3f3c9383f help menu item aligned to the right
tz
parents: 541
diff changeset
   422
                #'labelImage:' #(#ResourceRetriever nil #menuIcon)
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   423
                #'submenuChannel:' #menuAbout
7a4749b25748 style revised
tz
parents: 514
diff changeset
   424
            )
7a4749b25748 style revised
tz
parents: 514
diff changeset
   425
             #(#MenuItem
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   426
                #'label:' 'File'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   427
                #'activeHelpKey:' #file
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   428
                #'submenu:' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   429
                 #(#Menu
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   430
                    
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   431
                     #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   432
                       #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   433
                          #'label:' 'New'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   434
                          #'value:' #doNew
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   435
                          #'activeHelpKey:' #fileNew
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   436
                      )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   437
                       #(#MenuItem
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   438
                          #'label:' '-'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   439
                      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   440
                       #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   441
                          #'label:' 'Reload'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   442
                          #'value:' #doReload
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   443
                          #'activeHelpKey:' #fileReload
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   444
                          #'enabled:' #hasClassAndSelector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   445
                      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   446
                       #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   447
                          #'label:' '-'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   448
                      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   449
                       #(#MenuItem
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   450
                          #'label:' 'Save'
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   451
                          #'value:' #doInstallSpec
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   452
                          #'activeHelpKey:' #fileSave
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   453
                          #'enabled:' #isNotModified
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   454
                      )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   455
                       #(#MenuItem
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   456
                          #'label:' '-'
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   457
                      )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   458
                       #(#MenuItem
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   459
                          #'label:' 'Define Class And Selector...'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   460
                          #'value:' #doDefineClassAndSelector
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   461
                          #'activeHelpKey:' #fileDefineClassAndSelector
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   462
                      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   463
                       #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   464
                          #'label:' 'Create Aspect Method'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   465
                          #'value:' #doInstallAspect
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   466
                          #'activeHelpKey:' #fileCreateAspectMethod
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   467
                          #'enabled:' #hasClassAndSelector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   468
                      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   469
                       #(#MenuItem
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   470
                          #'label:' '-'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   471
                      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   472
                       #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   473
                          #'label:' 'Exit'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   474
                          #'value:' #closeRequest
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   475
                          #'activeHelpKey:' #fileExit
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   476
                          #'enabled:' #isNotModified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   477
                      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   478
                    ) nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   479
                    nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   480
                )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   481
            )
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   482
             #(#MenuItem
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   483
                #'label:' 'Edit'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   484
                #'activeHelpKey:' #edit
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   485
                #'submenuChannel:' #menuEdit
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   486
            )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   487
             #(#MenuItem
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   488
                #'label:' 'Add'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   489
                #'activeHelpKey:' #add
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   490
                #'submenu:' 
7a4749b25748 style revised
tz
parents: 514
diff changeset
   491
                 #(#Menu
7a4749b25748 style revised
tz
parents: 514
diff changeset
   492
                    
7a4749b25748 style revised
tz
parents: 514
diff changeset
   493
                     #(
7a4749b25748 style revised
tz
parents: 514
diff changeset
   494
                       #(#MenuItem
7a4749b25748 style revised
tz
parents: 514
diff changeset
   495
                          #'label:' 'Tab Item'
560
d944c6ea5582 adding tab items from menu
tz
parents: 553
diff changeset
   496
                          #'value:' #doCreateTab
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   497
                          #'activeHelpKey:' #addTabItem
561
cd3a3b82cb98 extra tab item creation icon added
tz
parents: 560
diff changeset
   498
                          #'labelImage:' #(#ResourceRetriever nil #newTabItemIcon 'Tab Item')
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   499
                      )
7a4749b25748 style revised
tz
parents: 514
diff changeset
   500
                    ) nil
7a4749b25748 style revised
tz
parents: 514
diff changeset
   501
                    nil
7a4749b25748 style revised
tz
parents: 514
diff changeset
   502
                )
7a4749b25748 style revised
tz
parents: 514
diff changeset
   503
            )
7a4749b25748 style revised
tz
parents: 514
diff changeset
   504
             #(#MenuItem
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   505
                #'label:' 'Test'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   506
                #'activeHelpKey:' #test
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   507
                #'submenu:' 
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   508
                 #(#Menu
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   509
                    
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   510
                     #(
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   511
                       #(#MenuItem
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   512
                          #'label:' 'Preview'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   513
                          #'activeHelpKey:' #testPreview
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   514
                          #'enabled:' #canShowTestMode
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   515
                          #'indication:' #testMode
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   516
                      )
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   517
                    ) nil
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   518
                    nil
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   519
                )
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   520
            )
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   521
             #(#MenuItem
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   522
                #'label:' 'History'
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   523
                #'activeHelpKey:' #history
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   524
                #'submenuChannel:' #menuHistory
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   525
            )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   526
             #(#MenuItem
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   527
                #'label:' 'Help'
546
aac3f3c9383f help menu item aligned to the right
tz
parents: 541
diff changeset
   528
                #'startGroup:' #right
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   529
                #'activeHelpKey:' #help
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   530
                #'submenuChannel:' #menuHelp
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   531
            )
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   532
          ) nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   533
          nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   534
      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   535
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   536
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   537
menuEdit
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   538
    "this window spec was automatically generated by the ST/X MenuEditor"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   539
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   540
    "do not manually edit this - the builder may not be able to
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   541
     handle the specification if its corrupted."
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   542
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   543
    "
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   544
     MenuEditor new openOnClass:TabItemEditor andSelector:#menuEdit
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   545
     (Menu new fromLiteralArrayEncoding:(TabItemEditor menuEdit)) startUp
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   546
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   547
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   548
    <resource: #menu>
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   549
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   550
    ^
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   551
     
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   552
       #(#Menu
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   553
          
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   554
           #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   555
             #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   556
                #'label:' 'Cut'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   557
                #'value:' #doCutTab
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   558
                #'activeHelpKey:' #editCut
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   559
                #'enabled:' #isColumnSelected
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   560
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   561
             #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   562
                #'label:' 'Copy'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   563
                #'value:' #doCopyTab
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   564
                #'activeHelpKey:' #editCopy
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   565
                #'enabled:' #isColumnSelected
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   566
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   567
             #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   568
                #'label:' 'Paste'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   569
                #'value:' #doPasteTab
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   570
                #'activeHelpKey:' #editPaste
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   571
                #'enabled:' #valueOfHavingClipboard
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   572
            )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   573
             #(#MenuItem
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   574
                #'label:' '-'
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   575
            )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   576
             #(#MenuItem
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   577
                #'label:' 'Move Up'
7a4749b25748 style revised
tz
parents: 514
diff changeset
   578
                #'value:' #'doMoveTabUpOrDown:'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   579
                #'activeHelpKey:' #editMoveUp
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   580
                #'enabled:' #canMoveTabUpOrDown
7a4749b25748 style revised
tz
parents: 514
diff changeset
   581
                #'argument:' #up
7a4749b25748 style revised
tz
parents: 514
diff changeset
   582
                #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #upIcon 'Move Up')
7a4749b25748 style revised
tz
parents: 514
diff changeset
   583
            )
7a4749b25748 style revised
tz
parents: 514
diff changeset
   584
             #(#MenuItem
7a4749b25748 style revised
tz
parents: 514
diff changeset
   585
                #'label:' 'Move Down'
7a4749b25748 style revised
tz
parents: 514
diff changeset
   586
                #'value:' #'doMoveTabUpOrDown:'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   587
                #'activeHelpKey:' #editMoveDown
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   588
                #'enabled:' #canMoveTabUpOrDown
7a4749b25748 style revised
tz
parents: 514
diff changeset
   589
                #'argument:' #down
7a4749b25748 style revised
tz
parents: 514
diff changeset
   590
                #'labelImage:' #(#ResourceRetriever #ToolApplicationModel #downIcon 'Move Down')
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   591
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   592
          ) nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   593
          nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   594
      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   595
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   596
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   597
menuToolbar
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   598
    "this window spec was automatically generated by the ST/X MenuEditor"
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   599
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   600
    "do not manually edit this - the builder may not be able to
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   601
     handle the specification if its corrupted."
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   602
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   603
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   604
     MenuEditor new openOnClass:TabItemEditor andSelector:#menuToolbar
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   605
     (Menu new fromLiteralArrayEncoding:(TabItemEditor menuToolbar)) startUp
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   606
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   607
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   608
    <resource: #menu>
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   609
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   610
    ^
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   611
     
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   612
       #(#Menu
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   613
          
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   614
           #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   615
             #(#MenuItem
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   616
                #'label:' 'New'
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   617
                #'isButton:' true
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   618
                #'value:' #doNew
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   619
                #'activeHelpKey:' #fileNew
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   620
                #'labelImage:' #(#ResourceRetriever nil #newIcon)
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   621
            )
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   622
             #(#MenuItem
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   623
                #'label:' 'Save'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   624
                #'isButton:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   625
                #'value:' #doInstallSpec
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   626
                #'activeHelpKey:' #fileSave
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   627
                #'enabled:' #isNotModified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   628
                #'labelImage:' #(#ResourceRetriever nil #saveIcon)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   629
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   630
             #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   631
                #'label:' ''
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   632
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   633
             #(#MenuItem
560
d944c6ea5582 adding tab items from menu
tz
parents: 553
diff changeset
   634
                #'label:' 'Add Tab Item'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   635
                #'isButton:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   636
                #'value:' #doCreateTab
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   637
                #'activeHelpKey:' #addTabItem
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   638
                #'enabled:' #isNotModified
561
cd3a3b82cb98 extra tab item creation icon added
tz
parents: 560
diff changeset
   639
                #'labelImage:' #(#ResourceRetriever nil #newTabItemIcon)
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   640
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   641
             #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   642
                #'label:' ''
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   643
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   644
             #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   645
                #'label:' 'Move Tab Up'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   646
                #'isButton:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   647
                #'value:' #'doMoveTabUpOrDown:'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   648
                #'activeHelpKey:' #editMoveUp
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   649
                #'enabled:' #canMoveTabUpOrDown
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   650
                #'argument:' #up
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   651
                #'labelImage:' #(#ResourceRetriever nil #upIcon)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   652
            )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   653
             #(#MenuItem
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   654
                #'label:' 'Move Tab Down'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   655
                #'isButton:' true
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   656
                #'value:' #'doMoveTabUpOrDown:'
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   657
                #'activeHelpKey:' #editMoveDown
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   658
                #'enabled:' #canMoveTabUpOrDown
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   659
                #'argument:' #down
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   660
                #'labelImage:' #(#ResourceRetriever nil #downIcon)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   661
            )
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   662
             #(#MenuItem
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   663
                #'label:' ''
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   664
            )
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   665
             #(#MenuItem
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   666
                #'label:' 'Preview'
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   667
                #'isButton:' true
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   668
                #'activeHelpKey:' #testPreview
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   669
                #'enabled:' #canShowTestMode
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   670
                #'labelImage:' #(#ResourceRetriever nil #startIcon)
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   671
                #'indication:' #testMode
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   672
            )
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   673
          ) nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   674
          nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   675
      )
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   676
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   677
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   678
!TabItemEditor class methodsFor:'resources'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   679
561
cd3a3b82cb98 extra tab item creation icon added
tz
parents: 560
diff changeset
   680
newTabItemIcon
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   681
    "Generated by the Image Editor"
7a4749b25748 style revised
tz
parents: 514
diff changeset
   682
    "
561
cd3a3b82cb98 extra tab item creation icon added
tz
parents: 560
diff changeset
   683
    ImageEditor openOnClass:self andSelector:#newTabItemIcon
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   684
    "
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   685
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   686
    <resource: #image>
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   687
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
   688
    ^Icon
561
cd3a3b82cb98 extra tab item creation icon added
tz
parents: 560
diff changeset
   689
        constantNamed:#'TabItemEditor newTabItemIcon'
cd3a3b82cb98 extra tab item creation icon added
tz
parents: 560
diff changeset
   690
        ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'U@@@@EUPUEUUVEUPUF**+EUPUF**+EUPUF**+EUP@F**+@@@EV***UV@F*****+@F KNC*+NF(("H*+@F((BC +EF(("H*+@F(("C*+MF*****+@F"@ H*K@F"""(LK@F"" ("K@F"""(*K@F"" H*K@F*****+HK??????@@@@@@@@@'); colorMap:(((Array new:4) at:1 put:((Color black)); at:2 put:((Color white)); at:3 put:((Color grey:66.9978)); at:4 put:((Color grey:49.9962)); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'G?<@G?<@G?<@G?<@G?<@???<???<???<???????<???<???<???<???????=???<???????<???????<???<???='); yourself); yourself]! !
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   691
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   692
!TabItemEditor methodsFor:'accessing'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   693
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   694
className
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   695
    ^ className
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   696
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   697
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   698
didInstall
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   699
    ^ hasChanged not
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   700
!
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   701
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   702
selector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   703
    ^ selector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   704
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   705
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   706
!TabItemEditor methodsFor:'actions'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   707
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   708
accept
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   709
    "accept changes
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   710
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   711
    |label|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   712
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   713
    self modified ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   714
        selectedIndex ~~ 0 ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   715
            rebuildMode := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   716
            label := listOfTabs at:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   717
            hasChanged := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   718
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   719
            aspects keysAndValuesDo:[:aKey :aModel|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   720
                label perform:(aKey , ':') asSymbol with:(aModel value).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   721
            ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   722
            self listOfLabels at:selectedIndex put:(label label).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   723
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   724
            rebuildMode := false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   725
        ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   726
        self cancel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   727
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   728
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   729
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   730
cancel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   731
    "cancel all changes
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   732
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   733
    |tab|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   734
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   735
    rebuildMode ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   736
        selectedIndex ~~ 0 ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   737
            tab := listOfTabs at:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   738
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   739
            rebuildMode := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   740
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   741
            aspects keysAndValuesDo:[:aKey :aModel|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   742
                aModel value:(tab perform:aKey)    
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   743
            ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   744
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   745
            rebuildMode := false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   746
        ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   747
        self modified:false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   748
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   749
    self canMoveTabUpOrDown value:(selectedIndex ~~ 0 and:[listOfTabs size > 1])
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   750
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   751
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   752
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   753
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   754
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   755
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   756
modified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   757
    "returns true if current tab is modified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   758
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   759
    ^ self modifiedChannel value
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   760
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   761
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   762
modified:aState
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   763
    "change modification state
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   764
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   765
    rebuildMode ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   766
        self modifiedChannel value:aState.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   767
        self isNotModified   value:(aState not).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   768
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   769
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   770
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   771
!TabItemEditor methodsFor:'aspects'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   772
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   773
aspectFor:aKey
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   774
    "returns aspect for a key or nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   775
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   776
    ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   777
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   778
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   779
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   780
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   781
canMoveTabUpOrDown
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   782
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   783
    |holder|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   784
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   785
    (holder := builder bindingAt:#canMoveTabUpOrDown) isNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   786
        builder aspectAt:#canMoveTabUpOrDown put:(holder := false asValue).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   787
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   788
    ^ holder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   789
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   790
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   791
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   792
canShowTestMode
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   793
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   794
    |holder|
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   795
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   796
    (holder := builder bindingAt:#canShowTestMode) isNil ifTrue:[
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   797
        builder aspectAt:#canShowTestMode put:(holder := false asValue).
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   798
    ].
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   799
    ^ holder
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   800
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   801
!
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   802
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   803
hasClassAndSelector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   804
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   805
    |holder|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   806
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   807
    (holder := builder bindingAt:#hasClassAndSelector) isNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   808
        builder aspectAt:#hasClassAndSelector put:(holder := false asValue).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   809
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   810
    ^ holder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   811
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   812
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   813
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   814
isNotModified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   815
    "returns true if current tab spec is not modified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   816
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   817
    |holder|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   818
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   819
    (holder := builder bindingAt:#isNotModified) isNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   820
        builder aspectAt:#isNotModified put:(holder :=  true asValue).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   821
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   822
    ^ holder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   823
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   824
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   825
listOfLabels
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   826
    "returns a holder which keeps the list of tab labels
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   827
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   828
    |list|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   829
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   830
    (list := builder bindingAt:#listOfLabels) isNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   831
        builder aspectAt:#listOfLabels put:(list :=  List new).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   832
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   833
    ^ list
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   834
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   835
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   836
modifiedChannel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   837
    "channel which is true if the current tab specification is modified
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   838
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   839
    |holder|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   840
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   841
    (holder := builder bindingAt:#modifiedChannel) isNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   842
        builder aspectAt:#modifiedChannel put:(holder :=  false asValue).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   843
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   844
    ^ holder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   845
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   846
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   847
selectionHolder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   848
    "holder which keeps the current selection
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   849
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   850
    |holder|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   851
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   852
    (holder := builder bindingAt:#selectionHolder) isNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   853
        holder := AspectAdaptor new subject:self; forAspect:#selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   854
        builder aspectAt:#selectionHolder put:holder.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   855
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   856
    ^ holder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   857
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   858
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   859
specChannel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   860
    "holder which keeps the current tab specification
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   861
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   862
    |holder|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   863
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   864
    (holder := builder bindingAt:#specChannel) isNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   865
        builder aspectAt:#specChannel put:(holder :=  ValueHolder new).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   866
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   867
    ^ holder
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   868
!
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   869
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   870
testMode
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   871
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   872
    |holder|
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   873
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   874
    (holder := builder bindingAt:#testMode) isNil ifTrue:[
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   875
        builder aspectAt:#testMode put:(holder := false asValue).
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   876
        holder addDependent: self
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   877
    ].
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   878
    ^ holder
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   879
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   880
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   881
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   882
!TabItemEditor methodsFor:'building'!
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   883
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   884
buildFrom:aClass andSelector:aSelector
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   885
    "build from class and selector
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   886
    "
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   887
    |spec list validClSl|
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   888
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   889
    self doNew.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   890
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   891
    selector  := nil.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   892
    className := self resolveName:aClass.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   893
    validClSl := false.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   894
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   895
    className notNil ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   896
        aSelector notNil ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   897
            validClSl := true.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   898
            selector  := aSelector asSymbol.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   899
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   900
            (className respondsTo:selector) ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   901
                spec := className perform:selector.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   902
                list := self listOfLabels.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   903
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   904
                spec size ~~ 0 ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   905
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   906
                    rebuildMode := true.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   907
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   908
                    spec do:[:aTab|
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   909
                        list add:aTab label.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   910
                        listOfTabs add:aTab.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   911
                    ].
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   912
                    rebuildMode := false.          
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   913
                    self addToHistory:(className name, ' ', selector) -> #loadFromMessage:                        
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   914
                ]
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   915
            ]
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   916
        ]
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   917
    ].
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   918
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   919
    self hasClassAndSelector value:validClSl.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   920
    self modified:false.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   921
    hasChanged := false.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   922
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   923
    listOfTabs notEmpty ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   924
        self selectionHolder value:1
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   925
    ].
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   926
3343d860b400 help texts added
tz
parents: 575
diff changeset
   927
    self updateInfoLabel
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   928
!
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   929
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   930
loadFromMessage:aMessage
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   931
    "load tabs from class and selector derived from history
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   932
    "
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   933
    |msg cls|
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   934
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   935
    aMessage notNil ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   936
        msg := aMessage asCollectionOfWords.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   937
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   938
        (msg size == 2 and:[(cls := self resolveName:(msg at:1)) notNil]) ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   939
            self buildFrom:cls andSelector:((msg at:2) asSymbol)
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   940
        ]
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   941
    ]
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   942
! !
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   943
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   944
!TabItemEditor methodsFor:'change & update'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   945
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   946
update:something with:aParameter from:someObject
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   947
    "one of my aspects has changed; update modified channel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   948
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   949
    self modified:true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   950
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   951
    someObject = self testMode
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   952
    ifTrue:
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   953
    [              
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   954
        someObject value
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   955
            ifTrue: [self doTest]
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   956
            ifFalse:[testView lower. self selectionHolder value:1].
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   957
575
7c5fcbde34b8 some corrections
tz
parents: 570
diff changeset
   958
        self updateInfoLabel
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   959
    ]
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   960
! !
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   961
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   962
!TabItemEditor methodsFor:'help'!
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   963
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   964
defaultInfoLabel
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   965
582
3343d860b400 help texts added
tz
parents: 575
diff changeset
   966
    self testMode value
3343d860b400 help texts added
tz
parents: 575
diff changeset
   967
        ifTrue:  [^'Test mode']
3343d860b400 help texts added
tz
parents: 575
diff changeset
   968
        ifFalse: [
3343d860b400 help texts added
tz
parents: 575
diff changeset
   969
        className isNil ifTrue: [^'No tab list class defined'].
3343d860b400 help texts added
tz
parents: 575
diff changeset
   970
        ^className name, ' >> ', selector printString]
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   971
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   972
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   973
!TabItemEditor methodsFor:'selection'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   974
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   975
selectedIndex
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   976
    ^ selectedIndex
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   977
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   978
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   979
selectedIndex:anIndex
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   980
    |s oldSel|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   981
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   982
    self listOfLabels notEmpty ifTrue: [self canShowTestMode value: true].
575
7c5fcbde34b8 some corrections
tz
parents: 570
diff changeset
   983
    anIndex notNil ifTrue: [self testMode value: false].
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
   984
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   985
    oldSel := selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   986
    selectedIndex := anIndex ? 0.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   987
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   988
    selectedIndex == oldSel ifTrue:[^ self].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   989
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   990
    oldSel == 0 ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   991
        self specChannel value:(self class tabSpec)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   992
    ] ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   993
        selectedIndex == 0 ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   994
            self specChannel value:nil
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   995
        ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   996
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
   997
    self cancel.
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   998
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
   999
    testView notNil ifTrue:[
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1000
        testView lower.
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1001
    ].
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1002
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1003
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1004
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1005
!TabItemEditor methodsFor:'startup / release'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1006
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1007
closeRequest
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1008
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1009
    hasChanged ifTrue:[
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
  1010
        ( YesNoBox title:'Tab spec was modified!!'
7a4749b25748 style revised
tz
parents: 514
diff changeset
  1011
                 yesText:'Waste it and proceed'
7a4749b25748 style revised
tz
parents: 514
diff changeset
  1012
                  noText:'Cancel'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1013
        ) confirm ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1014
            ^ self
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1015
        ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1016
        hasChanged := false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1017
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1018
    super closeRequest.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1019
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1020
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1021
initialize
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1022
    "setup aspects used by column description specifications
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1023
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1024
    |holder|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1025
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1026
    super initialize.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1027
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1028
    aspects       := IdentityDictionary new.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1029
    listOfTabs    := OrderedCollection new.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1030
    hasChanged    := false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1031
    selectedIndex := 0.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1032
    rebuildMode   := false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1033
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1034
   #(
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1035
        label
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1036
        translateLabel
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1037
        labelForegroundColor
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1038
        enabled
549
454a490d797f add user defined argument
ca
parents: 546
diff changeset
  1039
        editAgument
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1040
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1041
    ) do:[:aKey|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1042
        aspects at:aKey put:(holder := ValueHolder new).
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1043
        holder addDependent:self.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1044
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1045
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1046
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1047
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1048
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1049
openModalOnClass:aClass andSelector:aSelector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1050
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1051
    className := aClass.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1052
    selector  := aSelector.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1053
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1054
    super openInterfaceModal.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1055
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1056
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1057
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1058
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1059
openOnClass:aClass andSelector:aSelector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1060
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1061
    className := aClass.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1062
    selector  := aSelector.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1063
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1064
    super openInterface.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1065
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1066
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1067
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1068
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1069
postBuildWith:builder
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1070
    self buildFrom:className andSelector:selector.
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1071
    testView := builder componentAt:#TestView.
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1072
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1073
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1074
!TabItemEditor methodsFor:'user interactions'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1075
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1076
doCopyTab
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1077
    "copy selected tab
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1078
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1079
    selectedIndex ~~ 0 ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1080
        self clipboard:(listOfTabs at:selectedIndex) deepCopy
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1081
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1082
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1083
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1084
doCreateTab
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1085
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1086
    |tab|
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1087
    self testMode value: false.
553
adccf76bd9bb new items have numerated labels like the DataSetBuilder
tz
parents: 549
diff changeset
  1088
    tab := TabItem label:'Tab Item ', (listOfTabs size + 1) printString.
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1089
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1090
    listOfTabs add:tab afterIndex:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1091
    self listOfLabels add:(tab label) afterIndex:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1092
    hasChanged := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1093
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1094
    selectedIndex == 0 ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1095
        self selectionHolder value:1
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1096
    ] ifFalse:[    
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1097
        self selectionHolder value:selectedIndex + 1.
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1098
        self cancel.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1099
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1100
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1101
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1102
doCutTab
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1103
    "cut selected tab
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1104
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1105
    |list index|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1106
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1107
    (index := selectedIndex) ~~ 0 ifTrue:[
575
7c5fcbde34b8 some corrections
tz
parents: 570
diff changeset
  1108
        self testMode value: false.
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1109
        list := self listOfLabels.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1110
        self clipboard:(listOfTabs at:index) deepCopy.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1111
        self selectionHolder value:0.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1112
        listOfTabs removeIndex:index.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1113
        list removeIndex:index.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1114
        hasChanged := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1115
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1116
        index > list size ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1117
            index := index - 1
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1118
        ].
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1119
        self selectionHolder value:index.
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1120
        self listOfLabels isEmpty ifTrue: [self canShowTestMode value: false].
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1121
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1122
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1123
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1124
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1125
doDefineClassAndSelector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1126
    "launch a dialog to define class and selector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1127
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1128
    |cls sel bindings|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1129
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1130
    bindings := IdentityDictionary new.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1131
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1132
    [true] whileTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1133
        cls := className notNil ifTrue:[className name] ifFalse:['NewApplication'].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1134
        sel := selector  ? 'tabItemList'.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1135
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1136
        bindings at:#className put:cls asValue.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1137
        bindings at:#selector  put:sel asValue.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1138
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1139
        (self openDialogInterface:#nameAndSelectorSpec withBindings:bindings)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1140
        ifFalse:[ ^ self ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1141
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1142
        cls := (bindings at:#className) value withoutSeparators.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1143
        sel := (bindings at:#selector)  value withoutSeparators.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1144
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1145
        (cls := self resolveName:cls) notNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1146
            className := cls.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1147
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1148
            sel notNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1149
                selector := sel asSymbol.
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1150
                self hasClassAndSelector value:true.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1151
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1152
                listOfTabs size == 0 ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1153
                    self buildFrom:className andSelector:selector
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1154
                ].
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1155
                ^ self
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1156
            ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1157
        ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1158
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1159
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1160
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1161
doInstallAspect
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1162
    "generate aspect method
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1163
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1164
    |code|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1165
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1166
    className isNil ifTrue:[ ^ self information:'No valid class defined!!'].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1167
    selector isNil  ifTrue:[ ^ self information:'No selector defined!!'   ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1168
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1169
    (className canUnderstand:selector) ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1170
        "/ method already exists, do not overwrite the method automaticaly
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1171
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1172
        ( YesNoBox title:'method '
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1173
                         , (Text string:('#', selector) emphasis:#bold)
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1174
                         , ' already exists'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1175
                 yesText:'overwrite'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1176
                  noText:'cancel'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1177
        ) confirm ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1178
            ^ self
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1179
        ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1180
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1181
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1182
    code := '!!' , className name , ' methodsFor:''aspects''!!\\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1183
            selector , '\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1184
            '    "automatically generated by TabItem Editor ..."\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1185
            '\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1186
            '    |list|\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1187
            '\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1188
            '    (list := builder bindingAt:#' , selector , ') isNil ifTrue:[\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1189
            '        builder aspectAt:#' , selector, ' put:(list := self class ', selector, ').\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1190
            '    ].\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1191
            '    ^ list\' ,
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1192
            '!! !!\\'.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1193
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1194
    (ReadStream on:(code withCRs)) fileIn
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1195
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1196
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1197
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1198
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1199
doInstallSpec
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1200
    "generate code for class and instance
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1201
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1202
    |code spec category mthd|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1203
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1204
    (className isNil or:[selector isNil]) ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1205
        self doDefineClassAndSelector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1206
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1207
    className isNil ifTrue:[ ^ self information:'No valid class defined!!'].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1208
    selector isNil  ifTrue:[ ^ self information:'No selector defined!!'   ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1209
    listOfTabs isEmpty ifTrue:[ ^ self information:'No valid tabs defined!!' ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1210
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1211
    spec  := WriteStream on:String new.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1212
    UISpecification prettyPrintSpecArray:(listOfTabs literalArrayEncoding) on:spec indent:5.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1213
    spec := spec contents.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1214
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1215
    "/ if that method already exists, do not overwrite the category
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1216
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1217
    category := 'interface specs'.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1218
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1219
    (mthd := className class compiledMethodAt:selector) notNil ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1220
        category := mthd category.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1221
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1222
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1223
    code := Character excla asString 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1224
            , className name , ' class methodsFor:' , category storeString
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1225
            , Character excla asString , '\\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1226
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1227
            , selector , '\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1228
            , '    "this window spec was automatically generated by the ST/X TabItemEditor"\\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1229
            , '    "do not manually edit this - the builder may not be able to\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1230
            , '     handle the specification if its corrupted."\\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1231
            , '    "\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1232
            , '     TabItemEditor new openOnClass:' , className name , ' andSelector:#' , selector , '\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1233
            , '    "\'.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1234
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1235
    code := code 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1236
            , '\'
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
  1237
            , '    <resource: #tabList>\\'
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1238
            , '    ^\' 
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1239
            , '     ', spec, '\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1240
            , '      collect:[:aTab| TabItem new fromLiteralArrayEncoding:aTab ]'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1241
            , '\'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1242
            , Character excla asString
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1243
            , ' '
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1244
            , Character excla asString
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1245
            , '\\'.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1246
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1247
    code := code withCRs.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1248
    (ReadStream on:code) fileIn.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1249
    hasChanged := false.
526
7a4749b25748 style revised
tz
parents: 514
diff changeset
  1250
    self addToHistory:(className name, ' ', selector) -> #loadFromMessage:.
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1251
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1252
    (className canUnderstand:selector) ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1253
        (YesNoBox confirm:'install aspect method') ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1254
            self doInstallAspect
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1255
        ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1256
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1257
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1258
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1259
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1260
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1261
doMoveTabUpOrDown:what
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1262
    "step up or down
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1263
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1264
    |tab list index|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1265
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1266
    (selectedIndex ~~ 0 and:[listOfTabs size > 1]) ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1267
        ^ self
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1268
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1269
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1270
    list := self listOfLabels.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1271
    tab  := listOfTabs at:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1272
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1273
    list removeIndex:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1274
    listOfTabs removeIndex:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1275
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1276
    what == #down ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1277
        index := selectedIndex > list size ifTrue:[1]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1278
                                          ifFalse:[selectedIndex + 1]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1279
    ] ifFalse:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1280
        index := selectedIndex == 1 ifTrue:[list size + 1]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1281
                                   ifFalse:[selectedIndex - 1]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1282
    ].
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1283
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1284
    list add:(tab label) beforeIndex:index.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1285
    listOfTabs add:tab beforeIndex:index.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1286
    hasChanged  := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1287
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1288
    rebuildMode := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1289
    self selectionHolder value:index.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1290
    rebuildMode := false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1291
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1292
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1293
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1294
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1295
doNew
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1296
575
7c5fcbde34b8 some corrections
tz
parents: 570
diff changeset
  1297
    self testMode value: false.
7c5fcbde34b8 some corrections
tz
parents: 570
diff changeset
  1298
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1299
    self modified:false.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1300
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1301
    rebuildMode := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1302
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1303
    self selectionHolder value:0.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1304
    self listOfLabels removeAll.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1305
    listOfTabs removeAll.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1306
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1307
    testView notNil ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1308
        testView lower
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1309
    ].
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1310
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1311
    hasChanged  := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1312
    rebuildMode := false.
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1313
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1314
    self canShowTestMode value: false
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1315
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1316
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1317
doPasteTab
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1318
    "paste a tab
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1319
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1320
    |tab|
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1321
575
7c5fcbde34b8 some corrections
tz
parents: 570
diff changeset
  1322
    self testMode value: false.
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1323
    tab := self class clipboard deepCopy.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1324
    listOfTabs add:tab afterIndex:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1325
    self listOfLabels add:(tab label) afterIndex:selectedIndex.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1326
    hasChanged := true.
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1327
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1328
    selectedIndex == 0 ifTrue:[
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1329
        self selectionHolder value:1
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1330
    ] ifFalse:[    
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1331
        self selectionHolder value:selectedIndex + 1.
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1332
        self cancel.
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1333
    ]
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1334
!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1335
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1336
doReload
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1337
    "reload from class and selector
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1338
    "
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1339
    self buildFrom:className andSelector:selector
514
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1340
!
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1341
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1342
doTest
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1343
    "run a test
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1344
    "
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1345
    |tabView list|
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1346
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1347
    self selectionHolder value:nil.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1348
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1349
    listOfTabs size ~~ 0 ifTrue:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1350
        list := listOfTabs collect:[:aTab||t|
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1351
            t := aTab copy.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1352
            t setAttributesFromClass:className.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1353
            t
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1354
        ]
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1355
    ] ifFalse:[
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1356
        list := nil
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1357
    ].
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1358
    tabView  := builder componentAt:#TestTabsView.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1359
    tabView list:list.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1360
    testView raise.
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1361
5ac07e96e448 support of UIPainter
ca
parents: 500
diff changeset
  1362
570
f79a0178adc1 better test mode
tz
parents: 561
diff changeset
  1363
500
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1364
! !
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1365
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1366
!TabItemEditor class methodsFor:'documentation'!
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1367
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1368
version
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1369
    ^ '$Header$'
c18c7621f8e9 initial checkin
ca
parents:
diff changeset
  1370
! !